Public Member Functions | Static Public Member Functions | Protected Member Functions | Related Functions

Goocanvas::Item Class Reference

Inheritance diagram for Goocanvas::Item:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual ~Item ()
GooCanvasItem* gobj ()
 Provides access to the underlying C GObject.
const GooCanvasItem* gobj () const
 Provides access to the underlying C GObject.
Canvasget_canvas ()
 Returns: the Goo::Canvas.
const Canvasget_canvas () const
 Returns: the Goo::Canvas.
void set_canvas (Canvas* canvas)
 This function is only intended to be used when implementing new canvas items, specifically container items such as Goo::CanvasGroup.
bool is_visible () const
 Checks if the item is visible.
Glib::RefPtr< ItemModelget_model ()
 Gets the model of the given canvas item.
Glib::RefPtr< const ItemModelget_model () const
 Gets the model of the given canvas item.
void set_model (const Glib::RefPtr< ItemModel >& model)
 Sets the model of the given canvas item.
Glib::RefPtr< Itemget_parent ()
 Gets the parent of the given item.
Glib::RefPtr< const Itemget_parent () const
 Gets the parent of the given item.
void set_parent (const Glib::RefPtr< Item >& parent)
 This function is only intended to be used when implementing new canvas items (specifically container items such as Goo::CanvasGroup).
void remove ()
 Removes an item from its parent.
bool is_container () const
 Tests to see if the given item is a container.
int get_n_children () const
 Gets the number of children of the container.
Glib::RefPtr< Itemget_child (int child_num)
 Gets the child item at the given stack position.
Glib::RefPtr< const Itemget_child (int child_num) const
 Gets the child item at the given stack position.
int find_child (const Glib::RefPtr< Item >& child)
 Attempts to find the given child item with the container's stack.
void add_child (const Glib::RefPtr< Item >& child, int pos)
 Adds a child item to a container item at the given stack position.
void add_child (const Glib::RefPtr< Item >& child)
void get_child_property_value (const Glib::RefPtr< Item >& child, const Glib::ustring& property_name, Glib::ValueBase&value) const
 Gets a child property of child.
void set_child_property_value (const Glib::RefPtr< Item >& child, const Glib::ustring& property_name, const Glib::ValueBase&value)
 Sets a child property of child.
template<class PropertyType >
void get_child_property (const Glib::RefPtr< Item >& child, const Glib::ustring& the_property_name, PropertyType&value) const
template<class PropertyType >
void set_child_property (const Glib::RefPtr< Item >& child, const Glib::ustring& the_property_name, const PropertyType&value)
void move_child (int old_position, int new_position)
 Moves a child item to a new stack position within the container.
void remove_child (int child_num)
 Removes the child item at the given position.
void raise (const Glib::RefPtr< Item >& above)
 Raises an item in the stacking order.
void raise ()
 Raise the item to the top of the stack.
void lower (const Glib::RefPtr< Item >& below)
 Lowers an item in the stacking order.
void lower ()
 Lower the item to the bottom of the stack.
Bounds get_bounds () const
void request_update ()
 This function is only intended to be used when implementing new canvas items.
void ensure_updated ()
 This function is only intended to be used when implementing new canvas items.
void update (bool entire_tree, const Cairo::RefPtr< Cairo::Context >& context, Bounds& bounds)
 This function is only intended to be used when implementing new canvas items, specifically container items such as Goo::CanvasGroup.
void paint (const Cairo::RefPtr< Cairo::Context >& context, const Bounds& bounds, double scale)
 This function is only intended to be used when implementing new canvas items, specifically container items such as Goo::CanvasGroup.
bool get_requested_area (const Cairo::RefPtr< Cairo::Context >& context, Bounds& bounds) const
 This function is only intended to be used when implementing new canvas items, specifically layout items such as Goo::CanvasTable.
double get_requested_height (const Cairo::RefPtr< Cairo::Context >& context, double width) const
 This function is only intended to be used when implementing new canvas items, specifically layout items such as Goo::CanvasTable.
void allocate_area (const Cairo::RefPtr< Cairo::Context >& context, const Bounds& requested_area, const Bounds& allocated_area, double x_offset, double y_offset)
 This function is only intended to be used when implementing new canvas items, specifically layout items such as Goo::CanvasTable.
std::vector< Glib::RefPtr< Item > > get_items_at (double x, double y, const Cairo::RefPtr< Cairo::Context >& context, bool is_pointer_event, bool parent_is_visible, const std::vector< Glib::RefPtr< Item > >& found_items)
 This function is only intended to be used when implementing new canvas items, specifically container items such as Goo::CanvasGroup.
std::vector< Glib::RefPtr
< const Item > > 
get_items_at (double x, double y, const Cairo::RefPtr< Cairo::Context >& context, bool is_pointer_event, bool parent_is_visible, const std::vector< Glib::RefPtr< const Item > >& found_items) const
 This function is only intended to be used when implementing new canvas items, specifically container items such as Goo::CanvasGroup.
std::vector< Glib::RefPtr< Item > > get_items_at (double x, double y, const Cairo::RefPtr< Cairo::Context >& context, bool is_pointer_event, bool parent_is_visible)
std::vector< Glib::RefPtr
< const Item > > 
get_items_at (double x, double y, const Cairo::RefPtr< Cairo::Context >& context, bool is_pointer_event, bool parent_is_visible) const
bool get_transform (Cairo::Matrix* matrix)
 Gets the transformation matrix of an item.
void set_transform (const Cairo::Matrix* matrix)
 Sets the transformation matrix of an item.
void set_simple_transform (double x, double y, double scale, double rotation)
 A convenience function to set the item's transformation matrix.
bool get_simple_transform (double& x, double& y, double& scale, double& rotation) const
 This function can be used to get the position, scale and rotation of an item, providing that the item has a simple transformation matrix (e.g. set with set_simple_transform(), or using a combination of simple translate, scale and rotate operations).
