Top | ![]() |
![]() |
![]() |
![]() |
GocItem * | goc_item_new () |
void | goc_item_destroy () |
void | goc_item_set () |
double | goc_item_distance () |
void | goc_item_draw () |
gboolean | goc_item_draw_region () |
void | goc_item_invalidate () |
void | goc_item_show () |
void | goc_item_hide () |
gboolean | goc_item_is_visible () |
void | goc_item_get_bounds () |
void | goc_item_bounds_changed () |
void | goc_item_grab () |
void | goc_item_ungrab () |
void | goc_item_raise () |
void | goc_item_lower () |
void | goc_item_lower_to_bottom () |
void | goc_item_raise_to_top () |
GObject ╰── GocItem ├── GocStyledItem ├── GocGraph ├── GocGroup ├── GocPixbuf ╰── GocWidget
GocItem * goc_item_new (GocGroup *parent
,GType type
,const gchar *first_arg_name
,...
);
Creates a new item of type type
in group group
. Properties can be
set just the same way they are in g_object_new.
void
goc_item_destroy (GocItem *item
);
Destroys item
, removes it from its parent group and updates the canvas
accordingly.
void goc_item_set (GocItem *item
,const gchar *first_arg_name
,...
);
Set properties and updates the canvas. Using g_object_set instead would set the properties, but not update the canvas.
double goc_item_distance (GocItem *item
,double x
,double y
,GocItem **near_item
);
Evaluates the distance between the point with canvas coordinates x
,y
and the nearest point of item
. near_item
is set with either item
or
its appropriate child.
void goc_item_draw (GocItem const *item
,cairo_t *cr
);
Renders item
using cr
. There is no need to call this function directly.
Invalidating the item is the way to go.
gboolean goc_item_draw_region (GocItem const *item
,cairo_t *cr
,double x0
,double y0
,double x1
,double y1
);
Renders item
using cr
, limiting all drawings to the region limited by
x0
, y0
, x1
, and y1
. If this function returns FALSE
, goc_item_draw
should be called. There is no need to call this function directly.
Invalidating the item is the way to go.
void
goc_item_invalidate (GocItem *item
);
Force a redraw of item
bounding region.
void goc_item_get_bounds (GocItem const *item
,double *x0
,double *y0
,double *x1
,double *y1
);
Retrieves the bounds of item
in canvas coordinates.
void
goc_item_bounds_changed (GocItem *item
);
This function needs to be called each time the bounds of item
change. It
is normally called from inside the implementation of items derived classes.
void
goc_item_grab (GocItem *item
);
Grabs the item. This function will fail if another item is grabbed.
void
goc_item_ungrab (GocItem *item
);
Ungrabs the item. This function will fail if item
is not grabbed.
void goc_item_raise (GocItem *item
,int n
);
Raises item
by n
steps inside its parent GocGroup (or less if the list
is too short) in the item list so that it is displayed nearer the top of
the items stack.
void goc_item_lower (GocItem *item
,int n
);
Lowers item
by n
steps inside its parent GocGroup (or less if the list
is too short) in the item list so that it is displayed more deeply in the
items stack.
void
goc_item_lower_to_bottom (GocItem *item
);
Lowers item
to bottom inside its parent GocGroup so that it will be at
least partly hidden by any overlapping item.
typedef struct _GocItem GocItem;
GocItem contains the following fields:
double x0; | The lowest horizontal bound of the item. |
double y0; | The lowest vertical bound of the item. |
double x1; | The highest horizontal bound of the item. |
double y1; | The highest vertical bound of the item. |
The various fields should not be accessed directly except from children
objects which must update x0
, y0
, x1
, and y1
from their update_bounds
method. All other fields are read-only and not documented.
struct GocItemClass { 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); /* 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); };
The base class for all canvas items.
GObjectClass |
the parent class |
|
returns the distance between the item and the point defined by
|
||
draws the item to the cairo context. |
||
draws the item in the region defined by |
||
updates the bounds stored in GocItem as fields x0, y0, x1,and y1. |
||
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. |