annotate include/mb_graph_engine.h @ 451:5c9e2a8a4bd8

Remove all "cairo" wording. - all cairo are replaced by mbe version - except pango relative ones.
author Thinker K.F. Li <thinker@branda.to>
date Wed, 05 Aug 2009 16:10:47 +0800
parents a417fd980228
children bb4f651090bf
rev   line source
448
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
1 #ifndef __MBE_H_
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
2 #define __MBE_H_
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
3
450
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
4 #include <stdio.h>
448
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
5 #include <cairo.h>
451
5c9e2a8a4bd8 Remove all "cairo" wording.
Thinker K.F. Li <thinker@branda.to>
parents: 450
diff changeset
6 #include <cairo-xlib.h>
450
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
7 #include "mb_img_ldr.h"
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
8
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
9 /*! \defgroup mb_graph_engine MadButterfly Graphic Engine
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
10 * @{
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
11 */
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
12 #define MBE_OPERATOR_CLEAR CAIRO_OPERATOR_CLEAR
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
13 #define MBE_OPERATOR_SOURCE CAIRO_OPERATOR_SOURCE
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
14 #define MBE_STATUS_SUCCESS CAIRO_STATUS_SUCCESS
448
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
15
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
16 #define mbe_ft_font_face_create_for_pattern cairo_ft_font_face_create_for_pattern
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
17 #define mbe_image_surface_create_from_png cairo_image_surface_create_from_png
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
18 #define mbe_pattern_add_color_stop_rgba cairo_pattern_add_color_stop_rgba
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
19 #define mbe_pattern_create_for_surface cairo_pattern_create_for_surface
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
20 #define mbe_scaled_font_text_extents cairo_scaled_font_text_extents
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
21 #define mbe_image_surface_get_stride cairo_image_surface_get_stride
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
22 #define mbe_image_surface_get_height cairo_image_surface_get_height
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
23 #define mbe_image_surface_get_width cairo_image_surface_get_width
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
24 #define mbe_image_surface_get_data cairo_image_surface_get_data
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
25 #define mbe_scaled_font_reference cairo_scaled_font_reference
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
26 #define mbe_pattern_create_radial cairo_pattern_create_radial
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
27 #define mbe_pattern_create_linear cairo_pattern_create_linear
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
28 #define mbe_xlib_surface_create cairo_xlib_surface_create
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
29 #define mbe_scaled_font_destroy cairo_scaled_font_destroy
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
30 #define mbe_font_options_create cairo_font_options_create
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
31 #define mbe_font_face_reference cairo_font_face_reference
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
32 #define mbe_set_source_surface cairo_set_source_surface
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
33 #define mbe_scaled_font_status cairo_scaled_font_status
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
34 #define mbe_scaled_font_create cairo_scaled_font_create
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
35 #define mbe_pattern_set_matrix cairo_pattern_set_matrix
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
36 #define mbe_font_face_destroy cairo_font_face_destroy
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
37 #define mbe_paint_with_alpha cairo_paint_with_alpha
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
38 #define mbe_font_face_status cairo_font_face_status
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
39 #define mbe_surface_destroy cairo_surface_destroy
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
40 #define mbe_set_source_rgba cairo_set_source_rgba
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
41 #define mbe_set_scaled_font cairo_set_scaled_font
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
42 #define mbe_pattern_destroy cairo_pattern_destroy
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
43 #define mbe_get_scaled_font cairo_get_scaled_font
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
44 #define mbe_set_source_rgb cairo_set_source_rgb
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
45 #define mbe_set_line_width cairo_set_line_width
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
46 #define mbe_get_font_face cairo_get_font_face
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
47 #define mbe_fill_preserve cairo_fill_preserve
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
48 #define mbe_set_operator cairo_set_operator
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
49 #define mbe_get_operator cairo_get_operator
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
50 #define mbe_arc_negative cairo_arc_negative
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
51 #define mbe_set_source cairo_set_source
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
52 #define mbe_reset_clip cairo_reset_clip
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
53 #define mbe_get_target cairo_get_target
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
54 #define mbe_close_path cairo_close_path
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
55 #define mbe_translate cairo_translate
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
56 #define mbe_text_path cairo_text_path
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
57 #define mbe_show_text cairo_show_text
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
58 #define mbe_rectangle cairo_rectangle
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
59 #define mbe_in_stroke cairo_in_stroke
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
60 #define mbe_new_path cairo_new_path
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
61 #define mbe_curve_to cairo_curve_to
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
62 #define mbe_restore cairo_restore
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
63 #define mbe_move_to cairo_move_to
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
64 #define mbe_line_to cairo_line_to
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
65 #define mbe_in_fill cairo_in_fill
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
66 #define mbe_destroy cairo_destroy
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
67 #define mbe_stroke cairo_stroke
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
68 #define mbe_rotate cairo_rotate
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
69 #define mbe_create cairo_create
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
70 #define mbe_scale cairo_scale
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
71 #define mbe_paint cairo_paint
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
72 #define mbe_save cairo_save
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
73 #define mbe_fill cairo_fill
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
74 #define mbe_clip cairo_clip
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
75 #define mbe_arc cairo_arc
450
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
76
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
77 typedef cairo_text_extents_t mbe_text_extents_t;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
78 typedef cairo_font_options_t mbe_font_options_t;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
79 typedef cairo_scaled_font_t mbe_scaled_font_t;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
80 typedef cairo_font_face_t mbe_font_face_t;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
81 typedef cairo_operator_t mbe_operator_t;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
82 typedef cairo_surface_t mbe_surface_t;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
83 typedef cairo_pattern_t mbe_pattern_t;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
84 typedef cairo_status_t mbe_status_t;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
85 typedef cairo_matrix_t mbe_matrix_t;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
86 typedef cairo_t mbe_t;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
87
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
88 static mbe_surface_t *
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
89 mbe_image_surface_create_for_data(unsigned char *data,
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
90 mb_img_fmt_t fmt,
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
91 int width, int height,
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
92 int stride) {
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
93 cairo_format_t _fmt;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
94
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
95 switch(fmt) {
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
96 case MB_IFMT_ARGB32:
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
97 _fmt = CAIRO_FORMAT_ARGB32;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
98 break;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
99 case MB_IFMT_RGB24:
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
100 _fmt = CAIRO_FORMAT_RGB24;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
101 break;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
102 case MB_IFMT_A8:
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
103 _fmt = CAIRO_FORMAT_A8;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
104 break;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
105 case MB_IFMT_A1:
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
106 _fmt = CAIRO_FORMAT_A1;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
107 break;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
108 default:
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
109 return NULL;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
110 }
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
111 return cairo_image_surface_create_for_data(data, _fmt,
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
112 width, height, stride);
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
113 }
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
114
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
115 static mb_img_fmt_t
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
116 mbe_image_surface_get_format(mbe_surface_t *surface) {
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
117 cairo_format_t _fmt;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
118 mb_img_fmt_t fmt;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
119
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
120 _fmt = cairo_image_surface_get_format(surface);
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
121 switch(_fmt) {
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
122 case CAIRO_FORMAT_ARGB32:
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
123 fmt = MB_IFMT_ARGB32;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
124 break;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
125 case CAIRO_FORMAT_RGB24:
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
126 fmt = MB_IFMT_RGB24;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
127 break;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
128 case CAIRO_FORMAT_A8:
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
129 fmt = MB_IFMT_A8;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
130 break;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
131 case CAIRO_FORMAT_A1:
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
132 fmt = MB_IFMT_A1;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
133 break;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
134 default:
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
135 fmt = MB_IFMT_DUMMY;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
136 break;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
137 }
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
138
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
139 return fmt;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
140 }
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
141
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
142 static mbe_surface_t *
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
143 mbe_image_surface_create(mb_img_fmt_t fmt, int width, int height) {
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
144 cairo_format_t _fmt;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
145
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
146 switch(fmt) {
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
147 case MB_IFMT_ARGB32:
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
148 _fmt = CAIRO_FORMAT_ARGB32;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
149 break;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
150 case MB_IFMT_RGB24:
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
151 _fmt = CAIRO_FORMAT_RGB24;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
152 break;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
153 case MB_IFMT_A8:
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
154 _fmt = CAIRO_FORMAT_A8;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
155 break;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
156 case MB_IFMT_A1:
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
157 _fmt = CAIRO_FORMAT_A1;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
158 break;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
159 default:
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
160 return NULL;
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
161 }
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
162
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
163 return cairo_image_surface_create(_fmt, width, height);
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
164 }
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
165
a417fd980228 Replace cairo_format_t with mb_img_fmt_t.
Thinker K.F. Li <thinker@branda.to>
parents: 449
diff changeset
166 /* @} */
448
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
167
16116d84bc5e Replace Cairo with a abstract layer mb_graph_engine.
Thinker K.F. Li <thinker@branda.to>
parents:
diff changeset
168 #endif /* __MBE_H_ */