void translate (double tx, double ty)
 Translates the origin of the item's coordinate system by the given amounts.
void scale (double sx, double sy)
 Scales the item's coordinate system by the given amounts.
void rotate (double degrees, double cx, double cy)
 Rotates the item's coordinate system by the given amount, about the given origin.
void skew_x (double degrees, double cx, double cy)
 Skews the item's coordinate system along the x axis by the given amount, about the given origin.
void skew_y (double degrees, double cx, double cy)
 Skews the item's coordinate system along the y axis by the given amount, about the given origin.
bool get_transform_for_child (const Glib::RefPtr< Item >& child, Cairo::Matrix*transform)
 Gets the transformation matrix of an item combined with any special transform needed for the given child.
Glib::RefPtr< Styleget_style ()
 Gets the item's style.
Glib::RefPtr< const Styleget_style () const
 Gets the item's style.
void set_style (const Glib::RefPtr< Style >& style)
 Sets the item's style, by copying the properties from the given style.
void animate (double x, double y, double scale, double degrees, bool absolute, int duration, int step_time, GooCanvasAnimateType type)
 Animates an item from its current position to the given offsets, scale and rotation.
void stop_animation ()
 Stops any current animation for the given item, leaving it at its current position.
bool get_is_static () const
void set_is_static (bool is_static=true)
Glib::SignalProxy2< bool,
const Glib::RefPtr< Item >
&, GdkEventCrossing* > 
signal_enter_notify_event ()
Glib::SignalProxy2< bool,
const Glib::RefPtr< Item >
&, GdkEventCrossing* > 
signal_leave_notify_event ()
Glib::SignalProxy2< bool,
const Glib::RefPtr< Item >
&, GdkEventMotion* > 
signal_motion_notify_event ()
Glib::SignalProxy2< bool,
const Glib::RefPtr< Item >
&, GdkEventButton* > 
signal_button_press_event ()
Glib::SignalProxy2< bool,
const Glib::RefPtr< Item >
&, GdkEventButton* > 
signal_button_release_event ()
Glib::SignalProxy2< bool,
const Glib::RefPtr< Item >
&, GdkEventFocus* > 
signal_focus_in_event ()
Glib::SignalProxy2< bool,
const Glib::RefPtr< Item >
&, GdkEventFocus* > 
signal_focus_out_event ()
Glib::SignalProxy2< bool,
const Glib::RefPtr< Item >
&, GdkEventKey* > 
signal_key_press_event ()
Glib::SignalProxy2< bool,
const Glib::RefPtr< Item >
&, GdkEventKey* > 
signal_key_release_event ()
Glib::SignalProxy2< bool,
const Glib::RefPtr< Item >
&, GdkEventGrabBroken* > 
signal_grab_broken_event ()
Glib::SignalProxy1< void,
GParamSpec* > 
signal_child_notify ()
Glib::SignalProxy1< void, bool > signal_animation_finished ()
Glib::SignalProxy2< bool,
const Glib::RefPtr< Item >
&, GdkEventScroll* > 
signal_scroll_event ()
Glib::PropertyProxy
< Glib::RefPtr< Item > > 
property_parent ()
 The parent item.
Glib::PropertyProxy_ReadOnly
< Glib::RefPtr< Item > > 
property_parent () const
 The parent item.
Glib::PropertyProxy
< ItemVisibility
property_visibility ()
 When the canvas item is visible.
Glib::PropertyProxy_ReadOnly
< ItemVisibility
property_visibility () const
 When the canvas item is visible.
Glib::PropertyProxy< double > property_visibility_threshold ()
 The scale threshold at which the item becomes visible.
Glib::PropertyProxy_ReadOnly
< double > 
property_visibility_threshold () const
 The scale threshold at which the item becomes visible.
Glib::PropertyProxy
< Cairo::Matrix* > 
property_transform ()
 The transformation matrix of the item.
Glib::PropertyProxy_ReadOnly
< Cairo::Matrix* > 
property_transform () const
 The transformation matrix of the item.
Glib::PropertyProxy
< PointerEvents
property_pointer_events ()
 Specifies when the item receives pointer events.
Glib::PropertyProxy_ReadOnly
< PointerEvents
property_pointer_events () const
 Specifies when the item receives pointer events.
Glib::PropertyProxy
< Glib::ustring
property_title ()
 A short context-rich description of the item for use by assistive technologies.
Glib::PropertyProxy_ReadOnly
< Glib::ustring
property_title () const
 A short context-rich description of the item for use by assistive technologies.
Glib::PropertyProxy
< Glib::ustring
property_description ()
 A description of the item for use by assistive technologies.
Glib::PropertyProxy_ReadOnly
< Glib::ustring
property_description () const
 A description of the item for use by assistive technologies.
Glib::PropertyProxy< bool > property_can_focus ()
 If the item can take the keyboard focus.
Glib::PropertyProxy_ReadOnly
< bool > 
property_can_focus () const
 If the item can take the keyboard focus.
Glib::PropertyProxy< double > property_x ()
 The x coordinate of the left side of the item.
Glib::PropertyProxy_ReadOnly
< double > 
property_x () const
 The x coordinate of the left side of the item.
Glib::PropertyProxy< double > property_y ()
 The y coordinate of the top of the item.
Glib::PropertyProxy_ReadOnly
< double > 
property_y () const
 The y coordinate of the top of the item.
Glib::PropertyProxy< double > property_width ()
 The width of the item.
Glib::PropertyProxy_ReadOnly
< double > 
property_width () const
 The width of the item.
Glib::PropertyProxy< double > property_height ()
 The height of the item.
Glib::PropertyProxy_ReadOnly
< double > 
property_height () const
 The height of the item.

