|  |  |  | Goffice Reference Manual |  | 
|---|---|---|---|---|
                    GdkPixbuf;
enum                GtkAnchorType;
#define             GOG_RENDERER_CAIRO_WITH_SVG
#define             GOG_RENDERER_CAIRO_WITH_PDF
#define             GOG_RENDERER_CAIRO_WITH_PS
#define             GOG_RENDERER_HAIRLINE_WIDTH_PTS
#define             GOG_RENDERER_GRIP_SIZE
#define             GOG_RENDERER_TYPE
#define             GOG_RENDERER                        (o)
#define             IS_GOG_RENDERER                     (o)
#define             GOG_RENDERER_GET_CLASS              (o)
GType               gog_renderer_get_type               (void);
double              gog_renderer_line_size              (GogRenderer const *r,
                                                         double width);
double              gog_renderer_pt2r_x                 (GogRenderer const *r,
                                                         double d);
double              gog_renderer_pt2r_y                 (GogRenderer const *r,
                                                         double d);
double              gog_renderer_pt2r                   (GogRenderer const *r,
                                                         double d);
double              gog_renderer_get_hairline_width_pts (GogRenderer const *rend);
void                gog_renderer_stroke_serie           (GogRenderer *renderer,
                                                         GOPath const *path);
void                gog_renderer_fill_serie             (GogRenderer *renderer,
                                                         GOPath const *path,
                                                         GOPath const *close_path);
void                gog_renderer_draw_shape             (GogRenderer *renderer,
                                                         GOPath const *path);
void                gog_renderer_stroke_shape           (GogRenderer *renderer,
                                                         GOPath const *path);
void                gog_renderer_fill_shape             (GogRenderer *renderer,
                                                         GOPath const *path);
void                gog_renderer_draw_circle            (GogRenderer *rend,
                                                         double x,
                                                         double y,
                                                         double r);
void                gog_renderer_stroke_circle          (GogRenderer *rend,
                                                         double x,
                                                         double y,
                                                         double r);
void                gog_renderer_fill_circle            (GogRenderer *rend,
                                                         double x,
                                                         double y,
                                                         double r);
void                gog_renderer_draw_rectangle         (GogRenderer *rend,
                                                         GogViewAllocation const *rect);
void                gog_renderer_stroke_rectangle       (GogRenderer *rend,
                                                         GogViewAllocation const *rect);
void                gog_renderer_fill_rectangle         (GogRenderer *rend,
                                                         GogViewAllocation const *rect);
void                gog_renderer_draw_grip              (GogRenderer *renderer,
                                                         double x,
                                                         double y);
void                gog_renderer_draw_selection_rectangle
                                                        (GogRenderer *renderer,
                                                         GogViewAllocation const *rectangle);
#define             gog_renderer_in_grip                (x,y,grip_x,grip_y)
void                gog_renderer_draw_marker            (GogRenderer *rend,
                                                         double x,
                                                         double y);
void                gog_renderer_draw_text              (GogRenderer *rend,
                                                         char const *text,
                                                         GogViewAllocation const *pos,
                                                         GtkAnchorType anchor,
                                                         gboolean use_markup);
void                gog_renderer_get_text_OBR           (GogRenderer *rend,
                                                         char const *text,
                                                         gboolean use_markup,
                                                         GOGeometryOBR *obr);
void                gog_renderer_get_text_AABR          (GogRenderer *rend,
                                                         char const *text,
                                                         gboolean use_markup,
                                                         GOGeometryAABR *aabr);
void                gog_renderer_push_style             (GogRenderer *rend,
                                                         GogStyle const *style);
void                gog_renderer_pop_style              (GogRenderer *rend);
void                gog_renderer_push_clip              (GogRenderer *rend,
                                                         GOPath const *path);
void                gog_renderer_push_clip_rectangle    (GogRenderer *rend,
                                                         double x,
                                                         double y,
                                                         double w,
                                                         double h);
void                gog_renderer_pop_clip               (GogRenderer *rend);
gboolean            gog_renderer_update                 (GogRenderer *renderer,
                                                         double w,
                                                         double h);
cairo_surface_t*    gog_renderer_get_cairo_surface      (GogRenderer *renderer);
GdkPixbuf*          gog_renderer_get_pixbuf             (GogRenderer *renderer);
void                gog_renderer_request_update         (GogRenderer *renderer);
gboolean            gog_renderer_render_to_cairo        (GogRenderer *renderer,
                                                         cairo_t *cairo,
                                                         double width,
                                                         double height);
