synfig-core
1.0.3
|
This is a Target class that implements the render fucntion for a CairoSurface using tile mode. More...
#include <target_cairo_tile.h>
Public Types | |
typedef etl::handle < Target_Cairo_Tile > | Handle |
typedef etl::loose_handle < Target_Cairo_Tile > | LooseHandle |
typedef etl::handle< const Target_Cairo_Tile > | ConstHandle |
Public Types inherited from synfig::Target | |
typedef etl::handle< Target > | Handle |
typedef etl::loose_handle< Target > | LooseHandle |
typedef etl::handle< const Target > | ConstHandle |
typedef Target *(* | Factory )(const char *filename, TargetParam p) |
Type that represents a pointer to a Target's constructor. | |
typedef std::map< String, BookEntry > | Book |
Book of types of targets indexed by the name of the Target. | |
typedef std::map< String, String > | ExtBook |
Book of types of targets indexed by the file extension. |
Public Member Functions | |
Target_Cairo_Tile () | |
Default constructor (current frame = 0) | |
virtual bool | render (ProgressCallback *cb=NULL) |
Renders the canvas to the target. | |
virtual int | next_tile (int &x, int &y) |
Determines which tile needs to be rendered next. | |
virtual int | next_frame (Time &time) |
virtual bool | add_tile (cairo_surface_t *surface, int x, int y)=0 |
Adds the tile at x , y contained in surface. | |
virtual int | total_tiles () const |
Returns the total tiles of the imaged rounded to integer number of tiles. | |
void | set_threads (int x) |
Sets the number of threads. | |
int | get_threads () const |
Gets the number of threads. | |
void | set_tile_w (int w) |
Sets the tile widht. | |
int | get_tile_w () const |
Gets the tile widht. | |
void | set_tile_h (int h) |
Sets the tile height. | |
int | get_tile_h () const |
Gets the tile height. | |
bool | get_clipping () const |
Gets clipping. | |
void | set_clipping (bool x) |
Sets clipping. | |
virtual bool | start_frame (ProgressCallback *cb=NULL)=0 |
Marks the start of a frame. | |
virtual void | end_frame ()=0 |
Marks the end of a frame. | |
Public Member Functions inherited from synfig::Target | |
sigc::signal< void > & | signal_progress () |
virtual | ~Target () |
int | get_quality () const |
Gets the target quality. | |
void | set_quality (int q) |
Sets the target quality. | |
void | set_avoid_time_sync (bool x=true) |
Sets the target avoid time synchronization. | |
bool | get_avoid_time_sync () const |
Gets the target avoid time synchronization. | |
TargetAlphaMode | get_alpha_mode () const |
Tells how to handle alpha. | |
void | set_alpha_mode (TargetAlphaMode x=TARGET_ALPHA_MODE_KEEP) |
Sets how to handle alpha. | |
Gamma & | gamma () |
const Gamma & | gamma () const |
Sets the target gamma. | |
virtual void | set_canvas (etl::handle< Canvas > c) |
Sets the target canvas. Must be defined by derived targets. | |
const etl::handle< Canvas > & | get_canvas () const |
Gets the target canvas. | |
RendDesc & | rend_desc () |
Gets the target particular render description. | |
const RendDesc & | rend_desc () const |
Gets the target particular render description. | |
virtual bool | set_rend_desc (RendDesc *d) |
Sets the RendDesc for the Target to desc. | |
virtual bool | init (ProgressCallback *cb=NULL) |
Initialization tasks of the derived target. |
Static Public Member Functions | |
static void | gamma_filter (cairo_surface_t *surface, const synfig::Gamma gamma) |
Filters the cairo surface based on gamma (hardcored for the moment to 2.2) | |
Static Public Member Functions inherited from synfig::Target | |
static Book & | book () |
static ExtBook & | ext_book () |
static bool | subsys_init () |
static bool | subsys_stop () |
Stops the Target module by deleting the book and the extension book. | |
static Handle | create (const String &type, const String &filename, synfig::TargetParam params) |
Creates a new Target described by type, outputting to a file described by filename. |
Additional Inherited Members | |
Public Attributes inherited from synfig::Target | |
RendDesc | desc |
Adjusted Render description set by set_rend_desc() | |
etl::handle< Canvas > | canvas |
Canvas being rendered in this target module. | |
int | quality_ |
Render quality used for the render process of the target. | |
Gamma | gamma_ |
Gamma value used for the render process of the target. | |
TargetAlphaMode | alpha_mode |
Tells how to handle alpha. Used by non alpha supported targets to decide if the background must be filled or not. | |
bool | avoid_time_sync_ |
When set to true, the target doesn't sync to canvas time. | |
int | curr_frame_ |
The current frame being rendered. | |
Static Public Attributes inherited from synfig::Target | |
static Book * | book_ |
Target Book, indexed by the target's name. | |
static ExtBook * | ext_book_ |
Map of target names indexed by associated file extension. | |
Protected Member Functions inherited from synfig::Target | |
Target () | |
Default constructor. |
This is a Target class that implements the render fucntion for a CairoSurface using tile mode.
typedef etl::handle<Target_Cairo_Tile> synfig::Target_Cairo_Tile::Handle |
typedef etl::loose_handle<Target_Cairo_Tile> synfig::Target_Cairo_Tile::LooseHandle |
typedef etl::handle<const Target_Cairo_Tile> synfig::Target_Cairo_Tile::ConstHandle |
Target_Cairo_Tile::Target_Cairo_Tile | ( | ) |
Default constructor (current frame = 0)
References synfig::Target::curr_frame_.
|
virtual |
Renders the canvas to the target.
Implements synfig::Target.
References _, synfig::ProgressCallback::amount_complete(), synfig::CAIRO, synfig::Canvas::create(), synfig::ProgressCallback::error(), synfig::optimize_layers(), and synfig::Context::set_render_method().
|
virtual |
Determines which tile needs to be rendered next.
Most cases will not have to redefine this function. The default should be adequate in nearly all situations.
References synfig::Target::rend_desc().
|
virtual |
Returns the number of peniding frames to render. If it is zero it stops rendering frames.
Reimplemented from synfig::Target.
|
pure virtual |
Adds the tile at x , y contained in surface.
|
inlinevirtual |
Returns the total tiles of the imaged rounded to integer number of tiles.
References synfig::Target::rend_desc().
|
inline |
Sets the number of threads.
|
inline |
Gets the number of threads.
|
inline |
Sets the tile widht.
|
inline |
Gets the tile widht.
|
inline |
Sets the tile height.
|
inline |
Gets the tile height.
|
inline |
Gets clipping.
|
inline |
Sets clipping.
|
pure virtual |
|
pure virtual |
Marks the end of a frame.
|
static |
Filters the cairo surface based on gamma (hardcored for the moment to 2.2)
References synfig::Gamma::b_F32_to_F32(), synfig::Gamma::g_F32_to_F32(), synfig::CairoColor::get_alpha(), synfig::CairoColor::get_b(), synfig::CairoColor::get_g(), synfig::CairoColor::get_r(), synfig::CairoSurface::map_cairo_image(), synfig::Gamma::r_F32_to_F32(), synfig::CairoColor::set_b(), synfig::CairoSurface::set_cairo_surface(), synfig::CairoColor::set_g(), synfig::CairoColor::set_r(), and synfig::CairoSurface::unmap_cairo_image().