GOPath

GOPath

Synopsis

                    GOPath;
enum                GOPathDirection;
enum                GOPathOptions;
                    GOPathPoint;
GOPath *            go_path_new                         (void);
void                go_path_set_options                 (GOPath *path,
                                                         GOPathOptions options);
GOPathOptions       go_path_get_options                 (GOPath const *path);
void                go_path_arc                         (GOPath *path,
                                                         double cx,
                                                         double cy,
                                                         double rx,
                                                         double ry,
                                                         double th0,
                                                         double th1);
void                go_path_arc_to                      (GOPath *path,
                                                         double cx,
                                                         double cy,
                                                         double rx,
                                                         double ry,
                                                         double th0,
                                                         double th1);
void                go_path_clear                       (GOPath *path);
void                go_path_close                       (GOPath *path);
void                go_path_curve_to                    (GOPath *path,
                                                         double x0,
                                                         double y0,
                                                         double x1,
                                                         double y1,
                                                         double x2,
                                                         double y2);
void                go_path_free                        (GOPath *path);
void                go_path_line_to                     (GOPath *path,
                                                         double x,
                                                         double y);
void                go_path_move_to                     (GOPath *path,
                                                         double x,
                                                         double y);
void                go_path_pie_wedge                   (GOPath *path,
                                                         double cx,
                                                         double cy,
                                                         double rx,
                                                         double ry,
                                                         double th0,
                                                         double th1);
void                go_path_rectangle                   (GOPath *path,
                                                         double x,
                                                         double y,
                                                         double width,
                                                         double height);
void                go_path_ring_wedge                  (GOPath *path,
                                                         double cx,
                                                         double cy,
                                                         double rx_out,
                                                         double ry_out,
                                                         double rx_in,
                                                         double ry_in,
                                                         double th0,
                                                         double th1);
void                go_path_interpret                   (GOPath const *path,
                                                         GOPathDirection direction,
                                                         GOPathMoveToFunc *move_to,
                                                         GOPathLineToFunc *line_to,
                                                         GOPathCurveToFunc *curve_to,
                                                         GOPathClosePathFunc *close_path,
                                                         void *closure);
void                go_path_to_cairo                    (GOPath const *path,
                                                         GOPathDirection direction,
                                                         cairo_t *cr);
GOPath *            go_path_copy                        (GOPath const *path);
GOPath *            go_path_append                      (GOPath *path1,
                                                         GOPath const *path2);

Object Hierarchy

  GBoxed
   +----GOPath

Description

Details

GOPath

typedef struct _GOPath GOPath;


enum GOPathDirection

typedef enum {
	GO_PATH_DIRECTION_FORWARD,
	GO_PATH_DIRECTION_BACKWARD
} GOPathDirection;

GO_PATH_DIRECTION_FORWARD

GO_PATH_DIRECTION_BACKWARD


enum GOPathOptions

typedef enum {
	GO_PATH_OPTIONS_SNAP_COORDINATES 	= 1<<0,
	GO_PATH_OPTIONS_SNAP_WIDTH		= 1<<1,
	GO_PATH_OPTIONS_SHARP			= 3
} GOPathOptions;

GO_PATH_OPTIONS_SNAP_COORDINATES

round coordinates to avoid aliasing in pixbufs.

GO_PATH_OPTIONS_SNAP_WIDTH

round width so that it correpond to a round pixels number.

GO_PATH_OPTIONS_SHARP

use raw coordinates.

GOPathPoint

typedef struct {
	double x;
	double y;
} GOPathPoint;


go_path_new ()

GOPath *            go_path_new                         (void);


go_path_set_options ()

void                go_path_set_options                 (GOPath *path,
                                                         GOPathOptions options);

Change the rendering options for path using GO_PATH_OPTIONS_SNAP_COORDINATES GO_PATH_OPTIONS_SNAP_WIDTH GO_PATH_OPTIONS_SHARP

path :

a GOPath

options :

GOPathOptions

go_path_get_options ()

GOPathOptions       go_path_get_options                 (GOPath const *path);


go_path_arc ()

void                go_path_arc                         (GOPath *path,
                                                         double cx,
                                                         double cy,
                                                         double rx,
                                                         double ry,
                                                         double th0,
                                                         double th1);


go_path_arc_to ()

void                go_path_arc_to                      (GOPath *path,
                                                         double cx,
                                                         double cy,
                                                         double rx,
                                                         double ry,
                                                         double th0,
                                                         double th1);


go_path_clear ()

void                go_path_clear                       (GOPath *path);


go_path_close ()

void                go_path_close                       (GOPath *path);


go_path_curve_to ()

void                go_path_curve_to                    (GOPath *path,
                                                         double x0,
                                                         double y0,
                                                         double x1,
                                                         double y1,
                                                         double x2,
                                                         double y2);


go_path_free ()

void                go_path_free                        (GOPath *path);

Decrements references count and frees all memory allocated for path if references count reaches 0.

path :

a GOPath

go_path_line_to ()

void                go_path_line_to                     (GOPath *path,
                                                         double x,
                                                         double y);


go_path_move_to ()

void                go_path_move_to                     (GOPath *path,
                                                         double x,
                                                         double y);


go_path_pie_wedge ()

void                go_path_pie_wedge                   (GOPath *path,
                                                         double cx,
                                                         double cy,
                                                         double rx,
                                                         double ry,
                                                         double th0,
                                                         double th1);


go_path_rectangle ()

void                go_path_rectangle                   (GOPath *path,
                                                         double x,
                                                         double y,
                                                         double width,
                                                         double height);


go_path_ring_wedge ()

void                go_path_ring_wedge                  (GOPath *path,
                                                         double cx,
                                                         double cy,
                                                         double rx_out,
                                                         double ry_out,
                                                         double rx_in,
                                                         double ry_in,
                                                         double th0,
                                                         double th1);


go_path_interpret ()

void                go_path_interpret                   (GOPath const *path,
                                                         GOPathDirection direction,
                                                         GOPathMoveToFunc *move_to,
                                                         GOPathLineToFunc *line_to,
                                                         GOPathCurveToFunc *curve_to,
                                                         GOPathClosePathFunc *close_path,
                                                         void *closure);


go_path_to_cairo ()

void                go_path_to_cairo                    (GOPath const *path,
                                                         GOPathDirection direction,
                                                         cairo_t *cr);


go_path_copy ()

GOPath *            go_path_copy                        (GOPath const *path);


go_path_append ()

GOPath *            go_path_append                      (GOPath *path1,
                                                         GOPath const *path2);

Appends path2 at the end of path1.

path1 :

GOPath

path2 :

GOPath

Returns :

path1