From 02870398a99fab6351182fba407d7d733affa5a1 Mon Sep 17 00:00:00 2001 From: Fox Caminiti Date: Fri, 17 Feb 2023 17:20:18 -0500 Subject: blend mode rendering halfway implemented --- src/include/main.h | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src/include/main.h') diff --git a/src/include/main.h b/src/include/main.h index ac1118d..46aed98 100644 --- a/src/include/main.h +++ b/src/include/main.h @@ -218,6 +218,7 @@ enum focused_window struct sorted_property_array { + uint32 KeyframeCount; uint32 MinYIndex; uint32 MaxYIndex; }; @@ -239,6 +240,7 @@ struct sorted_layer_array uint16 Sorted_Effect_Index[MAX_EFFECTS]; uint16 SortedPropertyStart; uint16 SortedKeyframeStart; + real32 Interact_Offset[4]; }; struct sorted_file @@ -402,7 +404,9 @@ enum gl_shape_renderflags { gl_renderflag_fill = 1 << 0, gl_renderflag_stroke = 1 << 1, - gl_renderflag_convex = 1 << 2 + gl_renderflag_convex = 1 << 2, + gl_renderflag_texture = 1 << 3, + gl_renderflag_blend = 1 << 4 }; struct gl_data @@ -417,7 +421,11 @@ struct gl_data layer_transforms T; real32 Width; real32 Height; + void *BitmapData; int RenderMode; + + v2 BlendMin; + v2 BlendMax; }; struct gl_viewport_data @@ -478,8 +486,8 @@ struct project_state bool32 UpdateScreen = 1; // refreshes entire UI; influenced by raw key/mouse input bool32 DebugDisableCache = 1; + // TODO(fox): Group inconsequential state UI into one thing? bool32 ShapeMode = 0; - bool32 ViewportEnabled = 0; bool32 SelectionMode = 1; @@ -710,7 +718,8 @@ struct property_channel { uint8 Occupied; uint16 Block_Bezier_Index[MAX_KEYFRAME_BLOCKS]; uint16 Block_Bezier_Count; - uint16 Keyframe_Count; + // NOTE(fox): Don't use this in sorted circumstances; use the one in sorted_property_array instead! + uint16 Keyframe_Count; int32 Identifier; -- cgit v1.2.3