diff options
author | Fox Caminiti <fox@foxcam.net> | 2022-08-16 15:06:45 -0400 |
---|---|---|
committer | Fox Caminiti <fox@foxcam.net> | 2022-08-16 15:06:45 -0400 |
commit | e89dc91182a94e48ca9220a2fe075db680ddff04 (patch) | |
tree | a277c1e38293f92e635c981ad2f6b0d84d103e09 /main.h | |
parent | 04b7ccfd87d802e6b9a22b86c8d098979164b8ba (diff) |
undo functional
Diffstat (limited to 'main.h')
-rw-r--r-- | main.h | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -67,10 +67,31 @@ struct cached_bitmap { uint32 Frame; // What frame it is. }; +// Some actions may require a higher-level function to undo to a satisfactory +// standard, so actions are allowed to do more than just set/swap single values. +enum action_entry_type { + action_entry_layerinit, + action_entry_default +}; + +struct action_entry { + char *Name; + action_entry_type Type; + void *ExtraPointer; + uint16 NumberOfActions; +}; + +struct action_entries { + action_entry Entry[1024]; + uint16 Index; + uint16 NumberOfEntries; +}; + struct memory { memory_table Slot[16]; cached_bitmap Bitmap[4096]; void *Scratch; // 64 MB of data + action_entries Action; }; struct property_channel; @@ -486,6 +507,7 @@ struct project_state selection_type RecentSelectionType = selection_none; bool32 IsInteracting; + real32 InteractCache[4]; // we need to store the initial position in order to record it in the undo tree transforms_hotkey_interact TransformsHotkeyInteract; int32 MsgTime; // currently in "frames" |