comparison tools/mb_c_source.m4 @ 85:9b4a02bcaeb1

matrix() function in transform attribute of group and shapes
author Thinker K.F. Li <thinker@branda.to>
date Fri, 22 Aug 2008 15:47:03 +0800
parents 42698de1f653
children 1a1dda98730c
comparison
equal deleted inserted replaced
84:42698de1f653 85:9b4a02bcaeb1
45 define([STROKE_WIDTH]) 45 define([STROKE_WIDTH])
46 define([GROUP_HIDE],) 46 define([GROUP_HIDE],)
47 define([RECT_HIDE],) 47 define([RECT_HIDE],)
48 define([PATH_HIDE],) 48 define([PATH_HIDE],)
49 define([COORD_TRANSLATE],) 49 define([COORD_TRANSLATE],)
50 define([COORD_MATRIX],)
51 define([SHAPE_MATRIX],)
50 divert[]]) 52 divert[]])
51 53
52 define([S_ADD_LINEAR_PAINT],[ 54 define([S_ADD_LINEAR_PAINT],[
53 obj->$1 = paint_linear_new(rdman, $2, $3, $4, $5); 55 obj->$1 = paint_linear_new(rdman, $2, $3, $4, $5);
54 ifelse(COUNT($6),0,,[dnl 56 ifelse(COUNT($6),0,,[dnl
138 [ memset(obj->$1->matrix, 0, sizeof(obj->$1->matrix)); 140 [ memset(obj->$1->matrix, 0, sizeof(obj->$1->matrix));
139 obj->$1->matrix[0] = 1; 141 obj->$1->matrix[0] = 1;
140 obj->$1->matrix[2] = $2; 142 obj->$1->matrix[2] = $2;
141 obj->$1->matrix[4] = 1; 143 obj->$1->matrix[4] = 1;
142 obj->$1->matrix[5] = $3; 144 obj->$1->matrix[5] = $3;
145 rdman_coord_changed(rdman, obj->$1);
146 ]])
147
148 define([S_COORD_MATRIX],[dnl
149 [ obj->$1->matrix[0] = $2;
150 obj->$1->matrix[3] = $3;
151 obj->$1->matrix[1] = $4;
152 obj->$1->matrix[4] = $5;
153 obj->$1->matrix[2] = $6;
154 obj->$1->matrix[5] = $7;
155 rdman_coord_changed(rdman, obj->$1);
156 ]])
157
158 define([S_SHAPE_MATRIX],[dnl
159 [ obj->$1->matrix[0] = $2;
160 obj->$1->matrix[3] = $3;
161 obj->$1->matrix[1] = $4;
162 obj->$1->matrix[4] = $5;
163 obj->$1->matrix[2] = $6;
164 obj->$1->matrix[5] = $7;
143 rdman_coord_changed(rdman, obj->$1); 165 rdman_coord_changed(rdman, obj->$1);
144 ]]) 166 ]])
145 167
146 define([SETUP_VARS],[divert([-1]) 168 define([SETUP_VARS],[divert([-1])
147 define([SIMPORT],[IMPORT(]QUOTE($[]1)[,[S_])]) 169 define([SIMPORT],[IMPORT(]QUOTE($[]1)[,[S_])])
161 SIMPORT([STROKE_WIDTH]) 183 SIMPORT([STROKE_WIDTH])
162 SIMPORT([GROUP_HIDE]) 184 SIMPORT([GROUP_HIDE])
163 SIMPORT([RECT_HIDE]) 185 SIMPORT([RECT_HIDE])
164 SIMPORT([PATH_HIDE]) 186 SIMPORT([PATH_HIDE])
165 SIMPORT([COORD_TRANSLATE]) 187 SIMPORT([COORD_TRANSLATE])
188 SIMPORT([COORD_MATRIX])
189 SIMPORT([SHAPE_MATRIX])
166 divert[]]) 190 divert[]])
167 191
168 define([F_ADD_LINEAR_PAINT],[[ 192 define([F_ADD_LINEAR_PAINT],[[
169 stops = paint_linear_stops(obj->$1, 0, NULL); 193 stops = paint_linear_stops(obj->$1, 0, NULL);
170 free(stops); 194 free(stops);
215 define([STROKE_WIDTH]) 239 define([STROKE_WIDTH])
216 define([GROUP_HIDE],) 240 define([GROUP_HIDE],)
217 define([RECT_HIDE],) 241 define([RECT_HIDE],)
218 define([PATH_HIDE],) 242 define([PATH_HIDE],)
219 define([COORD_TRANSLATE],) 243 define([COORD_TRANSLATE],)
244 define([COORD_MATRIX],)
245 define([SHAPE_MATRIX],)
220 divert[]]) 246 divert[]])
221 247
222 define([MADBUTTERFLY],[dnl 248 define([MADBUTTERFLY],[dnl
223 [#include <stdio.h> 249 [#include <stdio.h>
224 #include <stdlib.h> 250 #include <stdlib.h>