synfig-core
1.0.3
|
This is a Target class that implements the render fucntion for a CairoSurface. More...
#include <target_cairo.h>
Public Types | |
typedef etl::handle< Target_Cairo > | Handle |
Number of threads to use. | |
typedef etl::loose_handle < Target_Cairo > | LooseHandle |
typedef etl::handle< const Target_Cairo > | 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 () | |
Default constructor (current frame = 0) | |
virtual bool | render (ProgressCallback *cb=NULL) |
Renders the canvas to the target. | |
virtual bool | obtain_surface (cairo_surface_t *&)=0 |
virtual int | next_frame (Time &time) |
virtual bool | put_surface (cairo_surface_t *surface, ProgressCallback *cb=NULL) |
Puts the rendered surface onto the target. | |
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.
typedef etl::handle<Target_Cairo> synfig::Target_Cairo::Handle |
Number of threads to use.
typedef etl::loose_handle<Target_Cairo> synfig::Target_Cairo::LooseHandle |
typedef etl::handle<const Target_Cairo> synfig::Target_Cairo::ConstHandle |
Target_Cairo::Target_Cairo | ( | ) |
Default constructor (current frame = 0)
|
virtual |
Renders the canvas to the target.
Implements synfig::Target.
References _, synfig::Context::accelerated_cairorender(), synfig::ProgressCallback::amount_complete(), synfig::CAIRO, synfig::ProgressCallback::error(), synfig::optimize_layers(), and synfig::Context::set_render_method().
|
pure virtual |
Obtain a surface pointer based on the render method this function has to be overrrided by the derived targets to create the proper Cairo backend surface for each target type.
Implemented in cairo_png_trgt.
|
virtual |
Returns the number of peniding frames to render. If it is zero it stops rendering frames.
Reimplemented from synfig::Target.
|
virtual |
Puts the rendered surface onto the target.
Reimplemented in cairo_png_trgt.
References _, and synfig::ProgressCallback::error().
|
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().
Referenced by cairo_png_trgt::put_surface().