BEAST/BSE - Better Audio System and Sound Engine
0.8.2
|
00001 // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html 00002 #ifndef __GXK_POLYGON_H__ 00003 #define __GXK_POLYGON_H__ 00004 00005 #include "gxkutils.hh" 00006 00007 G_BEGIN_DECLS 00008 00009 /* --- type macros --- */ 00010 #define GXK_TYPE_POLYGON (gxk_polygon_get_type ()) 00011 #define GXK_POLYGON(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GXK_TYPE_POLYGON, GxkPolygon)) 00012 #define GXK_POLYGON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXK_TYPE_POLYGON, GxkPolygonClass)) 00013 #define GXK_IS_POLYGON(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GXK_TYPE_POLYGON)) 00014 #define GXK_IS_POLYGON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXK_TYPE_POLYGON)) 00015 #define GXK_POLYGON_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), GXK_TYPE_POLYGON, GxkPolygonClass)) 00016 00017 00018 /* --- structures --- */ 00019 typedef struct { 00020 gfloat x1, y1, x2, y2; 00021 GtkShadowType draw_type; 00022 } GxkPolygonLine; 00023 typedef struct { 00024 gfloat xc, yc, xr, yr, sa, ea; 00025 GtkShadowType draw_type; 00026 } GxkPolygonArc; 00027 typedef struct { 00028 GtkWidget parent_instance; 00029 guint n_lines; 00030 GxkPolygonLine *lines; 00031 guint n_arcs; 00032 GxkPolygonArc *arcs; 00033 guint request_length; 00034 } GxkPolygon; 00035 typedef struct { 00036 GtkWidgetClass parent_class; 00037 } GxkPolygonClass; 00038 typedef struct { 00039 guint n_lines; 00040 GxkPolygonLine *lines; 00041 guint n_arcs; 00042 GxkPolygonArc *arcs; 00043 guint length; 00044 } GxkPolygonGraph; 00045 00046 00047 /* --- prototypes --- */ 00048 GType gxk_polygon_get_type (void); 00049 gpointer gxk_polygon_new (GxkPolygonGraph *polygon_graph); 00050 void gxk_polygon_set_lines (GxkPolygon *self, 00051 guint n_lines, 00052 GxkPolygonLine *lines); 00053 void gxk_polygon_set_arcs (GxkPolygon *self, 00054 guint n_arcs, 00055 GxkPolygonArc *arcs); 00056 void gxk_polygon_set_graph (GxkPolygon *self, 00057 GxkPolygonGraph *polygon_graph); 00058 void gxk_polygon_set_length (GxkPolygon *self, 00059 guint length); 00060 extern GxkPolygonGraph gxk_polygon_power; 00061 extern GxkPolygonGraph gxk_polygon_stop; 00062 extern GxkPolygonGraph gxk_polygon_pause; 00063 extern GxkPolygonGraph gxk_polygon_first; 00064 extern GxkPolygonGraph gxk_polygon_previous; 00065 extern GxkPolygonGraph gxk_polygon_rewind; 00066 extern GxkPolygonGraph gxk_polygon_play; 00067 extern GxkPolygonGraph gxk_polygon_forward; 00068 extern GxkPolygonGraph gxk_polygon_next; 00069 extern GxkPolygonGraph gxk_polygon_last; 00070 00071 G_END_DECLS 00072 00073 #endif /* __GXK_POLYGON_H__ */