summaryrefslogtreecommitdiff
path: root/main.h
diff options
context:
space:
mode:
Diffstat (limited to 'main.h')
-rw-r--r--main.h27
1 files changed, 22 insertions, 5 deletions
diff --git a/main.h b/main.h
index e77042f..4e48fc5 100644
--- a/main.h
+++ b/main.h
@@ -29,10 +29,12 @@ enum memory_table_list {
// B = cached data, often cleared
P_AVInfo,
- P_SourceBitmapTable,
P_VectorPoints,
- P_MiscCache, // don't put this in final
+ P_UndoBuffer,
+ P_MiscCache,
+ // The structs that these four blocks correspond to (project_layer, effect,
+ // keyframe_block, char[STRING_SIZE]) are guranteed equal size.
F_Layers,
F_Effects,
F_Keyframes,
@@ -165,6 +167,17 @@ struct gl_effect_layer {
static gl_vertex_shader GL_Vertices;
+enum action_change_type {
+ action_change_u16,
+ action_change_i16,
+ action_change_u32,
+ action_change_i32,
+ action_change_r32,
+ action_change_u64,
+ action_change_ptr,
+ action_change_string,
+};
+
union val {
real32 f;
v4 col;
@@ -180,6 +193,9 @@ struct keyframe {
// Probably should think of something smarter.
v2 TangentLeft;
v2 TangentRight;
+ // NOTE(fox): We need some sort of unique constant to give to ImGui in
+ // order for dragging to work.
+ uint32 ImguiID;
};
struct keyframe_block {
@@ -189,7 +205,6 @@ struct keyframe_block {
struct property_channel {
char *Name;
keyframe_block *KeyframeBlock[MAX_KEYFRAME_BLOCKS];
- uint16 SortedIndex[MAX_KEYFRAME_BLOCKS * MAX_KEYFRAMES_PER_BLOCK];
uint16 NumberOfKeyframeBlocks;
uint16 NumberOfSelectedKeyframes;
uint16 NumberOfTotalKeyframes;
@@ -299,8 +314,6 @@ struct effect {
bool32 IsActive = 1;
};
-
-
struct transform_info {
real32 XAxisPX;
real32 XAxisPY;
@@ -323,6 +336,7 @@ struct transform_info {
struct mask_point {
v2 Pos;
bool32 HandleBezier;
+ bool32 IsSelected;
v2 TangentLeft;
v2 TangentRight;
};
@@ -330,6 +344,7 @@ struct mask_point {
struct mask {
mask_point Point[16];
uint16 NumberOfPoints;
+ uint16 NumberOfSelectedPoints;
void *TriangulatedPointCache;
uint32 NumberOfVerts;
};
@@ -435,6 +450,8 @@ enum selection_type
selection_layer,
selection_effect,
selection_keyframe,
+ selection_maskpoint,
+ selection_source
};
enum tool {