00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00023 #ifndef SCBPAGE_H_
00024 #define SCBPAGE_H_
00025
00026 #include "scbconfig.h"
00027 #include "scbstrokes.h"
00028
00030
00032
00033 #ifdef __cplusplus
00034 extern "C"
00035 {
00036 #endif
00037
00038
00039
00040 typedef struct _ScbPageId
00041 {
00042 char id[SCB_MAX_PAGEID_LEN];
00043 }ScbPageId;
00044 typedef ScbPageId * ScbPageIdPtr;
00045
00046
00047 typedef struct _ScbPageStyle
00048 {
00049 int orientation;
00050 ScbColor bgColor;
00051 }ScbPageStyle;
00052
00053
00054 typedef struct _ScbPageOptHist
00055 {
00056
00057 }ScbPageOptHist;
00058
00059
00060 typedef struct _ScbPageEraseCtx
00061 {
00062 ScbDevPoint p1, p2;
00063 double zoom;
00064 gboolean bInit;
00065 }ScbPageEraseCtx;
00066 typedef ScbPageEraseCtx * ScbPageEraseCtxPtr;
00067
00068 void scb_page_id_from_int(ScbPageIdPtr ptr, const int number);
00069 void scb_page_id_from_str(ScbPageIdPtr ptr, const char *str);
00070
00071
00072
00073
00074 typedef struct _ScbPage
00075 {
00076 ScbPageStyle style;
00077 ScbRect rect;
00078 ScbPageId id;
00079 ScbPageOptHist actions;
00080 ScbStrokes strokes;
00081 ScbStrokes delStrokes;
00082 }ScbPage;
00083 typedef ScbPage * ScbPagePtr;
00084
00085
00086 ScbPagePtr scb_page_new();
00087
00088
00089 void scb_page_free(ScbPagePtr ptr);
00090
00091
00092 void scb_page_clear(ScbPagePtr ptr);
00093
00094
00095 void scb_page_set_id(ScbPagePtr page, ScbPageIdPtr id);
00096
00097
00098 int scb_page_get_stroke_count(ScbPagePtr ptr);
00099
00100
00101 gboolean scb_page_add_stroke(ScbPagePtr page, ScbStrokePtr stroke);
00102 ScbStrokesPtr scb_page_get_strokes(ScbPagePtr page);
00103
00104
00105 void scb_page_erase_fast_draw(ScbPagePtr ptr, ScbDevPointPtr point);
00106 void scb_page_erase_fast_draw_done(ScbPagePtr ptr, ScbDevPointPtr point);
00107
00108
00109 void scb_page_erase_init(ScbPageEraseCtxPtr ptr);
00110 ScbStrokesPtr scb_page_erase_hit_test(ScbPagePtr page, ScbDevPointPtr point, ScbPageEraseCtxPtr ptr);
00111
00112
00113
00114 gboolean scb_page_save(ScbPagePtr page, ScbXmlPtr ptr);
00115 gboolean scb_page_load(ScbPagePtr page, ScbXmlPtr ptr);
00116
00117
00118
00119
00120
00121
00122 void scb_page_dump(ScbPagePtr ptr);
00123
00124 #ifdef __cplusplus
00125 }
00126 #endif
00127
00128 #endif