libtiger  0.3.4
Functions
Renderer

Functions

int tiger_renderer_create (tiger_renderer **tr)
 
int tiger_renderer_set_buffer (tiger_renderer *tr, unsigned char *ptr, int width, int height, int stride, int swap_rgb)
 
int tiger_renderer_set_quality (tiger_renderer *tr, double quality)
 
int tiger_renderer_destroy (tiger_renderer *tr)
 
int tiger_renderer_set_surface_clear_color (tiger_renderer *tr, int clear, double r, double g, double b, double a)
 
int tiger_renderer_add_event (tiger_renderer *tr, const kate_info *ki, const kate_event *ev)
 
int tiger_renderer_update (tiger_renderer *tr, kate_float t, int track)
 
int tiger_renderer_seek (tiger_renderer *tr, kate_float target)
 
int tiger_renderer_render (tiger_renderer *tr)
 
int tiger_renderer_is_dirty (const tiger_renderer *tr)
 
int tiger_renderer_set_default_font_description (tiger_renderer *tr, const char *desc)
 
int tiger_renderer_set_default_font (tiger_renderer *tr, const char *font)
 
int tiger_renderer_set_default_font_size (tiger_renderer *tr, double size)
 
int tiger_renderer_set_default_font_color (tiger_renderer *tr, double r, double g, double b, double a)
 
int tiger_renderer_set_default_background_fill_color (tiger_renderer *tr, double r, double g, double b, double a)
 
int tiger_renderer_set_default_font_effect (tiger_renderer *tr, tiger_font_effect effect, double strength)
 
int tiger_renderer_enable_caching (tiger_renderer *tr, int enable)
 

Detailed Description

Function Documentation

int tiger_renderer_add_event ( tiger_renderer *  tr,
const kate_info *  ki,
const kate_event *  ev 
)

Adds an event to the renderer

Parameters
trthe Tiger renderer to add the event to
kithe kate_info for the stream this events belongs to
evthe event to add to the renderer
Returns
0 success
TIGER_E_* error

References TIGER_E_INVALID_PARAMETER, and TIGER_E_OUT_OF_MEMORY.

int tiger_renderer_create ( tiger_renderer **  tr)

Creates a new Tiger renderer

Parameters
trwhere to store a pointer to the newly created renderer
Returns
0 success
TIGER_E_* error

References TIGER_E_BAD_SURFACE_TYPE, TIGER_E_CAIRO_ERROR, TIGER_E_INVALID_PARAMETER, and TIGER_E_OUT_OF_MEMORY.

int tiger_renderer_destroy ( tiger_renderer *  tr)

Destroys a previously initialized Tiger renderer

Parameters
trthe Tiger renderer to clear
Returns
0 success
TIGER_E_* error

References TIGER_E_INVALID_PARAMETER.

int tiger_renderer_enable_caching ( tiger_renderer *  tr,
int  enable 
)

Enables or disables internal caching of text layouts

Parameters
trthe Tiger renderer for which to enable or disable caching
enablewhether to enable or disable caching
Returns
0 success
TIGER_E_* error
int tiger_renderer_is_dirty ( const tiger_renderer *  tr)

Checks whether the Tiger renderer is dirty or not (eg, whether rendering a frame now would yield a different frame from the previous frame).

Parameters
trthe Tiger renderer to query
Returns
0 success, and the Tiger renderer is not dirrty
!0 success, the Tiger renderer is dirty
Note
The client code may choose not to call tiger_renderer_render if the renderer is not dirty as an optimization. However, care should be taken if the buffer the frame was rendered onto was changed (eg, if a new video frame was drawn onto it); in this case, a new frame should be rendered on top of the video, even if the Tiger frame would be the same as the previous frame, as it would have been erased by the video.
int tiger_renderer_render ( tiger_renderer *  tr)

Renders the current state of the renderer

Parameters
trthe Tiger renderer to update
Returns
0 success
TIGER_E_* error

References TIGER_E_INVALID_PARAMETER.

int tiger_renderer_seek ( tiger_renderer *  tr,
kate_float  target 
)

Registers that a seek occured

Parameters
trthe Tiger renderer on which the seek occured
targetthe target time of the seek
Returns
0 success
TIGER_E_* error

References TIGER_E_INVALID_PARAMETER.

int tiger_renderer_set_buffer ( tiger_renderer *  tr,
unsigned char *  ptr,
int  width,
int  height,
int  stride,
int  swap_rgb 
)

Sets a buffer where to render the Kate stream. This buffer should be a linear buffer with 32 bits per pixel, with 8 bits per color component in ARGB order (or ABGR is swap_rgb is non zero) in host endianness. This buffer will be used as backing store for a Cairo surface, so any other requirement by Cairo also applies here.

