diff options
| author | Randy Palamar <randy@rnpnr.xyz> | 2025-12-01 22:08:13 -0700 |
|---|---|---|
| committer | Randy Palamar <randy@rnpnr.xyz> | 2025-12-16 11:28:44 -0700 |
| commit | 65dd46e0bba74948c824370a06e509cba462cd72 (patch) | |
| tree | b6055982318341cffa5d357b8e252f4a3661da6c /vis.h | |
| parent | a98a1850640ca709ed68df3ca57f0404bbc4d3fc (diff) | |
| download | vis-65dd46e0bba74948c824370a06e509cba462cd72.tar.gz vis-65dd46e0bba74948c824370a06e509cba462cd72.tar.xz | |
main: make vis instance into a global
This might be controversial to some but for the purposes of the
editor there will never be more than one instance of vis. This
allows the compiler to use more efficient rip relative addressing
in the places where it knows the code is referring to the global
instance.
Once the code is compiling in a single translation unit with all
functions declared static this will allow for much better
optimization.
From the perspective that vis is meant to be a library, which is
what Marc clearly intended, changing vis_new() to vis_init() and
vis_free() to vis_cleanup() is still better design. The library
user should be allowed to place the vis instance wherever they
want in memory.
Diffstat (limited to 'vis.h')
| -rw-r--r-- | vis.h | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -99,10 +99,13 @@ typedef struct { * @defgroup vis_lifecycle Vis Lifecycle * @{ */ -/** Create a new editor instance. */ -Vis *vis_new(void); -/** Free all resources associated with this editor instance, terminates UI. */ -void vis_free(Vis*); +/** + * Initializes a new editor instance. + * @param vis The editor instance. + */ +bool vis_init(Vis*); +/** Release all resources associated with this editor instance, terminates UI. */ +void vis_cleanup(Vis*); /** * Enter main loop, start processing user input. * @param vis The editor instance. |
