Skip to content

Commit

Permalink
Add Canvas::flush and Canvas::finish
Browse files Browse the repository at this point in the history
  • Loading branch information
sammycage committed May 24, 2024
1 parent 0413b10 commit 9758e86
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 0 deletions.
2 changes: 2 additions & 0 deletions include/plutobook.h
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,8 @@ typedef struct _cairo_surface cairo_surface_t;
typedef struct _cairo cairo_t;

PLUTOBOOK_API void plutobook_canvas_destroy(plutobook_canvas_t* canvas);
PLUTOBOOK_API void plutobook_canvas_flush(plutobook_canvas_t* canvas);
PLUTOBOOK_API void plutobook_canvas_finish(plutobook_canvas_t* canvas);
PLUTOBOOK_API void plutobook_canvas_translate(plutobook_canvas_t* canvas, float tx, float ty);
PLUTOBOOK_API void plutobook_canvas_scale(plutobook_canvas_t* canvas, float sx, float sy);
PLUTOBOOK_API void plutobook_canvas_rotate(plutobook_canvas_t* canvas, float angle);
Expand Down
10 changes: 10 additions & 0 deletions include/plutobook.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,16 @@ class PLUTOBOOK_API Canvas {
*/
virtual ~Canvas();

/**
* @brief flush
*/
void flush();

/**
* @brief finish
*/
void finish();

/**
* @brief Translates the origin of the coordinate system.
* @param tx The horizontal translation distance.
Expand Down
14 changes: 14 additions & 0 deletions source/plutobook.cc
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,20 @@ void plutobook_canvas_destroy(plutobook_canvas_t* canvas)
std::free(canvas);
}

void plutobook_canvas_flush(plutobook_canvas_t* canvas)
{
if(canvas == NULL)
return;
cairo_surface_flush(canvas->surface);
}

void plutobook_canvas_finish(plutobook_canvas_t* canvas)
{
if(canvas == NULL)
return;
cairo_surface_finish(canvas->surface);
}

void plutobook_canvas_translate(plutobook_canvas_t* canvas, float tx, float ty)
{
if(canvas == nullptr)
Expand Down
10 changes: 10 additions & 0 deletions source/plutobook.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,16 @@ Canvas::~Canvas()
plutobook_canvas_destroy(m_canvas);
}

void Canvas::flush()
{
plutobook_canvas_flush(m_canvas);
}

void Canvas::finish()
{
plutobook_canvas_finish(m_canvas);
}

void Canvas::translate(float tx, float ty)
{
plutobook_canvas_translate(m_canvas, tx, ty);
Expand Down

0 comments on commit 9758e86

Please sign in to comment.