annotate include/mb_graph_engine_dummy.h @ 1381:9a585df24e52

Consider the width and height attribute for the rect elements. The inkscape will change the width and height directly without using transform when we resize the rectangle.
author wycc
date Wed, 23 Mar 2011 23:02:36 +0800
parents bd18951b51d5
children
rev   line source
581
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
1 /* This is a dummy Graphic Engine to consume all graphic operators.
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
2 */
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
3 #ifndef __MB_GE_OPENVG_H_
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
4 #define __MB_GE_OPENVG_H_
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
5
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
6 #include <stdio.h>
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
7 #include <GL/glut.h>
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
8 #include "mb_basic_types.h"
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
9 #include "mb_img_ldr.h"
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
10
611
38383f5f645d Change group of OpenVG and Dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents: 610
diff changeset
11 /*! \defgroup mb_ge_dummy Dummy Implementation of MadButterfly Graphic Engine
581
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
12 * @{
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
13 */
610
e78bff7d23d3 create pattern from surface for OpenVG
Thinker K.F. Li <thinker@branda.to>
parents: 603
diff changeset
14 #define mbe_pattern_create_for_surface(surface) ((mbe_pattern_t *)NULL)
581
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
15 #define mbe_scaled_font_text_extents(scaled, utf8, extents)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
16 #define mbe_image_surface_get_stride(surface) (20)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
17 #define mbe_image_surface_get_format(surface) ((mb_img_fmt_t)0)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
18 #define mbe_image_surface_get_height(surface) (1)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
19 #define mbe_image_surface_get_width(surface) (1)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
20 #define mbe_image_surface_get_data(surface) ((unsigned char *)NULL)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
21 #define mbe_scaled_font_reference(scaled) ((mbe_scaled_font_t *)NULL)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
22 /* For OpenVG backend, never invoke xlib surface.
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
23 * #define mbe_xlib_surface_create cairo_xlib_surface_create
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
24 */
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
25 #define mbe_pattern_create_radial(cx0, cy0, radius0, \
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
26 cx1, cy1, radius1, stops, stop_cnt) \
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
27 ((mbe_pattern_t *)NULL)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
28 #define mbe_pattern_create_linear(x0, y0, x1, y1, stops, stop_cnt) \
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
29 ((mbe_pattern_t *)NULL)
602
ac2e6468a22a Replace mbe_image_surface_create_from_png() with mbe_pattern_create_image()
Thinker K.F. Li <thinker@branda.to>
parents: 599
diff changeset
30 #define mbe_pattern_create_image(img) ((mbe_pattern_t *)NULL)
581
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
31 #define mbe_image_surface_create(fmt, w, h) ((mbe_surface_t *)NULL)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
32 #define mbe_scaled_font_destroy(scaled)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
33 #define mbe_font_face_reference(face) ((mbe_font_face_t *)NULL)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
34 #define mbe_scaled_font_create(face, fnt_mtx, ctm) ((mbe_scaled_font_t *)NULL)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
35 #define mbe_pattern_set_matrix(ptn, mtx)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
36 #define mbe_font_face_destroy(face)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
37 #define mbe_paint_with_alpha(canvas, alpha)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
38 #define mbe_surface_destroy(surface)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
39 #define mbe_set_source_rgba(canvas, r, g, b, a)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
40 #define mbe_set_scaled_font(canvas, scaled)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
41 #define mbe_pattern_destroy(pattern)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
42 #define mbe_get_scaled_font(canvas) ((mbe_scaled_font_t *)NULL)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
43 #define mbe_query_font_face(family, slant, weight) ((mbe_font_face_t *)NULL)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
44 #define mbe_free_font_face(face)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
45 #define mbe_set_line_width(canvas, w)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
46 #define mbe_set_source_rgb(canvas, r, g, b)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
47 #define mbe_get_font_face(canvas) ((mbe_font_face_t *)NULL)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
48 #define mbe_fill_preserve(canvas)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
49 #define mbe_copy_source(src_canvas, dst_canvas)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
50 #define mbe_set_source(canvas, pattern)
586
b42d69ab8857 Replace mbe_clip() with mbe_scissoring()
Thinker K.F. Li <thinker@branda.to>
parents: 581
diff changeset
51 #define mbe_reset_scissoring(canvas)
581
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
52 #define mbe_get_target(canvas) ((mbe_surface_t *)NULL)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
53 #define mbe_close_path(canvas)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
54 #define mbe_text_path(canvas, utf8)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
55 #define mbe_transform(canvas, mtx)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
56 #define mbe_rectangle(canvas, x, y, w, h)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
57 #define mbe_in_stroke(canvas, x, y) (0)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
58 #define mbe_new_path(canvas)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
59 #define mbe_curve_to(canvas, x1, y1, x2, y2, x3, y3)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
60 #define mbe_restore(canvas)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
61 #define mbe_move_to(canvas, x, y)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
62 #define mbe_line_to(canvas, x, y)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
63 #define mbe_in_fill(canvas, x, y) (0)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
64 #define mbe_destroy(canvas)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
65 #define mbe_stroke(canvas)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
66 #define mbe_create(surface) ((mbe_t *)NULL)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
67 #define mbe_clear(canvas)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
68 #define mbe_paint(canvas)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
69 #define mbe_save(canvas)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
70 #define mbe_fill(canvas)
586
b42d69ab8857 Replace mbe_clip() with mbe_scissoring()
Thinker K.F. Li <thinker@branda.to>
parents: 581
diff changeset
71 /*! \brief Make scissoring rectangles.
b42d69ab8857 Replace mbe_clip() with mbe_scissoring()
Thinker K.F. Li <thinker@branda.to>
parents: 581
diff changeset
72 *
b42d69ab8857 Replace mbe_clip() with mbe_scissoring()
Thinker K.F. Li <thinker@branda.to>
parents: 581
diff changeset
73 * It would reset all previous pathes.
b42d69ab8857 Replace mbe_clip() with mbe_scissoring()
Thinker K.F. Li <thinker@branda.to>
parents: 581
diff changeset
74 */
b42d69ab8857 Replace mbe_clip() with mbe_scissoring()
Thinker K.F. Li <thinker@branda.to>
parents: 581
diff changeset
75 #define mbe_scissoring(canvas, n_areas, areas)
581
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
76 #define mbe_arc(canvas, x, y, radius, angle_start, angle_stop)
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
77
630
bd18951b51d5 Add initial code for graphic engines
Thinker K.F. Li <thinker@branda.to>
parents: 611
diff changeset
78 /*! \brief Initialize graphic engine */
bd18951b51d5 Add initial code for graphic engines
Thinker K.F. Li <thinker@branda.to>
parents: 611
diff changeset
79 #define mbe_init()
bd18951b51d5 Add initial code for graphic engines
Thinker K.F. Li <thinker@branda.to>
parents: 611
diff changeset
80
581
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
81 typedef struct _mbe_text_extents_t mbe_text_extents_t;
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
82 typedef int mbe_scaled_font_t;
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
83 typedef int mbe_font_face_t;
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
84 typedef int mbe_surface_t;
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
85 typedef int mbe_pattern_t;
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
86 typedef int mbe_t;
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
87
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
88 struct _mbe_text_extents_t {
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
89 co_aix x_bearing;
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
90 co_aix y_bearing;
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
91 co_aix width;
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
92 co_aix height;
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
93 co_aix x_advance;
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
94 co_aix y_advance;
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
95 };
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
96
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
97 /* @} */
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
98
953acea89f76 dummy implementation of graphic engine
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
99 #endif /* __MB_GE_OPENVG_H_ */