libspectre 0.2.12
spectre-page.h File Reference
#include <libspectre/spectre-macros.h>
#include <libspectre/spectre-status.h>
#include <libspectre/spectre-render-context.h>

Go to the source code of this file.

Typedefs

typedef struct SpectrePage SpectrePage
 

Enumerations

enum  SpectreOrientation { SPECTRE_ORIENTATION_PORTRAIT , SPECTRE_ORIENTATION_REVERSE_LANDSCAPE , SPECTRE_ORIENTATION_REVERSE_PORTRAIT , SPECTRE_ORIENTATION_LANDSCAPE }
 

Functions

SPECTRE_PUBLIC SpectreStatus spectre_page_status (SpectrePage *page)
 
SPECTRE_PUBLIC void spectre_page_free (SpectrePage *page)
 
SPECTRE_PUBLIC unsigned int spectre_page_get_index (SpectrePage *page)
 
SPECTRE_PUBLIC const char * spectre_page_get_label (SpectrePage *page)
 
SPECTRE_PUBLIC SpectreOrientation spectre_page_get_orientation (SpectrePage *page)
 
SPECTRE_PUBLIC void spectre_page_get_size (SpectrePage *page, int *width, int *height)
 
SPECTRE_PUBLIC void spectre_page_render (SpectrePage *page, SpectreRenderContext *rc, unsigned char **page_data, int *row_length)
 
SPECTRE_PUBLIC void spectre_page_render_slice (SpectrePage *page, SpectreRenderContext *rc, int x, int y, int width, int height, unsigned char **page_data, int *row_length)
 

Typedef Documentation

◆ SpectrePage

typedef struct SpectrePage SpectrePage

This is the object that represents a page of a PostScript document. They can not be created directly and can only be obtained from spectre_document_get_page

Enumeration Type Documentation

◆ SpectreOrientation

Enumerator
SPECTRE_ORIENTATION_PORTRAIT 

Vertical orientation

SPECTRE_ORIENTATION_REVERSE_LANDSCAPE 

Inverse horizontal orientation, also known as Seascape

SPECTRE_ORIENTATION_REVERSE_PORTRAIT 

Inverse vertical orientation

SPECTRE_ORIENTATION_LANDSCAPE 

Horizontal orientation

Function Documentation

◆ spectre_page_free()

SPECTRE_PUBLIC void spectre_page_free ( SpectrePage * page)

Frees the memory of the given page

Parameters
pageThe page whose memory will be freed

◆ spectre_page_get_index()

SPECTRE_PUBLIC unsigned int spectre_page_get_index ( SpectrePage * page)

Returns the index of the page inside the document. First page has index 0

Parameters
pageThe page whose index will be returned

◆ spectre_page_get_label()

SPECTRE_PUBLIC const char * spectre_page_get_label ( SpectrePage * page)

Returns the label of the page inside the document.

Parameters
pageThe page whose label will be returned

◆ spectre_page_get_orientation()

SPECTRE_PUBLIC SpectreOrientation spectre_page_get_orientation ( SpectrePage * page)

Returns the orientation of the page

Parameters
pageThe page whose orientation will be returned

◆ spectre_page_get_size()

SPECTRE_PUBLIC void spectre_page_get_size ( SpectrePage * page,
int * width,
int * height )

Returns the size of the page. It always returns the page size according to the page bounding box without taking into account the page orientation.

Parameters
pageThe page whose size will be returned
widthThe page width will be returned here, or NULL
heightThe page height will be returned here, or NULL
See also
spectre_page_get_orientation

◆ spectre_page_render()

SPECTRE_PUBLIC void spectre_page_render ( SpectrePage * page,
SpectreRenderContext * rc,
unsigned char ** page_data,
int * row_length )

Renders the page to RGB32 format. This function can fail

Parameters
pageThe page to renderer
rcThe rendering context specifying how the page has to be rendered
page_dataA pointer that will point to the image data if the call succeeds
row_lengthThe length of an image row will be returned here. It can happen that row_length is different than width * 4
See also
spectre_page_status

◆ spectre_page_render_slice()

SPECTRE_PUBLIC void spectre_page_render_slice ( SpectrePage * page,
SpectreRenderContext * rc,
int x,
int y,
int width,
int height,
unsigned char ** page_data,
int * row_length )

◆ spectre_page_status()

SPECTRE_PUBLIC SpectreStatus spectre_page_status ( SpectrePage * page)

Returns the status of the given page

Parameters
pageThe page whose status will be returned