From ed51dab429e467fc144f0bfbed70a5291c8a0a27 Mon Sep 17 00:00:00 2001 From: Fox Caminiti Date: Sun, 21 Aug 2022 10:20:31 -0400 Subject: multisampled gl masks --- main.h | 48 +++++++++++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 21 deletions(-) (limited to 'main.h') diff --git a/main.h b/main.h index 3c7455a..122c380 100644 --- a/main.h +++ b/main.h @@ -71,6 +71,18 @@ struct cached_bitmap { uint32 Frame; // What frame it is. }; +enum action_type { + action_type_change_u16, + action_type_change_i16, + action_type_change_u32, + action_type_change_i32, + action_type_change_r32, + action_type_change_u64, + action_type_change_ptr, + action_type_change_string, + action_type_shift_keyframe +}; + enum action_entry_type { action_entry_layerinit, action_entry_default @@ -183,23 +195,15 @@ float DefaultVertices[] = { struct gl_effect_layer { + bool32 Initialized; GLuint Texture; GLuint FramebufferObject; uint32 Color_Renderbuffer; + uint32 Stencil_Renderbuffer; }; 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; @@ -239,16 +243,7 @@ struct property_channel { val ScrubVal; // increment when dragging on sliders, etc. var_type VarType; - // TODO(fox): Probably shouldn't store these in the file... - // UI - val LocalMaxVal; - val LocalMinVal; bool32 IsToggled; - bool32 IsGraphToggled; - real32 GraphLength; // represented in actual screen pixels - real32 GraphYOffset; - // The size of the window enclosing the graph - uint16 GraphWindowHeight; }; struct property_header @@ -260,7 +255,6 @@ struct property_header val MaxVal; }; - // Information about a particular file. enum source_type { @@ -298,6 +292,7 @@ struct layer_bitmap_info { int32 FrameOffset; // The "true" position of the layer, separate from StartFrame. Starts at zero and only gets incremented when the layer is moved. bool32 ToUpdate = 1; gl_effect_layer Test; + gl_effect_layer TestM; // TODO(fox): Find a better place to store this. Either give effects a more // fleshed-out API to add things to a struct like this or integrate into ImGui. @@ -541,6 +536,14 @@ enum focused_window focus_timeline }; +struct ui_graph { + property_channel *ChannelViewed; + real32 WindowYOffset = 300; + real32 UpperVal; + real32 LowerVal; + uint16 GraphWindowHeight; // The size of the window enclosing the graph +}; + struct ui { real32 TimelineSplit = 600; @@ -578,6 +581,9 @@ struct ui focused_window FocusedWindow; // Convenience for adding window-specific hotkeys. + ui_graph Graph[4]; + uint16 NumberOfGraphsEnabled; + bool32 TemporaryUpdateOverride; }; @@ -612,7 +618,7 @@ struct timeline_properties uint16 FramePadding; uint16 LayerPadding; uint16 TimelineCurrentFrame; - int16 TimelineCurrentLayer; + int16 TimelineCurrentLayer; // Signed as a shortcut for invalid on -1 uint16 InfoTimelineSplit; bool32 DrawTimeline; bool32 DrawEffectPanel; -- cgit v1.2.3