XenevaOS
Loading...
Searching...
No Matches
paint_canvas.h
Go to the documentation of this file.
1#ifndef __PAINT_CANVAS_H__
2#define __PAINT_CANVAS_H__
3
4#include <widgets/base.h>
5#include <widgets/window.h>
6#include "paint_types.h"
7
8struct PaintCanvas {
10
11 uint32_t* buffer; // Main committed pixel canvas [CANVAS_W * CANVAS_H]
12 uint32_t* previewBuffer; // Live shape rubber-band preview buffer
17
23
25 int mouseButton; // 1 = left, 2 = right
26 int startX;
27 int startY;
28 int lastX;
29 int lastY;
32
35};
36
37PaintCanvas* CreatePaintCanvas(int x, int y, int w, int h);
39
43
46
47#endif
unsigned int uint32_t
Definition acefiex.h:163
ChCanvas * canvas
Definition deomain.cpp:91
int h
Definition layout.c:118
void PaintCanvasRedo(PaintCanvas *c)
Definition paint_canvas.cpp:400
void PaintCanvasClear(PaintCanvas *c, uint32_t color)
Definition paint_canvas.cpp:422
PaintCanvas * CreatePaintCanvas(int x, int y, int w, int h)
Definition paint_canvas.cpp:308
void PaintCanvasInvert(PaintCanvas *c)
Definition paint_canvas.cpp:428
void PaintCanvasPushUndo(PaintCanvas *c)
Definition paint_canvas.cpp:360
void PaintCanvasUndo(PaintCanvas *c)
Definition paint_canvas.cpp:378
void DestroyPaintCanvas(PaintCanvas *canvas)
Definition paint_canvas.cpp:349
PaintTool
Definition paint_types.h:18
#define MAX_UNDO_LEVELS
Definition paint_types.h:16
Definition paint_canvas.h:8
uint32_t primaryColor
Definition paint_canvas.h:21
ChWidget base
Definition paint_canvas.h:9
uint32_t * previewBuffer
Definition paint_canvas.h:12
int startX
Definition paint_canvas.h:26
uint32_t * undoBuffers[MAX_UNDO_LEVELS]
Definition paint_canvas.h:13
PaintTool currentTool
Definition paint_canvas.h:18
int redoCount
Definition paint_canvas.h:16
int startY
Definition paint_canvas.h:27
int mouseButton
Definition paint_canvas.h:25
int undoCount
Definition paint_canvas.h:14
uint32_t * redoBuffers[MAX_UNDO_LEVELS]
Definition paint_canvas.h:15
PaintRect prevShapeRect
Definition paint_canvas.h:34
bool isDrawing
Definition paint_canvas.h:24
int strokeWidth
Definition paint_canvas.h:20
uint32_t * buffer
Definition paint_canvas.h:11
int currentX
Definition paint_canvas.h:30
PaintTool previousTool
Definition paint_canvas.h:19
bool shiftPressed
Definition paint_canvas.h:33
int lastY
Definition paint_canvas.h:29
int currentY
Definition paint_canvas.h:31
uint32_t secondaryColor
Definition paint_canvas.h:22
int lastX
Definition paint_canvas.h:28
Definition paint_types.h:37
Definition window.h:130
Definition i_video.h:141