BEAST/BSE - Better Audio System and Sound Engine  0.8.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
gxkpolygon.hh
Go to the documentation of this file.
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__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines