00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00023 #ifndef SCBSTROKES_H_
00024 #define SCBSTROKES_H_
00025 #include "scbstroke.h"
00026
00027 #ifdef __cplusplus
00028 extern "C"
00029 {
00030 #endif
00031
00032 typedef struct _ScbStrokes
00033 {
00034 GList * strokes;
00035 }ScbStrokes;
00036 typedef ScbStrokes * ScbStrokesPtr;
00037
00038
00039 gboolean scb_strokes_new(ScbStrokesPtr ptr);
00040
00041
00042 void scb_strokes_free(ScbStrokesPtr strokes);
00043
00044
00045 void scb_strokes_empty(ScbStrokesPtr strokes);
00046
00047
00048
00049 void scb_strokes_detach(ScbStrokesPtr strokes);
00050
00051
00052 int scb_strokes_get_count(const ScbStrokesPtr strokes);
00053
00054
00055 void scb_strokes_add_stroke(ScbStrokesPtr strokes,
00056 ScbStrokePtr stroke);
00057
00058
00059 void scb_strokes_add_strokes(ScbStrokesPtr dst,
00060 const ScbStrokesPtr src);
00061
00062
00063
00064
00065 ScbStrokePtr scb_strokes_detach_stroke(ScbStrokesPtr strokes,
00066 ScbStrokePtr stroke);
00067
00068
00069
00070 ScbStrokesPtr scb_strokes_point_hit_test(ScbStrokesPtr strokes,
00071 ScbDevPointPtr point,
00072 const ScbHitTestCtxPtr ctx);
00073
00074
00075
00076 ScbStrokesPtr scb_strokes_line_hit_test(ScbStrokesPtr strokes,
00077 ScbDevPointPtr point1,
00078 ScbDevPointPtr point2,
00079 const ScbHitTestCtxPtr ctx);
00080
00081 void scb_strokes_erase_fast_draw(ScbStrokesPtr strokes);
00082
00083
00084 gboolean scb_strokes_save(ScbStrokesPtr strokes, ScbXmlPtr ptr);
00085 gboolean scb_strokes_load(ScbStrokesPtr strokes, ScbXmlPtr ptr);
00086
00087
00088 void scb_strokes_dump(ScbStrokesPtr strokes);
00089
00090 #ifdef __cplusplus
00091 }
00092 #endif
00093
00094 #endif