00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef TIGER_tiger_h_GUARD
00022 #define TIGER_tiger_h_GUARD
00023
00028 #include <stddef.h>
00029 #include <cairo/cairo.h>
00030 #include <kate/kate.h>
00031 #include "tiger/tiger_config.h"
00032
00035 #define TIGER_VERSION_MAJOR 0
00036 #define TIGER_VERSION_MINOR 3
00037 #define TIGER_VERSION_PATCH 1
00040 typedef struct tiger_renderer tiger_renderer;
00041
00042 typedef enum {
00043 tiger_font_plain,
00044 tiger_font_shadow,
00045 tiger_font_outline
00046 } tiger_font_effect;
00047
00048 #ifdef __cplusplus
00049 extern "C" {
00050 #endif
00051
00053 extern int tiger_get_version(void);
00054 extern const char *tiger_get_version_string(void);
00055
00057 extern int tiger_renderer_create(tiger_renderer **tr);
00058 extern int tiger_renderer_set_cairo_surface(tiger_renderer *tr,cairo_surface_t *cs);
00059 extern int tiger_renderer_set_buffer(tiger_renderer *tr,unsigned char *ptr,int width,int height,int stride,int swap_rgb);
00060 extern int tiger_renderer_set_surface_clear_color(tiger_renderer *tr,int clear,double r,double g,double b,double a);
00061 extern int tiger_renderer_set_quality(tiger_renderer *tr,double quality);
00062 extern int tiger_renderer_add_event(tiger_renderer *tr,const kate_info *ki,const kate_event *ev);
00063 extern int tiger_renderer_update(tiger_renderer *tr,kate_float t,int track);
00064 extern int tiger_renderer_seek(tiger_renderer *tr, kate_float target);
00065 extern int tiger_renderer_render(tiger_renderer *tr);
00066 extern int tiger_renderer_destroy(tiger_renderer *tr);
00067 extern int tiger_renderer_is_dirty(const tiger_renderer *tr);
00068 extern int tiger_renderer_enable_caching(tiger_renderer *tr,int enable);
00069
00070 extern int tiger_renderer_set_default_font_description(tiger_renderer *tr,const char *desc);
00071 extern int tiger_renderer_set_default_font(tiger_renderer *tr,const char *font);
00072 extern int tiger_renderer_set_default_font_size(tiger_renderer *tr,double size);
00073 extern int tiger_renderer_set_default_font_color(tiger_renderer *tr,double r,double g, double b,double a);
00074
00075 extern int tiger_renderer_set_default_background_fill_color(tiger_renderer *tr,double r,double g,double b,double a);
00076 extern int tiger_renderer_set_default_font_effect(tiger_renderer *tr,tiger_font_effect effect,double strength);
00077
00078 #ifdef DEBUG
00079
00080 extern int tiger_renderer_enable_debug(tiger_renderer *tr,int debug);
00081 #endif
00082
00083 #ifdef __cplusplus
00084 }
00085 #endif
00086
00089
00090 #define TIGER_E_NOT_FOUND (-1001)
00091 #define TIGER_E_INVALID_PARAMETER (-1002)
00092 #define TIGER_E_OUT_OF_MEMORY (-1003)
00093 #define TIGER_E_CAIRO_ERROR (-1004)
00094 #define TIGER_E_BAD_SURFACE_TYPE (-1005)
00097 #endif
00098