gboolean            gog_renderer_export_image           (GogRenderer *renderer,
                                                         GOImageFormat format,
                                                         GsfOutput *output,
                                                         double x_dpi,
                                                         double y_dpi);
GogRenderer*        gog_renderer_new                    (GogGraph *graph);
typedef enum
{
  GTK_ANCHOR_CENTER,
  GTK_ANCHOR_NORTH,
  GTK_ANCHOR_NORTH_WEST,
  GTK_ANCHOR_NORTH_EAST,
  GTK_ANCHOR_SOUTH,
  GTK_ANCHOR_SOUTH_WEST,
  GTK_ANCHOR_SOUTH_EAST,
  GTK_ANCHOR_WEST,
  GTK_ANCHOR_EAST,
  GTK_ANCHOR_N		= GTK_ANCHOR_NORTH,
  GTK_ANCHOR_NW		= GTK_ANCHOR_NORTH_WEST,
  GTK_ANCHOR_NE		= GTK_ANCHOR_NORTH_EAST,
  GTK_ANCHOR_S		= GTK_ANCHOR_SOUTH,
  GTK_ANCHOR_SW		= GTK_ANCHOR_SOUTH_WEST,
  GTK_ANCHOR_SE		= GTK_ANCHOR_SOUTH_EAST,
  GTK_ANCHOR_W		= GTK_ANCHOR_WEST,
  GTK_ANCHOR_E		= GTK_ANCHOR_EAST
} GtkAnchorType;
#define GOG_RENDERER(o) (G_TYPE_CHECK_INSTANCE_CAST((o), GOG_RENDERER_TYPE, GogRenderer))
| 
 | 
#define IS_GOG_RENDERER(o) (G_TYPE_CHECK_INSTANCE_TYPE((o), GOG_RENDERER_TYPE))
| 
 | 
#define GOG_RENDERER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), GOG_RENDERER_TYPE, GogRendererClass))
| 
 | 
double              gog_renderer_line_size              (GogRenderer const *r,
                                                         double width);
| 
 | |
| 
 | |
| Returns : | 
double              gog_renderer_pt2r_x                 (GogRenderer const *r,
                                                         double d);
| 
 | |
| 
 | |
| Returns : | 
double              gog_renderer_pt2r_y                 (GogRenderer const *r,
                                                         double d);
| 
 | |
| 
 | |
| Returns : | 
double gog_renderer_get_hairline_width_pts (GogRenderer const *rend);
| 
 | a GogRenderer | 
| Returns : | the hairline width in pts. | 
void                gog_renderer_stroke_serie           (GogRenderer *renderer,
                                                         GOPath const *path);
| 
 | |
| 
 | 
void                gog_renderer_fill_serie             (GogRenderer *renderer,
                                                         GOPath const *path,
                                                         GOPath const *close_path);
| 
 | |
| 
 | |
| 
 | 
void                gog_renderer_draw_shape             (GogRenderer *renderer,
                                                         GOPath const *path);
| 
 | |
| 
 | 
void                gog_renderer_stroke_shape           (GogRenderer *renderer,
                                                         GOPath const *path);
| 
 | |
| 
 | 
void                gog_renderer_fill_shape             (GogRenderer *renderer,
                                                         GOPath const *path);
| 
 | |
| 
 | 
void                gog_renderer_draw_circle            (GogRenderer *rend,
                                                         double x,
                                                         double y,
                                                         double r);
| 
 | |
| 
 | |
| 
 | |
| 
 | 
void                gog_renderer_stroke_circle          (GogRenderer *rend,
                                                         double x,
                                                         double y,
                                                         double r);
| 
 | |
| 
 | |
| 
 | |
| 
 | 
void                gog_renderer_fill_circle            (GogRenderer *rend,
                                                         double x,
                                                         double y,
                                                         double r);
| 
 | |
| 
 | |
| 
 | |
| 
 | 
void                gog_renderer_draw_rectangle         (GogRenderer *rend,
                                                         GogViewAllocation const *rect);
A utility routine to build a closed rectangle vpath.
| 
 | a GogRenderer | 
| 
 | position and extent of rectangle | 
void                gog_renderer_stroke_rectangle       (GogRenderer *rend,
                                                         GogViewAllocation const *rect);
| 
 | |
| 
 | 
void                gog_renderer_fill_rectangle         (GogRenderer *rend,
                                                         GogViewAllocation const *rect);
