add more low level drawing functions
This commit is contained in:
@@ -33,9 +33,12 @@ private:
|
||||
int V_WIDTH;
|
||||
int V_HEIGHT;
|
||||
const unsigned char (*current_font)[96][6];
|
||||
bool clipping_enabled;
|
||||
int clip_x, clip_y, clip_width, clip_height;
|
||||
void draw_corner_arc(int center_x, int center_y, int radius, int quadrant, bool on);
|
||||
void fill_bottom_flat_triangle(int x1, int y1, int x2, int y2, int x3, int y3, bool on);
|
||||
void fill_top_flat_triangle(int x1, int y1, int x2, int y2, int x3, int y3, bool on);
|
||||
bool is_point_in_clip_rect(int x, int y);
|
||||
|
||||
public:
|
||||
LowLevelRenderer(uint8_t* buffer, int width, int height);
|
||||
@@ -56,6 +59,16 @@ public:
|
||||
void draw_polygon(const std::vector<std::pair<int, int>>& points, bool on);
|
||||
void draw_filled_polygon(const std::vector<std::pair<int, int>>& points, bool on);
|
||||
void draw_arc(int center_x, int center_y, int radius, int start_angle, int end_angle, bool on);
|
||||
|
||||
// Clipping functions
|
||||
void set_clip_rect(int x, int y, int width, int height);
|
||||
void reset_clip_rect();
|
||||
bool is_clipping_enabled() const;
|
||||
|
||||
// Buffer operations
|
||||
void invert_buffer();
|
||||
void clear_buffer();
|
||||
|
||||
void draw_circle(int x, int y, int radius, bool on);
|
||||
void draw_filled_circle(int x, int y, int radius, bool on);
|
||||
void draw_char_vcol(int x, int y, char c);
|
||||
|
||||
Reference in New Issue
Block a user