Static Public Member Functions

static void add_interface (GType gtype_implementer)

Protected Member Functions

virtual int get_n_children_vfunc () const
virtual Glib::RefPtr< Itemget_child_vfunc (int child_num) const
virtual void request_update_vfunc ()
virtual Canvasget_canvas_vfunc () const
virtual void set_canvas_vfunc (Canvas* canvas)
virtual void add_child_vfunc (const Glib::RefPtr< Item >& child, int position)
virtual void move_child_vfunc (int old_position, int new_position)
virtual void remove_child_vfunc (int child_num)
virtual void get_child_property_vfunc (const Glib::RefPtr< Item >& child, guint property_id, Glib::ValueBase&value, GParamSpec* pspec) const
virtual void set_child_property_vfunc (const Glib::RefPtr< Item >& child, guint property_id, const Glib::ValueBase&value, GParamSpec* pspec)
virtual bool get_transform_for_child_vfunc (const Glib::RefPtr< Item >& child, Cairo::Matrix*transform) const
virtual Glib::RefPtr< Itemget_parent_vfunc () const
virtual void set_parent_vfunc (const Glib::RefPtr< Item >& parent)
virtual void get_bounds_vfunc (Bounds& bounds) const
virtual std::vector
< Glib::RefPtr< Item > > 
get_items_at_vfunc (double x, double y, const Cairo::RefPtr< Cairo::Context >& context, bool is_pointer_event, bool is_parent_visible, const std::vector< Glib::RefPtr< Item > >& found_items)
virtual void update_vfunc (bool entire_tree, const Cairo::RefPtr< Cairo::Context >& cr, Bounds& bounds)
virtual void paint_vfunc (const Cairo::RefPtr< Cairo::Context >& cr, const Bounds& bounds, double scale)
virtual bool get_requested_area_vfunc (const Cairo::RefPtr< Cairo::Context >& cr, GooCanvasBounds* requested_area) const
virtual void allocate_area_vfunc (const Cairo::RefPtr< Cairo::Context >& cr, const Bounds& requested_area, const Bounds& allocated_area, double x_offset, double y_offset)
virtual bool get_transform_vfunc (Cairo::Matrix*transform) const
virtual void set_transform_vfunc (const Cairo::Matrix*transform)
virtual Glib::RefPtr< Styleget_style_vfunc () const
virtual void set_style_vfunc (const Glib::RefPtr< Style >& style)
virtual bool is_visible_vfunc () const
virtual double get_requested_height_vfunc (const Cairo::RefPtr< Cairo::Context >& cr, double width)
virtual bool get_is_static_vfunc () const
virtual void set_is_static_vfunc (bool is_static)
virtual Glib::RefPtr< ItemModelget_model_vfunc () const
virtual void set_model_vfunc (const Glib::RefPtr< ItemModel >& model)
virtual bool on_enter_notify_event (const Glib::RefPtr< Item >& target, GdkEventCrossing* event)
virtual bool on_leave_notify_event (const Glib::RefPtr< Item >& target, GdkEventCrossing* event)
virtual bool on_motion_notify_event (const Glib::RefPtr< Item >& target, GdkEventMotion* event)
virtual bool on_button_press_event (const Glib::RefPtr< Item >& target, GdkEventButton* event)
virtual bool on_button_release_event (const Glib::RefPtr< Item >& target, GdkEventButton* event)
virtual bool on_focus_in_event (const Glib::RefPtr< Item >& target, GdkEventFocus* event)
virtual bool on_focus_out_event (const Glib::RefPtr< Item >& target, GdkEventFocus* event)
virtual bool on_key_press_event (const Glib::RefPtr< Item >& target, GdkEventKey* event)
virtual bool on_key_release_event (const Glib::RefPtr< Item >& target, GdkEventKey* event)
virtual bool on_grab_broken_event (const Glib::RefPtr< Item >& target, GdkEventGrabBroken* event)
virtual void on_child_notify (GParamSpec* pspec)
virtual void on_animation_finished (bool stopped)
virtual bool on_scroll_event (const Glib::RefPtr< Item >& target, GdkEventScroll* event)

Related Functions

(Note that these are not member functions.)


Glib::RefPtr< Goocanvas::Itemwrap (GooCanvasItem* object, bool take_copy=false)
 A Glib::wrap() method for this object.

Constructor & Destructor Documentation

virtual Goocanvas::Item::~Item (  ) [virtual]

Member Function Documentation

void Goocanvas::Item::add_child ( const Glib::RefPtr< Item >&  child,
int  pos 
)

Adds a child item to a container item at the given stack position.

Parameters:
childThe item to add.
positionThe position of the item, or -1 to place it last (at the top of the stacking order).
void Goocanvas::Item::add_child ( const Glib::RefPtr< Item >&  child )
virtual void Goocanvas::Item::add_child_vfunc ( const Glib::RefPtr< Item >&  child,
int  position 
) [protected, virtual]
static void Goocanvas::Item::add_interface ( GType  gtype_implementer ) [static]
void Goocanvas::Item::allocate_area ( const Cairo::RefPtr< Cairo::Context > &  context,
const Bounds requested_area,
const Bounds allocated_area,
double  x_offset,
double  y_offset 
)

This function is only intended to be used when implementing new canvas items, specifically layout items such as Goo::CanvasTable.

It allocates an area to a child Goo::CanvasItem.

Note that the parent layout item will use a transform to move each of its children for the layout, so there is no need for the child item to reposition itself. It only needs to recalculate its device bounds.

To help recalculate the item's device bounds, the x_offset and y_offset of the child item's allocated position from its requested position are provided. Simple items can just add these to their bounds.

