1 /* drawer.h 2 part of swftools 3 4 A generic structure for providing vector drawing. 5 6 Copyright (C) 2003 Matthias Kramm <kramm@quiss.org> 7 8 This program is free software; you can redistribute it and/or modify 9 it under the terms of the GNU General Public License as published by 10 the Free Software Foundation; either version 2 of the License, or 11 (at your option) any later version. 12 13 This program is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with this program; if not, write to the Free Software 20 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ 21 22 #ifndef __drawer_h__ 23 #define __drawer_h__ 24 25 typedef struct _FPOINT 26 { 27 float x,y; 28 } FPOINT; 29 30 typedef struct _drawer_t 31 { 32 void*internal; 33 34 FPOINT pos; //last "to" 35 36 void (*setLineStyle)(struct _drawer_t*draw, void*linestyle); 37 void (*setFillStyle)(struct _drawer_t*draw, void*fillstyle); 38 39 void (*moveTo)(struct _drawer_t*draw, FPOINT * to); 40 void (*lineTo)(struct _drawer_t*draw, FPOINT * to); 41 void (*splineTo)(struct _drawer_t*draw, FPOINT*c, FPOINT * to); 42 void (*finish)(struct _drawer_t*draw); 43 44 void (*dealloc)(struct _drawer_t*draw); 45 46 } drawer_t; 47 48 void draw_cubicTo(drawer_t*drawer, FPOINT* control1, FPOINT* control2, FPOINT* to); 49 void draw_conicTo(drawer_t*drawer, FPOINT* control, FPOINT* to); 50 void draw_string(drawer_t*drawer, const char*code); 51 52 #endif 53