![]() |
![]() |
![]() |
xmlroff Reference Manual | ![]() |
---|---|---|---|---|
FoFo; FoFoClass; #define FO_FO_ERROR GQuark fo_fo_error_quark (void); enum FoFoError; FoFoAreaNew2Context; FoFoAreaIterator; FoFo* fo_fo_new (void); void fo_fo_debug_dump_properties (FoFo *fo, gint depth); void fo_fo_set_context (FoFo *fo_fo, FoContext *new_context); FoContext* fo_fo_get_context (FoFo *fo_fo); void fo_fo_update_from_context (FoFo *fo_fo, FoContext *context); FoFo* fo_fo_get_flow (FoFo *fo_fo); FoFo* fo_fo_get_tree (FoFo *fo_fo); gboolean fo_fo_get_generate_reference_area (FoFo *fo_fo); gboolean fo_fo_get_allow_mixed_content (FoFo *fo_fo); gboolean fo_fo_validate_content (FoFo *fo, GError **error); gboolean fo_fo_resolve_property_attributes (FoNode *fo_node, gpointer data); void fo_fo_children_properties_resolve (FoFo *this_fo, FoArea *this_fo_parent_area, FoArea **new_area, GHashTable *prop_eval_hash, FoDoc *fo_doc, gboolean continue_after_error, FoDebugFlag debug_level, FoWarningFlag warning_mode, GError **error); void fo_fo_validate (FoFo *fo, FoContext *current_context, FoContext *parent_context, GError **error); FoFo* fo_fo_clone (FoFo *original); void fo_fo_area_new (FoFo *fo, FoDoc *fo_doc, FoArea *parent_area, FoArea **new_area, guint debug_level); void fo_fo_area_new2 (FoFo *fo, FoFoAreaNew2Context *context, GError **error); void fo_fo_trim_whitespace_children (FoFo *fo); gboolean fo_fo_validate_content_empty (FoFo *fo, GError **error); gboolean fo_fo_validate_content_block_plus (FoFo *fo, GError **error); void fo_fo_validate_pcdata_or_inline (FoNode *fo_node, gboolean *is_not_pcdata_inline); void fo_fo_validate_block_or_whitespace (FoNode *fo_node, gboolean *is_not_block_or_whitespace); void fo_fo_validate_pcdata_inline_block_neutral (FoNode *fo_node, gpointer data); FoFoAreaIterator* fo_fo_get_area_iterator (FoFo *fo); FoArea* fo_fo_area_iterator_get_area (const FoFoAreaIterator *iterator); gboolean fo_fo_area_iterator_next (FoFoAreaIterator *iterator);
GObject +----FoObject +----FoNode +----FoFo +----FoMarkerParent +----FoCharacter +----FoColorProfile +----FoConditionalPageMasterReference +----FoDeclarations +----FoExternalGraphic +----FoFloat +----FoFlow +----FoFootnoteBody +----FoFootnote +----FoInitialPropertySet +----FoInstreamForeignObject +----FoLayoutMasterSet +----FoLeader +----FoMarker +----FoMultiCase +----FoMultiProperties +----FoMultiPropertySet +----FoMultiSwitch +----FoMultiToggle +----FoPageNumberCitation +----FoPageNumber +----FoPageSequence +----FoPageSequenceMaster +----FoRegionAfter +----FoRegionBefore +----FoRegionBody +----FoRegionEnd +----FoRegionStart +----FoRepeatablePageMasterAlternatives +----FoRepeatablePageMasterReference +----FoRetrieveMarker +----FoRoot +----FoSimplePageMaster +----FoSinglePageMasterReference +----FoStaticContent +----FoTableColumn +----FoTableRow +----FoText +----FoTitle +----FoTree
FoFo is required by FoInlineFoIface, FoTableBorderFoIface and FoBlockFoIface.
"allow-mixed-content" gboolean : Read "context" FoContext* : Read "flow" FoFo* : Read "generate-reference-area" gboolean : Read "tree" FoFo* : Read
typedef enum { FO_FO_ERROR_FAILED, /* Generic error code */ FO_FO_ERROR_WARNING, /* Non-fatal error */ FO_FO_ERROR_EMPTY, /* FO should not be empty */ FO_FO_ERROR_NOT_EMPTY, /* FO should be empty */ FO_FO_ERROR_NOT_BLOCK, /* FO should contain (%block;)+ */ FO_FO_ERROR_INVALID_CHILD, /* FO not allowed as child of parent FO */ FO_FO_ERROR_INVALID_CONTENT, /* FO content does not match content model */ FO_FO_ERROR_ENUMERATION_TOKEN, /* Unrecognised enumeration token */ FO_FO_ERROR_DATATYPE, /* Invalid datatype value for property */ FO_FO_ERROR_DATATYPE_REPLACE, /* Invalid datatype value for property replaced */ FO_FO_ERROR_DATATYPE_NULL, /* Invalid datatype value for property: NULL */ FO_FO_ERROR_UNSUPPORTED_PROPERTY, /* Unsupported property */ FO_FO_ERROR_NO_IMAGE, /* No image */ FO_FO_ERROR_LAST } FoFoError;
typedef struct { FoDoc *fo_doc; FoArea *parent_area; FoArea **new_area; gboolean continue_after_error; FoDebugFlag debug_level; FoWarningFlag warning_mode; } FoFoAreaNew2Context;
FoFo* fo_fo_new (void);
Creates a new FoFo initialized to default value.
Returns : |
the new FoFo |
void fo_fo_debug_dump_properties (FoFo *fo, gint depth);
Log debug messages for most of the instance variables and some of
the class variables of fo
.
|
FoFo whose properties to dump |
|
Indication of relative depth to be applied to the output. |
void fo_fo_set_context (FoFo *fo_fo, FoContext *new_context);
Sets the context of fo_fo
to new_context
|
The FoFo object |
|
The new context |
FoContext* fo_fo_get_context (FoFo *fo_fo);
Gets the "context" of fo_fo
|
The FoFo object |
Returns : |
The context |
void fo_fo_update_from_context (FoFo *fo_fo, FoContext *context);
Calls the FoFo-specific _update_from_context()
function to update
the FoFo's property values from the larger set of property values
maintained in the FoContext.
FoFo* fo_fo_get_flow (FoFo *fo_fo);
Gets the flow of fo_fo
|
The FoFo object
|
Returns : |
The flow |
FoFo* fo_fo_get_tree (FoFo *fo_fo);
Gets the tree of fo_fo
|
The FoFo object
|
Returns : |
The tree |
gboolean fo_fo_get_generate_reference_area (FoFo *fo_fo);
Gets whether or not the FO generates reference areas.
|
The FoFo object
|
Returns : |
The generate-reference-area class property value |
gboolean fo_fo_get_allow_mixed_content (FoFo *fo_fo);
Gets whether or not the FO allows mixed content (i.e. text nodes).
|
The FoFo object
|
Returns : |
The allow_mixed_content class property value. |
gboolean fo_fo_validate_content (FoFo *fo, GError **error);
Calls the FoFo-specific _validate_content()
function to validate
the FoFo's content model and returns the value returned by that
function.
|
FoFo whose content is to be validated |
|
GError |
Returns : |
FALSE if no content model error, otherwise TRUE |
gboolean fo_fo_resolve_property_attributes (FoNode *fo_node, gpointer data);
Resolves the values of the properties of fo_node
.
void fo_fo_children_properties_resolve (FoFo *this_fo, FoArea *this_fo_parent_area, FoArea **new_area, GHashTable *prop_eval_hash, FoDoc *fo_doc, gboolean continue_after_error, FoDebugFlag debug_level, FoWarningFlag warning_mode, GError **error);
Resolves the properties of the children of this_fo
.
|
FoFo for which to resolve properties. |
|
Parent FoArea to which to add new areas. |
|
New area, if any. |
|
Map of property names to property eval functions. |
|
Output FoDoc. |
|
Whether to continue after any formatting errors. |
|
Debug level. |
|
Warning mode. |
|
Indication of any error that occurred. |
void fo_fo_validate (FoFo *fo, FoContext *current_context, FoContext *parent_context, GError **error);
Validate and/or munge the properties of fo
.
FoFo* fo_fo_clone (FoFo *original);
Make a clone of original
and insert the clone after original
in
the fo tree. Set instance properties of the clone to match
original
.
|
Fo object to be cloned |
Returns : |
Clone of original
|
void fo_fo_area_new (FoFo *fo, FoDoc *fo_doc, FoArea *parent_area, FoArea **new_area, guint debug_level);
fo_fo_area_new
is deprecated and should not be used in newly-written code. Use fo_fo_area_new2 in new code.
Creates a new FoArea for fo
and adds it as the last child of
parent_area
.
void fo_fo_area_new2 (FoFo *fo, FoFoAreaNew2Context *context, GError **error);
Creates a new FoArea corresponding to fo
.
|
FoFo for which to create area. |
|
Context in which to create area. |
|
Indication of any error that occurred. |
void fo_fo_trim_whitespace_children (FoFo *fo);
Remove any "whitespace" children of fo
. I.e., unlink and unref any
children that are FoText that contain only whitespace or are
FoWrapperWhitespace nodes.
Leaves fo
with no "whitespace" children.
|
FoFo to trim |
gboolean fo_fo_validate_content_empty (FoFo *fo, GError **error);
Validates that fo
does not contain any child FoFo
gboolean fo_fo_validate_content_block_plus (FoFo *fo, GError **error);
Validates the fo
contains one or more FoBlockFo formatting objects.
void fo_fo_validate_pcdata_or_inline (FoNode *fo_node, gboolean *is_not_pcdata_inline);
|
|
|
void fo_fo_validate_block_or_whitespace (FoNode *fo_node, gboolean *is_not_block_or_whitespace);
|
|
|
void fo_fo_validate_pcdata_inline_block_neutral (FoNode *fo_node, gpointer data);
Validates that the content of fo_node
is only #PCDATA or FoInline or
FoNeutral formatting objects.
FoFoAreaIterator* fo_fo_get_area_iterator (FoFo *fo);
Gets a FoFoAreaIterator for iterating over the areas generated by fo
.
|
FoFo for which to get iterator. |
Returns : |
A FoFoAreaIterator. |
FoArea* fo_fo_area_iterator_get_area (const FoFoAreaIterator *iterator);
Gets the current FoArea pointed to by iterator
.
|
FoFoAreaIterator for which to get current area. |
Returns : |
The current FoArea. |
gboolean fo_fo_area_iterator_next (FoFoAreaIterator *iterator);
Makes iterator
point to the next FoArea in its list.
|
FoFoAreaIterator to modify |
Returns : |
TRUE if there is a next FoArea, FALSE if not.
|
"allow-mixed-content"
property"allow-mixed-content" gboolean : Read
Whether or not the formatting object allows mixed content.
Default value: FALSE
"generate-reference-area"
property"generate-reference-area" gboolean : Read
Whether or not the formatting object generates a reference area.
Default value: FALSE