![]() |
![]() |
![]() |
Goffice Reference Manual | ![]() |
---|---|---|---|---|
GocItem; GocItemClass; GocItem* goc_item_new (GocGroup *parent, GType type, const gchar *first_arg_name, ...); void goc_item_destroy (GocItem *item); void goc_item_set (GocItem *item, const gchar *first_arg_name, ...); double goc_item_distance (GocItem *item, double x, double y, GocItem **near_item); void goc_item_draw (GocItem const *item, cairo_t *cr); gboolean goc_item_draw_region (GocItem const *item, cairo_t *cr, double x0, double y0, double x1, double y1); void goc_item_invalidate (GocItem *item); void goc_item_show (GocItem *item); void goc_item_hide (GocItem *item); gboolean goc_item_is_visible (GocItem *item); void goc_item_get_bounds (GocItem const *item, double *x0, double *y0, double *x1, double *y1); void goc_item_update_bounds (GocItem *item); void goc_item_bounds_changed (GocItem *item); void goc_item_parent_changed (GocItem *item); void goc_item_grab (GocItem *item); void goc_item_ungrab (GocItem *item); void goc_item_raise (GocItem *item, int n); void goc_item_lower (GocItem *item, int n); void goc_item_lower_to_bottom (GocItem *item); void goc_item_raise_to_top (GocItem *item);
typedef struct { GObjectClass base; double (*distance) (GocItem *item, double x, double y, GocItem **near_item); void (*draw) (GocItem const *item, cairo_t *cr); gboolean (*draw_region) (GocItem const *item, cairo_t *cr, double x0, double y0, double x1, double y1); void (*update_bounds) (GocItem *item); void (*parent_changed) (GocItem *item); /* events related functions */ gboolean (*button_pressed) (GocItem *item, int button, double x, double y); gboolean (*button2_pressed) (GocItem *item, int button, double x, double y); gboolean (*button_released) (GocItem *item, int button, double x, double y); gboolean (*motion) (GocItem *item, double x, double y); gboolean (*enter_notify) (GocItem *item, double x, double y); gboolean (*leave_notify) (GocItem *item, double x, double y); void (*realize) (GocItem *item); void (*unrealize) (GocItem *item); gboolean (*key_pressed) (GocItem *item, GdkEventKey* ev); gboolean (*key_released) (GocItem *item, GdkEventKey* ev); void (*notify_scrolled) (GocItem *item); } GocItemClass;
The base class for all canvas items.
GObjectClass |
the parent class |
|
returns the distance between the item and the point defined by
x and y . When the distance is larger than a few pixels, the result is not
relevant, so an approximate value or even G_MAXDOUBLE might be returned.
|
|
draws the item to the cairo context. |
|
draws the item in the region defined by x0 , y0 , x1 and y1 .
Should return TRUE when successfull. If FALSE is returned, draw will be
called. There is no need to implement both methods for an item. Large items
should implement draw_region .
|
|
updates the bounds stored in GocItem as fields x0, y0, x1,and y1. |
|
callback for a parent changed event. |
|
callback for a button press event. |
|
callback for a double click event. |
|
callback for a button release event. |
|
callback for a motion event. |
|
callback for an enter notify event. |
|
callback for a leave notify event. |
|
callback for a realizes event. |
|
callback for an unrealize event. |
|
callback for a key press event. |
|
callback for a key release event. |
|
callback for a notify scrolled event. This is useful to reposition children of the GtkLayout parent of the canvas to their new position. |
GocItem* goc_item_new (GocGroup *parent, GType type, const gchar *first_arg_name, ...);
|
|
|
|
|
|
|
|
Returns : |
void goc_item_set (GocItem *item, const gchar *first_arg_name, ...);
|
|
|
|
|
double goc_item_distance (GocItem *item, double x, double y, GocItem **near_item);
|
|
|
|
|
|
|
|
Returns : |
gboolean goc_item_draw_region (GocItem const *item, cairo_t *cr, double x0, double y0, double x1, double y1);
|
|
|
|
|
|
|
|
|
|
|
|
Returns : |
void goc_item_get_bounds (GocItem const *item, double *x0, double *y0, double *x1, double *y1);
|
|
|
|
|
|
|
|
|