00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef SPECTRE_PAGE_H
00022 #define SPECTRE_PAGE_H
00023
00024 #include <libspectre/spectre-macros.h>
00025 #include <libspectre/spectre-status.h>
00026 #include <libspectre/spectre-render-context.h>
00027
00028 SPECTRE_BEGIN_DECLS
00029
00030 typedef enum {
00031 SPECTRE_ORIENTATION_PORTRAIT ,
00032 SPECTRE_ORIENTATION_REVERSE_LANDSCAPE ,
00034 SPECTRE_ORIENTATION_REVERSE_PORTRAIT ,
00035 SPECTRE_ORIENTATION_LANDSCAPE
00036 } SpectreOrientation;
00037
00041 typedef struct SpectrePage SpectrePage;
00042
00046 SpectreStatus spectre_page_status (SpectrePage *page);
00047
00051 void spectre_page_free (SpectrePage *page);
00052
00056 unsigned int spectre_page_get_index (SpectrePage *page);
00057
00061 const char *spectre_page_get_label (SpectrePage *page);
00062
00066 SpectreOrientation spectre_page_get_orientation (SpectrePage *page);
00067
00075 void spectre_page_get_size (SpectrePage *page,
00076 int *width,
00077 int *height);
00078
00088 void spectre_page_render (SpectrePage *page,
00089 SpectreRenderContext *rc,
00090 unsigned char **page_data,
00091 int *row_length);
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
00105
00106 void spectre_page_render_slice (SpectrePage *page,
00107 SpectreRenderContext *rc,
00108 int x,
00109 int y,
00110 int width,
00111 int height,
00112 unsigned char **page_data,
00113 int *row_length);
00114
00115 SPECTRE_END_DECLS
00116
00117 #endif