FoDoc

FoDoc — Abstract output document type

Synopsis

                    FoDoc;
                    FoDocClass;
#define             FO_DOC_ERROR
GQuark              fo_doc_error_quark                  (void);
enum                FoDocError;
enum                FoDocLineCap;
enum                FoDocLineJoin;

FoDoc*              fo_doc_new                          (void);
FoDoc*              fo_doc_new_from_type                (const gchar *type);
FoFlagsFormat       fo_doc_formats_from_name            (const gchar *name);

void                fo_doc_open_file                    (FoDoc *fo_doc,
                                                         const gchar *filename,
                                                         FoLibfoContext *libfo_context,
                                                         GError **error);
FoLayout*           fo_doc_get_new_layout               (FoDoc *fo_doc);
const gchar*        fo_doc_get_language                 (FoDoc *fo_doc);
void                fo_doc_set_language                 (FoDoc *fo_doc,
                                                         const gchar *language);
FoEnumAreaDirection fo_doc_get_base_dir                 (FoDoc *fo_doc);
void                fo_doc_set_base_dir                 (FoDoc *fo_doc,
                                                         FoEnumAreaDirection base_dir);

Description

FoDoc provides the primitives for writing text, lines, rectangles, etc., to the output.

It is generalised so that libfo can support multiple backend implementations (and add and remove backend implementations) without having to restructure the rest of libfo.

Details

FoDoc

typedef struct _FoDoc FoDoc;


FoDocClass

typedef struct _FoDocClass FoDocClass;


FO_DOC_ERROR

#define FO_DOC_ERROR fo_doc_error_quark ()


fo_doc_error_quark ()

GQuark              fo_doc_error_quark                  (void);

Get the error quark for FoDoc.

If the quark does not yet exist, create it.

Returns :

Quark associated with FoDoc errors.

enum FoDocError

typedef enum
{
  FO_DOC_ERROR_FAILED,
  FO_DOC_ERROR_OPEN_FAILED,	     /* Cannot open output document */
  FO_DOC_ERROR_UNSUPPORTED_FORMAT,   /* Unsupported document format */
  FO_DOC_ERROR_LAST
} FoDocError;


enum FoDocLineCap

typedef enum
{
  FO_DOC_LINE_CAP_INVALID,
  FO_DOC_LINE_CAP_BUTT,
  FO_DOC_LINE_CAP_ROUND,
  FO_DOC_LINE_CAP_SQUARE,
  FO_DOC_LINE_CAP_LIMIT
} FoDocLineCap;


enum FoDocLineJoin

typedef enum
{
  FO_DOC_LINE_JOIN_INVALID,
  FO_DOC_LINE_JOIN_MITER,
  FO_DOC_LINE_JOIN_ROUND,
  FO_DOC_LINE_JOIN_BEVEL,
  FO_DOC_LINE_JOIN_LIMIT
} FoDocLineJoin;


fo_doc_new ()

FoDoc*              fo_doc_new                          (void);

Creates a new FoDoc.

Returns :

the newly created FoDoc.

fo_doc_new_from_type ()

FoDoc*              fo_doc_new_from_type                (const gchar *type);

Creates a new FoDoc.

type :

Type of the new FoDoc.

Returns :

the newly created FoDoc.

fo_doc_formats_from_name ()

FoFlagsFormat       fo_doc_formats_from_name            (const gchar *name);

Gets the output formats supported by name class.

name should not be NULL.

If name does not implement any formats, returns FO_FLAG_FORMAT_UNKNOWN.

name :

Registered FoObject type name, e.g., "FoDocCairo"

Returns :

FoFlagsFormat with zero or more bits set for the supported formats.

fo_doc_open_file ()

void                fo_doc_open_file                    (FoDoc *fo_doc,
                                                         const gchar *filename,
                                                         FoLibfoContext *libfo_context,
                                                         GError **error);

No reference to libfo_context is kept.

fo_doc :

FoDoc for which to open an output file.

filename :

Name of output file.

libfo_context :

FoLibfoContext containing extra info.

error :

Information about any error that occurred.

fo_doc_get_new_layout ()

FoLayout*           fo_doc_get_new_layout               (FoDoc *fo_doc);

Get a new FoLayout for use with fo_doc.

fo_doc :

FoDoc.

Returns :

New FoLayout.

fo_doc_get_language ()

const gchar*        fo_doc_get_language                 (FoDoc *fo_doc);

Get the language in fo_doc.

fo_doc :

FoDoc

Returns :

Language of file parsed to make fo_doc.

fo_doc_set_language ()

void                fo_doc_set_language                 (FoDoc *fo_doc,
                                                         const gchar *language);

Set the language in fo_doc.

fo_doc :

FoDoc.

language :

Language.

fo_doc_get_base_dir ()

FoEnumAreaDirection fo_doc_get_base_dir                 (FoDoc *fo_doc);

Get the FoEnumAreaDirection used as input to fo_doc.

fo_doc :

FoDoc.

Returns :

FoEnumAreaDirection used as input to fo_doc.

fo_doc_set_base_dir ()

void                fo_doc_set_base_dir                 (FoDoc *fo_doc,
                                                         FoEnumAreaDirection base_dir);

Set the FoEnumAreaDirection in fo_doc.

fo_doc :

FoDoc.

base_dir :

FoEnumAreaDirection value for new base direction.