Parameters:
crA cairo context.
requested_areaThe area that the item originally requested, in the parent's coordinate space.
allocated_areaThe area that the item has been allocated, in the parent's coordinate space.
x_offsetThe x offset of the allocated area from the requested area in the device coordinate space.
y_offsetThe y offset of the allocated area from the requested area in the device coordinate space.
virtual void Goocanvas::Item::allocate_area_vfunc ( const Cairo::RefPtr< Cairo::Context > &  cr,
const Bounds requested_area,
const Bounds allocated_area,
double  x_offset,
double  y_offset 
) [protected, virtual]
void Goocanvas::Item::animate ( double  x,
double  y,
double  scale,
double  degrees,
bool  absolute,
int  duration,
int  step_time,
GooCanvasAnimateType  type 
)

Animates an item from its current position to the given offsets, scale and rotation.

Parameters:
xThe final x coordinate.
yThe final y coordinate.
scaleThe final scale.
degreesThe final rotation. This can be negative to rotate anticlockwise, and can also be greater than 360 to rotate a number of times.
absoluteIf the x, y, scale and degrees values are absolute, or relative to the current transform. Note that absolute animations only work if the item currently has a simple transform. If the item has a shear or some other complicated transform it may result in strange animations.
durationThe duration of the animation, in milliseconds (1/1000ths of a second).
step_timeThe time between each animation step, in milliseconds.
typeSpecifies what happens when the animation finishes.
void Goocanvas::Item::ensure_updated (  )

This function is only intended to be used when implementing new canvas items.

It updates the canvas immediately, if an update is scheduled. This ensures that all item bounds are up-to-date.

int Goocanvas::Item::find_child ( const Glib::RefPtr< Item >&  child )

Attempts to find the given child item with the container's stack.

Parameters:
childThe child item to find.
Returns:
The position of the given child item, or -1 if it isn't found.
Bounds Goocanvas::Item::get_bounds (  ) const

Reimplemented in Goocanvas::ItemSimple.

virtual void Goocanvas::Item::get_bounds_vfunc ( Bounds bounds ) const [protected, virtual]
Canvas* Goocanvas::Item::get_canvas (  )

Returns: the Goo::Canvas.

Returns:
The Goo::Canvas.
const Canvas* Goocanvas::Item::get_canvas (  ) const

Returns: the Goo::Canvas.

Returns:
The Goo::Canvas.
virtual Canvas* Goocanvas::Item::get_canvas_vfunc (  ) const [protected, virtual]
Glib::RefPtr<Item> Goocanvas::Item::get_child ( int  child_num )

Gets the child item at the given stack position.

Parameters:
child_numThe position of a child in the container's stack.
Returns:
The child item at the given stack position, or 0 if child_num is out of range.
Glib::RefPtr<const Item> Goocanvas::Item::get_child ( int  child_num ) const

Gets the child item at the given stack position.

Parameters:
child_numThe position of a child in the container's stack.
Returns:
The child item at the given stack position, or 0 if child_num is out of range.
template <class PropertyType >
void Goocanvas::Item::get_child_property ( const Glib::RefPtr< Item >&  child,
const Glib::ustring the_property_name,
PropertyType &  value 
) const
void Goocanvas::Item::get_child_property_value ( const Glib::RefPtr< Item >&  child,
const Glib::ustring property_name,
Glib::ValueBase value 
) const

Gets a child property of child.

Parameters:
childA child Goo::CanvasItem.
property_nameThe name of the child property to get.
valueA location to return the value.
virtual void Goocanvas::Item::get_child_property_vfunc ( const Glib::RefPtr< Item >&  child,
guint  property_id,
Glib::ValueBase value,
GParamSpec *  pspec 
) const [protected, virtual]
virtual Glib::RefPtr<Item> Goocanvas::Item::get_child_vfunc ( int  child_num ) const [protected, virtual]
bool Goocanvas::Item::get_is_static (  ) const
virtual bool Goocanvas::Item::get_is_static_vfunc (  ) const [protected, virtual]
std::vector< Glib::RefPtr<Item> > Goocanvas::Item::get_items_at ( double  x,
double  y,
const Cairo::RefPtr< Cairo::Context > &  context,
bool  is_pointer_event,
bool  parent_is_visible,
const std::vector< Glib::RefPtr< Item > >&  found_items 
)

This function is only intended to be used when implementing new canvas items, specifically container items such as Goo::CanvasGroup.

It gets the items at the given point.

Parameters:
xThe x coordinate of the point.
yThe y coordinate of the point.
crA cairo contect.
is_pointer_eventtrue if the "pointer-events" properties of items should be used to determine which parts of the item are tested.
parent_is_visibletrue if the parent item is visible (which implies that all ancestors are also visible).
found_itemsThe list of items found so far.
Returns:
The found_items list, with any more found items added onto the start of the list, leaving the top item first.
std::vector< Glib::RefPtr<const Item> > Goocanvas::Item::get_items_at ( double  x,
double  y,
const Cairo::RefPtr< Cairo::Context > &  context,
bool  is_pointer_event,
bool  parent_is_visible,
const std::vector< Glib::RefPtr< const Item > >&  found_items 
) const

This function is only intended to be used when implementing new canvas items, specifically container items such as Goo::CanvasGroup.

It gets the items at the given point.