Parameters
trthe Tiger renderer for which to set the buffer
ptrthe data to use as backing store for the Cairo surface
widththe width of the Cairo surface to create
heightthe height of the Cairo surface to create
stridethe stride of the Cairo surface to create
swap_rgbif non zero, red and blue components are swapped
Returns
0 success
TIGER_E_* error

References TIGER_E_CAIRO_ERROR, and TIGER_E_INVALID_PARAMETER.

int tiger_renderer_set_default_background_fill_color ( tiger_renderer *  tr,
double  r,
double  g,
double  b,
double  a 
)

Sets the default font color to use for background. The default is to not fill the background (though a Kate event may specify a background), but in cases where the text may be hard to read over a video, specifying a background fill color will allow the text to stand out more.

Parameters
trthe Tiger renderer for which to set the background fill color
rthe red component of the background fill color, in the 0-1 range
gthe green component of the background fill color, in the 0-1 range
bthe blue component of the background fill color, in the 0-1 range
athe alpha component of the background fill color, in the 0-1 range
Returns
0 success
TIGER_E_* error

References TIGER_E_INVALID_PARAMETER.

int tiger_renderer_set_default_font ( tiger_renderer *  tr,
const char *  font 
)

Sets the default font to use if none is specified

Parameters
trthe Tiger renderer for which to set the default font
fontthe font to use as default, a copy of which is made
Returns
0 success
TIGER_E_* error

References TIGER_E_INVALID_PARAMETER, and TIGER_E_OUT_OF_MEMORY.

int tiger_renderer_set_default_font_color ( tiger_renderer *  tr,
double  r,
double  g,
double  b,
double  a 
)

Sets the default font color to use if none is specified

Parameters
trthe Tiger renderer for which to set the default font color
rthe red component of the default color, in the 0-1 range
gthe green component of the default color, in the 0-1 range
bthe blue component of the default color, in the 0-1 range
athe alpha component of the default color, in the 0-1 range
Returns
0 success
TIGER_E_* error

References TIGER_E_INVALID_PARAMETER.

int tiger_renderer_set_default_font_description ( tiger_renderer *  tr,
const char *  desc 
)

Sets the default font description to use if no override is specified

Parameters
trthe Tiger renderer for which to set the default font
descthe font description to use as default
Returns
0 success
TIGER_E_* error

References TIGER_E_INVALID_PARAMETER, and TIGER_E_OUT_OF_MEMORY.

int tiger_renderer_set_default_font_effect ( tiger_renderer *  tr,
tiger_font_effect  effect,
double  strength 
)

Sets the default font effect. The default is to have no effect (tiger_font_plain).

Parameters
trthe Tiger renderer for which to set which font effect to use
effectthe font effect to use
strengthhow pronounced to make the effect (effect dependent)
Returns
0 success
TIGER_E_* error

References TIGER_E_INVALID_PARAMETER.

int tiger_renderer_set_default_font_size ( tiger_renderer *  tr,
double  size 
)

Sets the default font size to use if none is specified

Parameters
trthe Tiger renderer for which to set the default font size
sizethe font size to use as default
Returns
0 success
TIGER_E_* error

References TIGER_E_INVALID_PARAMETER, and TIGER_E_OUT_OF_MEMORY.

int tiger_renderer_set_quality ( tiger_renderer *  tr,
double  quality 
)

Sets a relative quality for the rendering

Parameters
trthe Tiger renderer for which to set the quality
qualityrendering quality, between 0 (lowest, fastest) and 1 (highest, slowest), or negative for default quality
Returns
0 success
TIGER_E_* error

References TIGER_E_INVALID_PARAMETER, and TIGER_E_NOT_FOUND.

int tiger_renderer_set_surface_clear_color ( tiger_renderer *  tr,
int  clear,
double  r,
double  g,
double  b,
double  a 
)

Sets whether to clear the surface before rendering, and the clearing color

Parameters
trthe Tiger renderer to modify
clearwhether to clear before rendering
rthe red value of the clear color
gthe green value of the clear color
bthe blue value of the clear color
athe alpha value of the clear color
Returns
0 success
TIGER_E_* error

References TIGER_E_INVALID_PARAMETER.

int tiger_renderer_update ( tiger_renderer *  tr,
kate_float  t,
int  track 
)

Updates the renderer at the new time

Parameters
trthe Tiger renderer to update
tthe time to update to renderer to
trackwhether to update item trackers
Returns
0 success
1 success, but no Kate events are currently active
TIGER_E_* error
Note
Even if 0 is returned, a call to draw may not actually change the rendering surface, for instance if all active Kate events have a text with fully transparent color and no background, etc.

References TIGER_E_INVALID_PARAMETER.