Object Hierarchy

  GObject
   +----GocItem
         +----GocStyledItem
               +----GocArc
               +----GocCircle
               +----GocEllipse
               +----GocLine
               +----GocPath
               +----GocPolygon
               +----GocPolyline
               +----GocRectangle
               +----GocText

Implemented Interfaces

GocStyledItem implements GOStyledObject.

Properties

  "scale-line-width"         gboolean              : Read / Write
  "style"                    GOStyle*              : Read / Write

Signals

  "style-changed"                                  : Run Last

Description

The virtual base object for canvas items with style.

Details

GocStyledItem

typedef struct _GocStyledItem GocStyledItem;


struct GocStyledItemClass

struct GocStyledItemClass {
	/* virtual */
	void	  (*init_style)     	(GocStyledItem *item, GOStyle *style);
	void (*reserved1) (void);
	void (*reserved2) (void);
};

init_style ()

style initialization handler.

reserved1 ()

reserved2 ()


goc_styled_item_set_cairo_line ()

gboolean            goc_styled_item_set_cairo_line      (GocStyledItem const *gsi,
                                                         cairo_t *cr);

Prepares the cairo context cr to draw a line according to the item style and canvas scale. The line width is scaled only if the scale-line-width property is set to TRUE. This function calls go_styled_object_set_cairo_line().

If the item drawing used goc_group_cairo_transform(), scale-line-width should be FALSE to avoid scaling twice, or go_styled_object_set_cairo_line() should be called directly instead.

gsi :

GocStyledItem

cr :

cairo_t

Returns :

TRUE if the line is not invisible

goc_styled_item_get_scale_line_width ()

gboolean            goc_styled_item_get_scale_line_width
                                                        (GocStyledItem const *gsi);

This function returns TRUE if the line width needs to be scaled. It will always return FALSE if the line width is 0.

gsi :

GocStyledItem

Returns :

whether the line width needs to be scaled.

goc_styled_item_set_scale_line_width ()

void                goc_styled_item_set_scale_line_width
                                                        (GocStyledItem *gsi,
                                                         gboolean scale_line_width);

Sets whether the line width needs to be scaled according to the current canvas resolution and the item transformation. It will be ignored if the line width is 0. Default value is TRUE.

gsi :

GocStyledItem

scale_line_width :

boolean

Property Details

The "scale-line-width" property

  "scale-line-width"         gboolean              : Read / Write

Whether to scale the line width when zooming.

Default value: TRUE


The "style" property

  "style"                    GOStyle*              : Read / Write

A pointer to the GOStyle object.

Signal Details

The "style-changed" signal

void                user_function                      (GocStyledItem *gsi,
                                                        GObject       *style,
                                                        gpointer       user_data)      : Run Last

The ::style-changed signal is emitted when a new style has been set on a styled item.

gsi :

the object on which the signal is emitted

style :

the new GOStyle.

user_data :

user data set when the signal handler was connected.