Parameters:
xThe x coordinate of the point.
yThe y coordinate of the point.
crA cairo contect.
is_pointer_eventtrue if the "pointer-events" properties of items should be used to determine which parts of the item are tested.
parent_is_visibletrue if the parent item is visible (which implies that all ancestors are also visible).
found_itemsThe list of items found so far.
Returns:
The found_items list, with any more found items added onto the start of the list, leaving the top item first.
std::vector< Glib::RefPtr<Item> > Goocanvas::Item::get_items_at ( double  x,
double  y,
const Cairo::RefPtr< Cairo::Context > &  context,
bool  is_pointer_event,
bool  parent_is_visible 
)
std::vector< Glib::RefPtr<const Item> > Goocanvas::Item::get_items_at ( double  x,
double  y,
const Cairo::RefPtr< Cairo::Context > &  context,
bool  is_pointer_event,
bool  parent_is_visible 
) const
virtual std::vector<Glib::RefPtr<Item> > Goocanvas::Item::get_items_at_vfunc ( double  x,
double  y,
const Cairo::RefPtr< Cairo::Context > &  context,
bool  is_pointer_event,
bool  is_parent_visible,
const std::vector< Glib::RefPtr< Item > >&  found_items 
) [protected, virtual]
Glib::RefPtr<ItemModel> Goocanvas::Item::get_model (  )

Gets the model of the given canvas item.

Returns:
The item's model, or 0 if it has no model.
Glib::RefPtr<const ItemModel> Goocanvas::Item::get_model (  ) const

Gets the model of the given canvas item.

Returns:
The item's model, or 0 if it has no model.
virtual Glib::RefPtr<ItemModel> Goocanvas::Item::get_model_vfunc (  ) const [protected, virtual]
int Goocanvas::Item::get_n_children (  ) const

Gets the number of children of the container.

Returns:
The number of children.
virtual int Goocanvas::Item::get_n_children_vfunc (  ) const [protected, virtual]
Glib::RefPtr<Item> Goocanvas::Item::get_parent (  )

Gets the parent of the given item.

Returns:
The parent item, or 0 if the item has no parent.
Glib::RefPtr<const Item> Goocanvas::Item::get_parent (  ) const

Gets the parent of the given item.

Returns:
The parent item, or 0 if the item has no parent.
virtual Glib::RefPtr<Item> Goocanvas::Item::get_parent_vfunc (  ) const [protected, virtual]
bool Goocanvas::Item::get_requested_area ( const Cairo::RefPtr< Cairo::Context > &  context,
Bounds bounds 
) const

This function is only intended to be used when implementing new canvas items, specifically layout items such as Goo::CanvasTable.

It gets the requested area of a child item.

Parameters:
crA cairo context.
requested_areaA Goo::CanvasBounds to return the requested area in, in the parent's coordinate space.
Returns:
true if the item should be allocated space.
virtual bool Goocanvas::Item::get_requested_area_vfunc ( const Cairo::RefPtr< Cairo::Context > &  cr,
GooCanvasBounds *  requested_area 
) const [protected, virtual]
double Goocanvas::Item::get_requested_height ( const Cairo::RefPtr< Cairo::Context > &  context,
double  width 
) const

This function is only intended to be used when implementing new canvas items, specifically layout items such as Goo::CanvasTable.

It gets the requested height of a child item, assuming it is allocated the given width. This is useful for text items whose requested height may change depending on the allocated width.

Parameters:
crA cairo context.
widthThe width that the item may be allocated.
Returns:
The requested height of the item, given the allocated width, or -1 if the item doesn't support this method or its height doesn't change when allocated different widths.
virtual double Goocanvas::Item::get_requested_height_vfunc ( const Cairo::RefPtr< Cairo::Context > &  cr,
double  width 
) [protected, virtual]
bool Goocanvas::Item::get_simple_transform ( double &  x,
double &  y,
double &  scale,
double &  rotation 
) const

This function can be used to get the position, scale and rotation of an item, providing that the item has a simple transformation matrix (e.g. set with set_simple_transform(), or using a combination of simple translate, scale and rotate operations).

If the item has a complex transformation matrix the results will be incorrect.

Parameters:
xReturns the x coordinate of the origin of the item's coordinate space.
yReturns the y coordinate of the origin of the item's coordinate space.
scaleReturns the scale of the item.
rotationReturns the clockwise rotation of the item, in degrees (0-360).
Returns:
true if a transform is set.
Glib::RefPtr<Style> Goocanvas::Item::get_style (  )

Gets the item's style.

If the item doesn't have its own style it will return its parent's style.

Returns:
The item's style.
Glib::RefPtr<const Style> Goocanvas::Item::get_style (  ) const

Gets the item's style.

If the item doesn't have its own style it will return its parent's style.

Returns:
The item's style.
virtual Glib::RefPtr<Style> Goocanvas::Item::get_style_vfunc (  ) const [protected, virtual]
bool Goocanvas::Item::get_transform ( Cairo::Matrix matrix )

Gets the transformation matrix of an item.

Parameters:
transformThe place to store the transform.
Returns:
true if a transform is set.
bool Goocanvas::Item::get_transform_for_child ( const Glib::RefPtr< Item >&  child,
Cairo::Matrix transform 
)

Gets the transformation matrix of an item combined with any special transform needed for the given child.

These special transforms are used by layout items such as Goo::CanvasTable.

Parameters:
childA child of item.
transformThe place to store the transform.
Returns:
true if a transform is set.
virtual bool Goocanvas::Item::get_transform_for_child_vfunc ( const Glib::RefPtr< Item >&  child,
Cairo::Matrix transform 
) const [protected, virtual]
virtual bool Goocanvas::Item::get_transform_vfunc ( Cairo::Matrix transform ) const [protected, virtual]
GooCanvasItem* Goocanvas::Item::gobj (  ) [inline]
const GooCanvasItem* Goocanvas::Item::gobj (  ) const [inline]
bool Goocanvas::Item::is_container (  ) const

Tests to see if the given item is a container.

Returns:
true if the item is a container.
bool Goocanvas::Item::is_visible (  ) const

Checks if the item is visible.

This entails checking the item's own visibility setting, as well as those of its ancestors.

Note that the item may be scrolled off the screen and so may not be actually visible to the user.

Returns:
true if the item is visible.
virtual bool Goocanvas::Item::is_visible_vfunc (  ) const [protected, virtual]
void Goocanvas::Item::lower ( const Glib::RefPtr< Item >&  below )

