libmypaint
1.6.0
|
Tile-backed implementation of MyPaintSurface2. More...
#include <mypaint-tiled-surface.h>
Public Types | |
typedef void(* | MyPaintTileRequestStartFunction2) (MyPaintTiledSurface2 *self, MyPaintTileRequest *request) |
Functionally equivalent to MyPaintTileRequestStartFunction. More... | |
typedef void(* | MyPaintTileRequestEndFunction2) (MyPaintTiledSurface2 *self, MyPaintTileRequest *request) |
Functionally equivalent to MyPaintTileRequestEndFunction. More... | |
Public Member Functions | |
void | mypaint_tiled_surface2_init (MyPaintTiledSurface2 *self, MyPaintTileRequestStartFunction2 tile_request_start, MyPaintTileRequestEndFunction2 tile_request_end) |
Initialize the surface by providing the tile request implementations. More... | |
void | mypaint_tiled_surface2_begin_atomic (MyPaintTiledSurface2 *self) |
Prepare the surface for handling a set of dab operations. More... | |
void | mypaint_tiled_surface2_end_atomic (MyPaintTiledSurface2 *self, MyPaintRectangles *roi) |
Finalize any pending dab operations and set the resulting invalidation rectangles. More... | |
void | mypaint_tiled_surface2_tile_request_start (MyPaintTiledSurface2 *self, MyPaintTileRequest *request) |
Finalize any pending dab operations and set the resulting invalidation rectangles. More... | |
void | mypaint_tiled_surface2_tile_request_end (MyPaintTiledSurface2 *self, MyPaintTileRequest *request) |
Finalize any pending dab operations and set the resulting invalidation rectangles. More... | |
void | mypaint_tiled_surface2_destroy (MyPaintTiledSurface2 *self) |
Deallocate all resources used by the surface struct, and the struct itself. More... | |
void | mypaint_tiled_surface2_set_symmetry_state (MyPaintTiledSurface2 *self, gboolean active, float center_x, float center_y, float symmetry_angle, MyPaintSymmetryType symmetry_type, int rot_symmetry_lines) |
Set new symmetry_data values and mark it for update. More... | |
Data Fields | |
MyPaintSurface2 | parent |
Parent interface. More... | |
MyPaintTileRequestStartFunction2 | tile_request_start |
See MyPaintTileRequestStartFunction2. More... | |
MyPaintTileRequestEndFunction2 | tile_request_end |
See MyPaintTileRequestEndFunction2. More... | |
struct OperationQueue * | operation_queue |
Per-tile queue of pending dab operations. More... | |
gboolean | threadsafe_tile_requests |
Whether tile requests shuold be considered thread-safe or not. More... | |
int | tile_size |
MyPaintSymmetryData | symmetry_data |
The symmetry data used. More... | |
int | num_bboxes |
Length of bboxes. More... | |
int | num_bboxes_dirtied |
The number of bboxes that have been modified since they were last reset. More... | |
MyPaintRectangle * | bboxes |
Pointer to an array of invalidation rectangles. More... | |
Tile-backed implementation of MyPaintSurface2.
Apart from the additional calls of MyPaintSurface2, this implementation supports additional symmetry types, and the ability to adjust the symmetry angle - it is otherwise identical to MyPaintTiledSurface.
typedef void(* MyPaintTileRequestEndFunction2) (MyPaintTiledSurface2 *self, MyPaintTileRequest *request) |
Functionally equivalent to MyPaintTileRequestEndFunction.
typedef void(* MyPaintTileRequestStartFunction2) (MyPaintTiledSurface2 *self, MyPaintTileRequest *request) |
Functionally equivalent to MyPaintTileRequestStartFunction.
void mypaint_tiled_surface2_begin_atomic | ( | MyPaintTiledSurface2 * | self | ) |
Prepare the surface for handling a set of dab operations.
void mypaint_tiled_surface2_destroy | ( | MyPaintTiledSurface2 * | self | ) |
Deallocate all resources used by the surface struct, and the struct itself.
void mypaint_tiled_surface2_end_atomic | ( | MyPaintTiledSurface2 * | self, |
MyPaintRectangles * | roi | ||
) |
Finalize any pending dab operations and set the resulting invalidation rectangles.
void mypaint_tiled_surface2_init | ( | MyPaintTiledSurface2 * | self, |
MyPaintTileRequestStartFunction2 | tile_request_start, | ||
MyPaintTileRequestEndFunction2 | tile_request_end | ||
) |
Initialize the surface by providing the tile request implementations.
Allocates the resources necessary for the surface to function.
void mypaint_tiled_surface2_set_symmetry_state | ( | MyPaintTiledSurface2 * | self, |
gboolean | active, | ||
float | center_x, | ||
float | center_y, | ||
float | symmetry_angle, | ||
MyPaintSymmetryType | symmetry_type, | ||
int | rot_symmetry_lines | ||
) |
Set new symmetry_data values and mark it for update.
void mypaint_tiled_surface2_tile_request_end | ( | MyPaintTiledSurface2 * | self, |
MyPaintTileRequest * | request | ||
) |
Finalize any pending dab operations and set the resulting invalidation rectangles.
void mypaint_tiled_surface2_tile_request_start | ( | MyPaintTiledSurface2 * | self, |
MyPaintTileRequest * | request | ||
) |
Finalize any pending dab operations and set the resulting invalidation rectangles.
MyPaintRectangle* MyPaintTiledSurface2::bboxes |
Pointer to an array of invalidation rectangles.
Records multiple invalidation rectangles when symmetry is enabled.
int MyPaintTiledSurface2::num_bboxes |
Length of bboxes.
int MyPaintTiledSurface2::num_bboxes_dirtied |
The number of bboxes that have been modified since they were last reset.
struct OperationQueue* MyPaintTiledSurface2::operation_queue |
Per-tile queue of pending dab operations.
MyPaintSurface2 MyPaintTiledSurface2::parent |
Parent interface.
MyPaintSymmetryData MyPaintTiledSurface2::symmetry_data |
The symmetry data used.
See MyPaintSymmetryData for details.
gboolean MyPaintTiledSurface2::threadsafe_tile_requests |
Whether tile requests shuold be considered thread-safe or not.
MyPaintTileRequestEndFunction2 MyPaintTiledSurface2::tile_request_end |
MyPaintTileRequestStartFunction2 MyPaintTiledSurface2::tile_request_start |
int MyPaintTiledSurface2::tile_size |