GogRenderer

GogRenderer — Rendering

Functions

Properties

GogGraph * model Read / Write
GogView * view Read

Signals

Types and Values

Object Hierarchy

    GObject
    ╰── GogRenderer

Description

Note that GogGraph has a functions for export/rendering, so you do not always need to use a GogRenderer directly.

Functions

gog_renderer_new ()

GogRenderer *
gog_renderer_new (GogGraph *graph);

Parameters

graph

graph model

 

Returns

a new GogRenderer which can render into a pixbuf, and sets graph as its model.


gog_renderer_draw_selection_rectangle ()

void
gog_renderer_draw_selection_rectangle (GogRenderer *renderer,
                                       GogViewAllocation const *rectangle);


gog_renderer_draw_shape ()

void
gog_renderer_draw_shape (GogRenderer *renderer,
                         GOPath const *path);


gog_renderer_fill_serie ()

void
gog_renderer_fill_serie (GogRenderer *renderer,
                         GOPath const *path,
                         GOPath const *close_path);


gog_renderer_fill_shape ()

void
gog_renderer_fill_shape (GogRenderer *renderer,
                         GOPath const *path);


gog_renderer_fill_circle ()

void
gog_renderer_fill_circle (GogRenderer *rend,
                          double x,
                          double y,
                          double r);


gog_renderer_fill_rectangle ()

void
gog_renderer_fill_rectangle (GogRenderer *rend,
                             GogViewAllocation const *rect);


gog_renderer_get_hairline_width_pts ()

double
gog_renderer_get_hairline_width_pts (GogRenderer const *rend);

Parameters

rend

a GogRenderer

 

Returns

the hairline width in pts.


gog_renderer_push_clip_rectangle ()

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.

Parameters

rend

GogRenderer

 

x

left coordinate

 

y

top coordinate

 

w

width of clipping rectangle

 

h

height of clipping rectangle

 

gog_renderer_render_to_cairo ()

gboolean
gog_renderer_render_to_cairo (GogRenderer *renderer,
                              cairo_t *cairo,
                              double width,
                              double height);


gog_renderer_stroke_serie ()

void
gog_renderer_stroke_serie (GogRenderer *renderer,
                           GOPath const *path);


gog_renderer_stroke_shape ()

void
gog_renderer_stroke_shape (GogRenderer *renderer,
                           GOPath const *path);


gog_renderer_stroke_circle ()

void
gog_renderer_stroke_circle (GogRenderer *rend,
                            double x,
                            double y,
                            double r);


gog_renderer_stroke_rectangle ()

void
gog_renderer_stroke_rectangle (GogRenderer *rend,
                               GogViewAllocation const *rect);


gog_renderer_request_update ()

void
gog_renderer_request_update (GogRenderer *renderer);


gog_renderer_push_style ()

void
gog_renderer_push_style (GogRenderer *rend,
                         GOStyle const *style);


gog_renderer_pop_style ()

void
gog_renderer_pop_style (GogRenderer *rend);


gog_renderer_push_clip ()

void
gog_renderer_push_clip (GogRenderer *rend,
                        GOPath const *path);

Defines the current clipping region.

Parameters

rend

GogRenderer

 

path

a GOPath

 

gog_renderer_pop_clip ()

void
gog_renderer_pop_clip (GogRenderer *rend);

End the current clipping.

Parameters

rend

GogRenderer

 

gog_renderer_draw_circle ()

void
gog_renderer_draw_circle (GogRenderer *rend,
                          double x,
                          double y,
                          double r);


gog_renderer_draw_rectangle ()

void
gog_renderer_draw_rectangle (GogRenderer *rend,
                             GogViewAllocation const *rect);

A utility routine to build a closed rectangle vpath.

Parameters

rend

a GogRenderer

 

rect

position and extent of rectangle

 

gog_renderer_draw_text ()

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.

Parameters

rend

GogRenderer

 

text

the string to draw

 

pos

GogViewAllocation

 

anchor

GtkAnchorType how to draw relative to pos

 

use_markup

wether to use pango markup

 

gog_renderer_draw_marker ()

void
gog_renderer_draw_marker (GogRenderer *rend,
                          double x,
                          double y);

Parameters

rend

GogRenderer

 

x

X-coordinate

 

y

Y-coordinate

 

gog_renderer_draw_grip ()

void
gog_renderer_draw_grip (GogRenderer *renderer,
                        double x,
                        double y);

Draw a grip, used for moving/resizing of objects.

Parameters

renderer

GogRenderer

 

x

x position of grip

 

y

y position of grip

 

gog_renderer_in_grip()

#define             gog_renderer_in_grip(x,y,grip_x,grip_y)


gog_renderer_get_text_OBR ()

void
gog_renderer_get_text_OBR (GogRenderer *rend,
                           char const *text,
                           gboolean use_markup,
                           GOGeometryOBR *obr);

Parameters

rend

GogRenderer

 

text

the string to draw

 

use_markup

wether to use pango markup

 

obr

GOGeometryOBR to store the Object Bounding Rectangle of text .

 

gog_renderer_get_text_AABR ()

void
gog_renderer_get_text_AABR (GogRenderer *rend,
                            char const *text,
                            gboolean use_markup,
                            GOGeometryAABR *aabr);

Parameters

rend

GogRenderer

 

text

the string to draw

 

use_markup

wether to use pango markup

 

aabr

GOGeometryAABR to store the Axis Aligned Bounding Rectangle of text .

 

gog_renderer_line_size ()

double
gog_renderer_line_size (GogRenderer const *r,
                        double width);


gog_renderer_pt2r_x ()

double
gog_renderer_pt2r_x (GogRenderer const *r,
                     double d);


gog_renderer_pt2r_y ()

double
gog_renderer_pt2r_y (GogRenderer const *r,
                     double d);


gog_renderer_pt2r ()

double
gog_renderer_pt2r (GogRenderer const *r,
                   double d);


gog_renderer_export_image ()

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()).

Parameters

renderer

a GogRenderer

 

format

image format for export

 

output

a GsfOutput stream

 

x_dpi

x resolution of exported graph

 

y_dpi

y resolution of exported graph

 

Returns

TRUE if export succeed.


gog_renderer_update ()

gboolean
gog_renderer_update (GogRenderer *renderer,
                     double w,
                     double h);

Requests a renderer update, only useful for pixbuf based renderer.

Parameters

renderer

a GogRenderer

 

w

requested width

 

h

requested height

 

Returns

TRUE if a redraw is necessary.


gog_renderer_get_pixbuf ()

GdkPixbuf *
gog_renderer_get_pixbuf (GogRenderer *renderer);

Parameters

renderer

GogRenderer

 

Returns

current pixbuf buffer from a renderer that can render into a pixbuf. or NULL on error.


gog_renderer_get_cairo_surface ()

cairo_surface_t *
gog_renderer_get_cairo_surface (GogRenderer *renderer);

Types and Values

GogRenderer

typedef struct _GogRenderer GogRenderer;

Property Details

The “model” property

  “model”                    GogGraph *

The GogGraph this renderer displays.

Flags: Read / Write


The “view” property

  “view”                     GogView *

the GogView this renderer is displaying.

Flags: Read

Signal Details

The “request-update” signal

void
user_function (GogRenderer *gogrenderer,
               gpointer     user_data)

Parameters

gogrenderer

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last