Lowers an item in the stacking order.

Parameters:
belowThe item to lower item below, or 0 to lower item to the bottom of the stack.
void Goocanvas::Item::lower (  )

Lower the item to the bottom of the stack.

void Goocanvas::Item::move_child ( int  old_position,
int  new_position 
)

Moves a child item to a new stack position within the container.

Parameters:
old_positionThe current position of the child item.
new_positionThe new position of the child item.
virtual void Goocanvas::Item::move_child_vfunc ( int  old_position,
int  new_position 
) [protected, virtual]
virtual void Goocanvas::Item::on_animation_finished ( bool  stopped ) [protected, virtual]
virtual bool Goocanvas::Item::on_button_press_event ( const Glib::RefPtr< Item >&  target,
GdkEventButton *  event 
) [protected, virtual]
virtual bool Goocanvas::Item::on_button_release_event ( const Glib::RefPtr< Item >&  target,
GdkEventButton *  event 
) [protected, virtual]
virtual void Goocanvas::Item::on_child_notify ( GParamSpec *  pspec ) [protected, virtual]
virtual bool Goocanvas::Item::on_enter_notify_event ( const Glib::RefPtr< Item >&  target,
GdkEventCrossing *  event 
) [protected, virtual]
virtual bool Goocanvas::Item::on_focus_in_event ( const Glib::RefPtr< Item >&  target,
GdkEventFocus *  event 
) [protected, virtual]
virtual bool Goocanvas::Item::on_focus_out_event ( const Glib::RefPtr< Item >&  target,
GdkEventFocus *  event 
) [protected, virtual]
virtual bool Goocanvas::Item::on_grab_broken_event ( const Glib::RefPtr< Item >&  target,
GdkEventGrabBroken *  event 
) [protected, virtual]
virtual bool Goocanvas::Item::on_key_press_event ( const Glib::RefPtr< Item >&  target,
GdkEventKey *  event 
) [protected, virtual]
virtual bool Goocanvas::Item::on_key_release_event ( const Glib::RefPtr< Item >&  target,
GdkEventKey *  event 
) [protected, virtual]
virtual bool Goocanvas::Item::on_leave_notify_event ( const Glib::RefPtr< Item >&  target,
GdkEventCrossing *  event 
) [protected, virtual]
virtual bool Goocanvas::Item::on_motion_notify_event ( const Glib::RefPtr< Item >&  target,
GdkEventMotion *  event 
) [protected, virtual]
virtual bool Goocanvas::Item::on_scroll_event ( const Glib::RefPtr< Item >&  target,
GdkEventScroll *  event 
) [protected, virtual]
void Goocanvas::Item::paint ( const Cairo::RefPtr< Cairo::Context > &  context,
const Bounds bounds,
double  scale 
)

This function is only intended to be used when implementing new canvas items, specifically container items such as Goo::CanvasGroup.

It paints the item and all children if they intersect the given bounds.

Note that the scale argument may be different to the current scale in the Goo::CanvasItem, e.g. when the canvas is being printed.

Parameters:
crA cairo context.
boundsThe bounds that need to be repainted.
scaleThe scale to use to determine whether an item should be painted. See Goo::CanvasItem:visibility-threshold.
virtual void Goocanvas::Item::paint_vfunc ( const Cairo::RefPtr< Cairo::Context > &  cr,
const Bounds bounds,
double  scale 
) [protected, virtual]
Glib::PropertyProxy<bool> Goocanvas::Item::property_can_focus (  )

If the item can take the keyboard focus.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Reimplemented in Goocanvas::ItemSimple.

Glib::PropertyProxy_ReadOnly<bool> Goocanvas::Item::property_can_focus (  ) const

If the item can take the keyboard focus.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Reimplemented in Goocanvas::ItemSimple.

Glib::PropertyProxy<Glib::ustring> Goocanvas::Item::property_description (  )

A description of the item for use by assistive technologies.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Reimplemented in Goocanvas::ItemSimple.

Glib::PropertyProxy_ReadOnly<Glib::ustring> Goocanvas::Item::property_description (  ) const

A description of the item for use by assistive technologies.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Reimplemented in Goocanvas::ItemSimple.

Glib::PropertyProxy_ReadOnly<double> Goocanvas::Item::property_height (  ) const

The height of the item.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy<double> Goocanvas::Item::property_height (  )

The height of the item.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy< Glib::RefPtr<Item> > Goocanvas::Item::property_parent (  )

The parent item.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Reimplemented in Goocanvas::ItemSimple.

Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Item> > Goocanvas::Item::property_parent (  ) const

The parent item.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Reimplemented in Goocanvas::ItemSimple.

Glib::PropertyProxy<PointerEvents> Goocanvas::Item::property_pointer_events (  )

Specifies when the item receives pointer events.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Reimplemented in Goocanvas::ItemSimple.

Glib::PropertyProxy_ReadOnly<PointerEvents> Goocanvas::Item::property_pointer_events (  ) const

Specifies when the item receives pointer events.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Reimplemented in Goocanvas::ItemSimple.

Glib::PropertyProxy<Glib::ustring> Goocanvas::Item::property_title (  )

A short context-rich description of the item for use by assistive technologies.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Reimplemented in Goocanvas::ItemSimple.

Glib::PropertyProxy_ReadOnly<Glib::ustring> Goocanvas::Item::property_title (  ) const

A short context-rich description of the item for use by assistive technologies.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Reimplemented in Goocanvas::ItemSimple.

Glib::PropertyProxy_ReadOnly<Cairo::Matrix*> Goocanvas::Item::property_transform (  ) const

The transformation matrix of the item.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Reimplemented in Goocanvas::ItemSimple.

Glib::PropertyProxy<Cairo::Matrix*> Goocanvas::Item::property_transform (  )

