summaryrefslogtreecommitdiff
path: root/main.h
diff options
context:
space:
mode:
Diffstat (limited to 'main.h')
-rw-r--r--main.h31
1 files changed, 25 insertions, 6 deletions
diff --git a/main.h b/main.h
index 37701e4..2bda728 100644
--- a/main.h
+++ b/main.h
@@ -128,6 +128,19 @@ struct render_state
cache_entry Entry[2048];
};
+struct render_queue_item
+{
+ bool32 Type;
+ v2 Pos;
+};
+
+struct render_queue
+{
+ uint16 Playhead;
+ uint16 CurrentIdx;
+ render_queue_item Item[512];
+};
+
enum focused_window
{
focus_viewport,
@@ -139,7 +152,6 @@ struct sorted_property_info
{
uint32 MinYIndex;
uint32 MaxYIndex;
- bool32 IsGraphSelected;
};
struct sorted_comp_info
@@ -200,11 +212,12 @@ struct brush_state
{
ImVec2 UIPos; // Initial position when ctrl is held
real32 Size = 256; // Maxes at 1024 for now
- real32 Hardness = 1.0f; // From 1 to 100
+ real32 Hardness = 0.55f; // From 1 to 100
real32 Spacing = 1.0f;
bool32 EraseMode = 0;
brush_type Type = brush_normal;
GLuint GLTexture;
+ v2 PrevPos;
void *PaintBuffer;
void *TransientBitmap;
uint32 LayerToPaint_Index = -1;
@@ -254,10 +267,11 @@ struct interact_transform
enum hotkey_input
{
hotkey_none,
- hotkey_transform,
- hotkey_copy,
- hotkey_paste,
- hotkey_togglechannels
+ hotkey_newpaintlayer,
+ hotkey_newlayerfromsource,
+ hotkey_deletelayer,
+ hotkey_undo,
+ hotkey_redo,
};
enum property_display_type
@@ -330,6 +344,7 @@ struct project_state
bool32 DebugDisableCache = 1;
render_state Render;
+ render_queue Queue;
int32 Frame_Current;
tool Tool = tool_default;
@@ -630,11 +645,14 @@ struct direct_info {
real32 BufferPitch;
render_byte_info BufferBits;
+ real32 Opacity;
+
blend_mode BlendMode;
rectangle ClipRect;
void *SourceBuffer;
bool32 SwapActive;
+ bool32 OnlyBlendAlpha;
};
struct brush_info {
@@ -649,6 +667,7 @@ struct brush_info {
int BytesPerPixel;
int SourceWidth;
int SourceBytesPerPixel;
+ void *SourceBuffer;
void *BrushBuffer;
real32 R_Brush;
real32 G_Brush;