Mercurial > MadButterfly
annotate src/shapes.h @ 30:e06a4a667ce2
Accept mouse/pointer event and hint the shape that the pointer is over.
- add find_shape_at_pos()
author | Thinker K.F. Li <thinker@branda.to> |
---|---|
date | Tue, 05 Aug 2008 12:40:45 +0800 |
parents | 19c603dd6ff9 |
children | d82749f77108 |
rev | line source |
---|---|
5
9c331ec9e210
SVG path is partially supported
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
1 #ifndef __SHAPES_H_ |
9c331ec9e210
SVG path is partially supported
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
2 #define __SHAPES_H_ |
9c331ec9e210
SVG path is partially supported
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
3 |
12 | 4 #include <cairo.h> |
5
9c331ec9e210
SVG path is partially supported
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
5 #include "mb_types.h" |
9c331ec9e210
SVG path is partially supported
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
6 |
27 | 7 /* Define a shape |
8 * | |
9 * A shape must include | |
10 * - *_new() and *_free() | |
11 * - *_transform() | |
30
e06a4a667ce2
Accept mouse/pointer event and hint the shape that the pointer is over.
Thinker K.F. Li <thinker@branda.to>
parents:
27
diff
changeset
|
12 * - *_draw() |
27 | 13 * - *_fill() |
14 * - *_stroke() | |
15 * - struct of shape must include an shape_t as type of first member. | |
16 */ | |
17 | |
30
e06a4a667ce2
Accept mouse/pointer event and hint the shape that the pointer is over.
Thinker K.F. Li <thinker@branda.to>
parents:
27
diff
changeset
|
18 /* TODO: remove *_fill() and *_stroke() */ |
e06a4a667ce2
Accept mouse/pointer event and hint the shape that the pointer is over.
Thinker K.F. Li <thinker@branda.to>
parents:
27
diff
changeset
|
19 |
5
9c331ec9e210
SVG path is partially supported
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
20 extern void sh_path_free(shape_t *path); |
9c331ec9e210
SVG path is partially supported
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
21 extern shape_t *sh_path_new(char *data); |
12 | 22 extern void sh_path_transform(shape_t *shape); |
30
e06a4a667ce2
Accept mouse/pointer event and hint the shape that the pointer is over.
Thinker K.F. Li <thinker@branda.to>
parents:
27
diff
changeset
|
23 extern void sh_path_draw(shape_t *shape, cairo_t *cr); |
20
74d3d5dc9aaa
rename XXX_draw() to XXX_fill()
Thinker K.F. Li <thinker@branda.to>
parents:
12
diff
changeset
|
24 extern void sh_path_fill(shape_t *shape, cairo_t *cr); |
22 | 25 extern void sh_path_stroke(shape_t *shape, cairo_t *cr); |
5
9c331ec9e210
SVG path is partially supported
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
26 |
27 | 27 |
28 extern void sh_text_free(shape_t *text); | |
29 extern shape_t *sh_text_new(const char *txt, co_aix x, co_aix y, | |
30 co_aix font_size, cairo_font_face_t *face); | |
31 extern void sh_text_transform(shape_t *shape); | |
30
e06a4a667ce2
Accept mouse/pointer event and hint the shape that the pointer is over.
Thinker K.F. Li <thinker@branda.to>
parents:
27
diff
changeset
|
32 extern void sh_text_draw(shape_t *shape, cairo_t *cr); |
27 | 33 extern void sh_text_fill(shape_t *shape, cairo_t *cr); |
34 extern void sh_text_stroke(shape_t *shape, cairo_t *cr); | |
35 | |
36 | |
5
9c331ec9e210
SVG path is partially supported
Thinker K.F. Li <thinker@branda.to>
parents:
diff
changeset
|
37 #endif /* __SHAPES_H_ */ |