The transformation matrix of the item.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Reimplemented in Goocanvas::ItemSimple.

Glib::PropertyProxy<ItemVisibility> Goocanvas::Item::property_visibility (  )

When the canvas item is visible.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Reimplemented in Goocanvas::ItemSimple.

Glib::PropertyProxy_ReadOnly<ItemVisibility> Goocanvas::Item::property_visibility (  ) const

When the canvas item is visible.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Reimplemented in Goocanvas::ItemSimple.

Glib::PropertyProxy_ReadOnly<double> Goocanvas::Item::property_visibility_threshold (  ) const

The scale threshold at which the item becomes visible.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Reimplemented in Goocanvas::ItemSimple.

Glib::PropertyProxy<double> Goocanvas::Item::property_visibility_threshold (  )

The scale threshold at which the item becomes visible.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Reimplemented in Goocanvas::ItemSimple.

Glib::PropertyProxy<double> Goocanvas::Item::property_width (  )

The width of the item.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly<double> Goocanvas::Item::property_width (  ) const

The width of the item.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly<double> Goocanvas::Item::property_x (  ) const

The x coordinate of the left side of the item.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy<double> Goocanvas::Item::property_x (  )

The x coordinate of the left side of the item.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy<double> Goocanvas::Item::property_y (  )

The y coordinate of the top of the item.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly<double> Goocanvas::Item::property_y (  ) const

The y coordinate of the top of the item.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.
void Goocanvas::Item::raise ( const Glib::RefPtr< Item >&  above )

Raises an item in the stacking order.

Parameters:
aboveThe item to raise item above, or 0 to raise item to the top of the stack.
void Goocanvas::Item::raise (  )

Raise the item to the top of the stack.

void Goocanvas::Item::remove (  )

Removes an item from its parent.

If the item is in a canvas it will be removed.

This would normally also result in the item being freed.

void Goocanvas::Item::remove_child ( int  child_num )

Removes the child item at the given position.

Parameters:
child_numThe position of the child item to remove.
virtual void Goocanvas::Item::remove_child_vfunc ( int  child_num ) [protected, virtual]
void Goocanvas::Item::request_update (  )

This function is only intended to be used when implementing new canvas items.

It requests that an update of the item is scheduled. It will be performed as soon as the application is idle, and before the canvas is redrawn.

virtual void Goocanvas::Item::request_update_vfunc (  ) [protected, virtual]
void Goocanvas::Item::rotate ( double  degrees,
double  cx,
double  cy 
)

Rotates the item's coordinate system by the given amount, about the given origin.

Parameters:
degreesThe clockwise angle of rotation.
cxThe x coordinate of the origin of the rotation.
cyThe y coordinate of the origin of the rotation.
void Goocanvas::Item::scale ( double  sx,
double  sy 
)

Scales the item's coordinate system by the given amounts.

Parameters:
sxThe amount to scale the horizontal axis.
syThe amount to scale the vertical axis.
void Goocanvas::Item::set_canvas ( Canvas canvas )

This function is only intended to be used when implementing new canvas items, specifically container items such as Goo::CanvasGroup.

It sets the canvas of the item.

Parameters:
canvasA Goo::Canvas.
virtual void Goocanvas::Item::set_canvas_vfunc ( Canvas canvas ) [protected, virtual]
template <class PropertyType >
void Goocanvas::Item::set_child_property ( const Glib::RefPtr< Item >&  child,
const Glib::ustring the_property_name,
const PropertyType &  value 
)
void Goocanvas::Item::set_child_property_value ( const Glib::RefPtr< Item >&  child,
const Glib::ustring property_name,
const Glib::ValueBase value 
)

Sets a child property of child.

Parameters:
childA child Goo::CanvasItem.
property_nameThe name of the child property to set.
valueThe value to set the property to.
virtual void Goocanvas::Item::set_child_property_vfunc ( const Glib::RefPtr< Item >&  child,
guint  property_id,
const Glib::ValueBase value,
GParamSpec *  pspec 
) [protected, virtual]
void Goocanvas::Item::set_is_static ( bool  is_static = true )
virtual void Goocanvas::Item::set_is_static_vfunc ( bool  is_static ) [protected, virtual]
void Goocanvas::Item::set_model ( const Glib::RefPtr< ItemModel >&  model )

Sets the model of the given canvas item.

Parameters:
modelA Goo::CanvasItemModel.

Reimplemented in Goocanvas::ItemSimple.

virtual void Goocanvas::Item::set_model_vfunc ( const Glib::RefPtr< ItemModel >&  model ) [protected, virtual]
void Goocanvas::Item::set_parent ( const Glib::RefPtr< Item >&  parent )

This function is only intended to be used when implementing new canvas items (specifically container items such as Goo::CanvasGroup).

It sets the parent of the child item. <!--PARAMETERS--> <note><para> This function cannot be used to add an item to a group or to change the parent of an item. To do that use the Goo::CanvasItem:parent property. </para></note>

Parameters:
parentThe new parent item.
virtual void Goocanvas::Item::set_parent_vfunc ( const Glib::RefPtr< Item >&  parent ) [protected, virtual]
void Goocanvas::Item::set_simple_transform ( double  x,
double  y,
double  scale,
double  rotation 
)

A convenience function to set the item's transformation matrix.

Parameters:
xThe x coordinate of the origin of the item's coordinate space.
yThe y coordinate of the origin of the item's coordinate space.
scaleThe scale of the item.
rotationThe clockwise rotation of the item, in degrees.
void Goocanvas::Item::set_style ( const Glib::RefPtr< Style >&  style )

Sets the item's style, by copying the properties from the given style.

Parameters:
styleA style.
virtual void Goocanvas::Item::set_style_vfunc ( const Glib::RefPtr< Style >&  style ) [protected, virtual]
void Goocanvas::Item::set_transform ( const Cairo::Matrix matrix )

