Top | ![]() |
![]() |
![]() |
![]() |
ccss_property_t * | (*ccss_property_create_f) () |
void | (*ccss_property_destroy_f) () |
bool | (*ccss_property_convert_f) () |
bool | (*ccss_property_factory_f) () |
bool | (*ccss_property_inherit_f) () |
char * | (*ccss_property_serialize_f) () |
void | ccss_property_init () |
ccss_property_t * (*ccss_property_create_f) (struct ccss_grammar_ const *grammar
,CRTerm const *values
,void *user_data
);
Hook function for instantiating a property.
grammar |
the grammar associated with this property. |
|
values |
libcroco CSS values to parse for the property, see CRTerm. |
|
user_data |
user data passed to property- or function-handler. |
void
(*ccss_property_destroy_f) (ccss_property_t *self
);
Hook function for deallocating a property instance.
bool (*ccss_property_convert_f) (ccss_property_t const *self
,ccss_property_type_t target
,void *value
);
Hook function for converting a property instance.
self |
pointer to property instance. |
|
target |
conversion target type, see ccss_property_type_t. |
|
value |
pointer to memory location where to place the converted value. |
bool (*ccss_property_factory_f) (struct ccss_grammar_ const *grammar
,struct ccss_block_ *block
,char const *name
,CRTerm const *values
,void *user_data
);
Hook function to handle the creation of multiple properties from a single CSS property, e.g. `border'.
grammar |
the grammar associated with this property. |
|
block |
the ccss_block_t the properties will be associated to. |
|
name |
name of the property. |
|
values |
libcroco CSS values to parse for the property, see CRTerm. |
|
user_data |
user data passed to property- or function-handler. |
bool (*ccss_property_inherit_f) (struct ccss_style_ const *container_style
,struct ccss_style_ *style
);
Hook function to inherit multi-value properties like `border'.
char *
(*ccss_property_serialize_f) (ccss_property_t const *self
);
Hook function to reformat a property to CSS syntax.
void ccss_property_init (ccss_property_t *self
,ccss_property_class_t const *property_class
);
Initializes self
, needs to be called before the property is
registered with ccss.
typedef struct { char const *name; ccss_property_create_f create; ccss_property_destroy_f destroy; ccss_property_convert_f convert; ccss_property_factory_f factory; ccss_property_inherit_f inherit; ccss_property_serialize_f serialize; } ccss_property_class_t;
Property interpretation vtable entry.
property name. |
||
ccss_property_create_f |
allocation hook, see ccss_property_create_f. |
|
ccss_property_destroy_f |
deallocation hook, see ccss_property_destroy_f. |
|
ccss_property_convert_f |
conversion hook, see ccss_property_convert_f. |
|
ccss_property_factory_f |
factory hook, see ccss_property_factory_f. |
|
ccss_property_inherit_f |
inherit hook, see ccss_property_inherit_f. |
|
ccss_property_serialize_f |
serialize hook, see ccss_property_serialize_f. |
typedef struct ccss_property_ ccss_property_t;
This structure has to be embedded at the beginning of every custom property.
typedef struct { ccss_property_t base; char *name; CRTerm *values; } ccss_property_generic_t;
Implementation of a generic, single-value property.
ccss_property_t |
base property. |
|
name of the property, e.g. |
||
CRTerm * |
linked list of values. |
This enum must be embedded as first field in every property implementation.