| 
 | |
| 
 | 
void                gog_renderer_draw_grip              (GogRenderer *renderer,
                                                         double x,
                                                         double y);
Draw a grip, used for moving/resizing of objects.
| 
 | GogRenderer | 
| 
 | x position of grip | 
| 
 | y position of grip | 
void                gog_renderer_draw_selection_rectangle
                                                        (GogRenderer *renderer,
                                                         GogViewAllocation const *rectangle);
| 
 | |
| 
 | 
void                gog_renderer_draw_marker            (GogRenderer *rend,
                                                         double x,
                                                         double y);
| 
 | GogRenderer | 
| 
 | X-coordinate | 
| 
 | Y-coordinate | 
void                gog_renderer_draw_text              (GogRenderer *rend,
                                                         char const *text,
                                                         GogViewAllocation const *pos,
                                                         GtkAnchorType anchor,
                                                         gboolean use_markup);
Have rend draw text in the at pos.{x,y} anchored by the anchor corner.
If pos.w or pos.h are >= 0 then clip the results to less than that size.
| 
 | GogRenderer | 
| 
 | the string to draw | 
| 
 | GogViewAllocation | 
| 
 | GtkAnchorType how to draw relative to pos | 
| 
 | wether to use pango markup | 
void                gog_renderer_get_text_OBR           (GogRenderer *rend,
                                                         char const *text,
                                                         gboolean use_markup,
                                                         GOGeometryOBR *obr);
| 
 | GogRenderer | 
| 
 | the string to draw | 
| 
 | wether to use pango markup | 
| 
 | GOGeometryOBR to store the Object Bounding Rectangle of text. | 
void                gog_renderer_get_text_AABR          (GogRenderer *rend,
                                                         char const *text,
                                                         gboolean use_markup,
                                                         GOGeometryAABR *aabr);
| 
 | GogRenderer | 
| 
 | the string to draw | 
| 
 | wether to use pango markup | 
| 
 | GOGeometryAABR to store the Axis Aligned Bounding Rectangle of text. | 
void                gog_renderer_push_style             (GogRenderer *rend,
                                                         GogStyle const *style);
| 
 | |
| 
 | 
void                gog_renderer_push_clip              (GogRenderer *rend,
                                                         GOPath const *path);
Defines the current clipping region.
| 
 | GogRenderer | 
| 
 | a GOPath | 
void                gog_renderer_push_clip_rectangle    (GogRenderer *rend,
                                                         double x,
                                                         double y,
                                                         double w,
                                                         double h);
Defines a rectangular clipping region. For efficient screen rendering, this function takes care to round the coordinates.
| 
 | GogRenderer | 
| 
 | left coordinate | 
| 
 | top coordinate | 
| 
 | width of clipping rectangle | 
| 
 | height of clipping rectangle | 
void gog_renderer_pop_clip (GogRenderer *rend);
End the current clipping.
| 
 | GogRenderer | 
gboolean            gog_renderer_update                 (GogRenderer *renderer,
                                                         double w,
                                                         double h);
Requests a renderer update, only useful for pixbuf based renderer.
| 
 | a GogRenderer | 
| 
 | requested width | 
| 
 | requested height | 
| Returns : | TRUEif a redraw is necessary. | 
cairo_surface_t* gog_renderer_get_cairo_surface (GogRenderer *renderer);
| 
 | |
| Returns : | 
GdkPixbuf* gog_renderer_get_pixbuf (GogRenderer *renderer);
| 
 | GogRenderer | 
| Returns : | current pixbuf buffer from a renderer that can render into a pixbuf.
	or NULLon error. | 
gboolean            gog_renderer_render_to_cairo        (GogRenderer *renderer,
                                                         cairo_t *cairo,
                                                         double width,
                                                         double height);
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| Returns : | 
gboolean            gog_renderer_export_image           (GogRenderer *renderer,
                                                         GOImageFormat format,
                                                         GsfOutput *output,
                                                         double x_dpi,
                                                         double y_dpi);
Exports an image of graph in given format, writing results in a GsfOutput stream.
If export format type is a bitmap one, it computes image size with x_dpi, y_dpi and 
graph size (see gog_graph_get_size()).
| 
 | a GogRenderer | 
| 
 | image format for export | 
| 
 | a GsfOutput stream | 
| 
 | x resolution of exported graph | 
| 
 | y resolution of exported graph | 
| Returns : | TRUEif export succeed. |