Sets the transformation matrix of an item.

Parameters:
transformThe new transformation matrix, or 0 to reset the transformation to the identity matrix.
virtual void Goocanvas::Item::set_transform_vfunc ( const Cairo::Matrix transform ) [protected, virtual]
Glib::SignalProxy1< void,bool > Goocanvas::Item::signal_animation_finished (  )
Prototype:
void on_my_animation_finished(bool stopped)
Glib::SignalProxy2< bool,const Glib::RefPtr<Item>&,GdkEventButton* > Goocanvas::Item::signal_button_press_event (  )
Prototype:
bool on_my_button_press_event(const Glib::RefPtr<Item>& target, GdkEventButton* event)
Glib::SignalProxy2< bool,const Glib::RefPtr<Item>&,GdkEventButton* > Goocanvas::Item::signal_button_release_event (  )
Prototype:
bool on_my_button_release_event(const Glib::RefPtr<Item>& target, GdkEventButton* event)
Glib::SignalProxy1< void,GParamSpec* > Goocanvas::Item::signal_child_notify (  )
Prototype:
void on_my_child_notify(GParamSpec* pspec)
Glib::SignalProxy2< bool,const Glib::RefPtr<Item>&,GdkEventCrossing* > Goocanvas::Item::signal_enter_notify_event (  )
Prototype:
bool on_my_enter_notify_event(const Glib::RefPtr<Item>& target, GdkEventCrossing* event)
Glib::SignalProxy2< bool,const Glib::RefPtr<Item>&,GdkEventFocus* > Goocanvas::Item::signal_focus_in_event (  )
Prototype:
bool on_my_focus_in_event(const Glib::RefPtr<Item>& target, GdkEventFocus* event)
Glib::SignalProxy2< bool,const Glib::RefPtr<Item>&,GdkEventFocus* > Goocanvas::Item::signal_focus_out_event (  )
Prototype:
bool on_my_focus_out_event(const Glib::RefPtr<Item>& target, GdkEventFocus* event)
Glib::SignalProxy2< bool,const Glib::RefPtr<Item>&,GdkEventGrabBroken* > Goocanvas::Item::signal_grab_broken_event (  )
Prototype:
bool on_my_grab_broken_event(const Glib::RefPtr<Item>& target, GdkEventGrabBroken* event)
Glib::SignalProxy2< bool,const Glib::RefPtr<Item>&,GdkEventKey* > Goocanvas::Item::signal_key_press_event (  )
Prototype:
bool on_my_key_press_event(const Glib::RefPtr<Item>& target, GdkEventKey* event)
Glib::SignalProxy2< bool,const Glib::RefPtr<Item>&,GdkEventKey* > Goocanvas::Item::signal_key_release_event (  )
Prototype:
bool on_my_key_release_event(const Glib::RefPtr<Item>& target, GdkEventKey* event)
Glib::SignalProxy2< bool,const Glib::RefPtr<Item>&,GdkEventCrossing* > Goocanvas::Item::signal_leave_notify_event (  )
Prototype:
bool on_my_leave_notify_event(const Glib::RefPtr<Item>& target, GdkEventCrossing* event)
Glib::SignalProxy2< bool,const Glib::RefPtr<Item>&,GdkEventMotion* > Goocanvas::Item::signal_motion_notify_event (  )
Prototype:
bool on_my_motion_notify_event(const Glib::RefPtr<Item>& target, GdkEventMotion* event)
Glib::SignalProxy2< bool,const Glib::RefPtr<Item>&,GdkEventScroll* > Goocanvas::Item::signal_scroll_event (  )
Prototype:
bool on_my_scroll_event(const Glib::RefPtr<Item>& target, GdkEventScroll* event)
void Goocanvas::Item::skew_x ( double  degrees,
double  cx,
double  cy 
)

Skews the item's coordinate system along the x axis by the given amount, about the given origin.

Parameters:
degreesThe skew angle.
cxThe x coordinate of the origin of the skew transform.
cyThe y coordinate of the origin of the skew transform.
void Goocanvas::Item::skew_y ( double  degrees,
double  cx,
double  cy 
)

Skews the item's coordinate system along the y axis by the given amount, about the given origin.

Parameters:
degreesThe skew angle.
cxThe x coordinate of the origin of the skew transform.
cyThe y coordinate of the origin of the skew transform.
void Goocanvas::Item::stop_animation (  )

Stops any current animation for the given item, leaving it at its current position.

void Goocanvas::Item::translate ( double  tx,
double  ty 
)

Translates the origin of the item's coordinate system by the given amounts.

Parameters:
txThe amount to move the origin in the horizontal direction.
tyThe amount to move the origin in the vertical direction.
void Goocanvas::Item::update ( bool  entire_tree,
const Cairo::RefPtr< Cairo::Context > &  context,
Bounds bounds 
)

This function is only intended to be used when implementing new canvas items, specifically container items such as Goo::CanvasGroup.

Updates the item, if needed, and any children.

Parameters:
entire_treeIf the entire subtree should be updated.
crA cairo context.
boundsA Goo::CanvasBounds to return the new bounds in.
virtual void Goocanvas::Item::update_vfunc ( bool  entire_tree,
const Cairo::RefPtr< Cairo::Context > &  cr,
Bounds bounds 
) [protected, virtual]

Friends And Related Function Documentation

Glib::RefPtr< Goocanvas::Item > wrap ( GooCanvasItem *  object,
bool  take_copy = false 
) [related]

A Glib::wrap() method for this object.

Parameters:
objectThe C instance.
take_copyFalse if the result should take ownership of the C instance. True if it should take a new copy or ref.
Returns:
A C++ instance that wraps this C instance.

The documentation for this class was generated from the following file: