1 /* 2 * GooCanvas Demo. Copyright (C) 2007 Damon Chaplin. 3 * Released under the GNU LGPL license. See COPYING for details. 4 * 5 * demo-large-line.h - a demo item that exceeds the cairo 16-bit size limit. 6 * Note that it doesn't support miters. 7 */ 8 #ifndef __GOO_DEMO_LARGE_LINE_H__ 9 #define __GOO_DEMO_LARGE_LINE_H__ 10 11 #include <gtk/gtk.h> 12 #include "goocanvasitemsimple.h" 13 14 G_BEGIN_DECLS 15 16 17 #define GOO_TYPE_DEMO_LARGE_LINE (goo_demo_large_line_get_type ()) 18 #define GOO_DEMO_LARGE_LINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GOO_TYPE_DEMO_LARGE_LINE, GooDemoLargeLine)) 19 #define GOO_DEMO_LARGE_LINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GOO_TYPE_DEMO_LARGE_LINE, GooDemoLargeLineClass)) 20 #define GOO_IS_DEMO_LARGE_LINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GOO_TYPE_DEMO_LARGE_LINE)) 21 #define GOO_IS_DEMO_LARGE_LINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GOO_TYPE_DEMO_LARGE_LINE)) 22 #define GOO_DEMO_LARGE_LINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GOO_TYPE_DEMO_LARGE_LINE, GooDemoLargeLineClass)) 23 24 25 typedef struct _GooDemoLargeLine GooDemoLargeLine; 26 typedef struct _GooDemoLargeLineClass GooDemoLargeLineClass; 27 28 struct _GooDemoLargeLine 29 { 30 GooCanvasItemSimple parent_object; 31 32 gdouble x1, y1, x2, y2; 33 }; 34 35 struct _GooDemoLargeLineClass 36 { 37 GooCanvasItemSimpleClass parent_class; 38 }; 39 40 41 GType goo_demo_large_line_get_type (void) G_GNUC_CONST; 42 43 GooCanvasItem* goo_demo_large_line_new (GooCanvasItem *parent, 44 gdouble x1, 45 gdouble y1, 46 gdouble x2, 47 gdouble y2, 48 ...); 49 50 51 G_END_DECLS 52 53 #endif /* __GOO_DEMO_LARGE_LINE_H__ */ 54