BEAST/BSE - Better Audio System and Sound Engine  0.9.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
bstcanvassource.hh
Go to the documentation of this file.
1  // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
2 #ifndef __BST_CANVAS_SOURCE_H__
3 #define __BST_CANVAS_SOURCE_H__
4 
5 #include "bstutils.hh"
6 
7 G_BEGIN_DECLS
8 
9 /* --- Gtk+ type macros --- */
10 #define BST_TYPE_CANVAS_SOURCE (bst_canvas_source_get_type ())
11 #define BST_CANVAS_SOURCE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BST_TYPE_CANVAS_SOURCE, BstCanvasSource))
12 #define BST_CANVAS_SOURCE_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), BST_TYPE_CANVAS_SOURCE, BstCanvasSourceClass))
13 #define BST_IS_CANVAS_SOURCE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BST_TYPE_CANVAS_SOURCE))
14 #define BST_IS_CANVAS_SOURCE_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BST_TYPE_CANVAS_SOURCE))
15 #define BST_CANVAS_SOURCE_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BST_TYPE_CANVAS_SOURCE, BstCanvasSourceClass))
16 #define BST_CANVAS_SOURCE_PIXEL_SCALE ((SfiReal) 100) /* > total width/height */
17 
18 
19 /* --- structures & typedefs --- */
20 typedef struct _BstCanvasSource BstCanvasSource;
21 typedef struct _BstCanvasSourceClass BstCanvasSourceClass;
23 {
24  GnomeCanvasGroup parent_object;
25 
26  SfiProxy source;
27 
28  GtkWidget *params_dialog;
29  GtkWidget *source_info;
30 
31  GnomeCanvasItem *icon_item;
32  GnomeCanvasItem *text;
33  GSList *channel_items;
34  GSList *channel_hints;
35 
36  guint swap_channels : 1;
37  guint in_move : 1;
38  guint show_hints : 1;
39  guint idle_reposition : 1;
40  guint built_ichannels : 1;
41  guint built_ochannels : 1;
42  guint built_ihints : 1;
43  guint built_ohints : 1;
44  gdouble move_dx, move_dy;
45 };
47 {
48  GnomeCanvasGroupClass parent_class;
49 
50  void (*update_links) (BstCanvasSource *source);
51 };
52 
53 
54 /* --- prototypes --- */
55 GType bst_canvas_source_get_type (void);
56 GnomeCanvasItem* bst_canvas_source_new (GnomeCanvasGroup *group,
57  SfiProxy source);
58 void bst_canvas_source_update_links (BstCanvasSource *csource);
59 void bst_canvas_source_ochannel_pos (BstCanvasSource *csource,
60  guint ochannel,
61  gdouble *world_x,
62  gdouble *world_y);
63 void bst_canvas_source_ichannel_pos (BstCanvasSource *csource,
64  guint ichannel,
65  gdouble *world_x,
66  gdouble *world_y);
67 gboolean bst_canvas_source_is_jchannel (BstCanvasSource *csource,
68  guint ichannel);
69 gboolean bst_canvas_source_ichannel_free (BstCanvasSource *csource,
70  guint ichannel);
71 guint bst_canvas_source_ichannel_at (BstCanvasSource *csource,
72  gdouble world_x,
73  gdouble world_y);
74 guint bst_canvas_source_ochannel_at (BstCanvasSource *csource,
75  gdouble world_x,
76  gdouble world_y);
77 BstCanvasSource* bst_canvas_source_at (GnomeCanvas *csource,
78  gdouble world_x,
79  gdouble world_y);
80 void bst_canvas_source_reset_params (BstCanvasSource *csource);
81 void bst_canvas_source_popup_params (BstCanvasSource *csource);
82 void bst_canvas_source_toggle_params (BstCanvasSource *csource);
83 void bst_canvas_source_popup_info (BstCanvasSource *csource);
84 void bst_canvas_source_toggle_info (BstCanvasSource *csource);
85 void bst_canvas_source_set_channel_hints (BstCanvasSource *csource,
86  gboolean on_off);
87 
88 G_END_DECLS
89 
90 #endif /* __BST_CANVAS_SOURCE_H__ */
Definition: bstcanvassource.hh:22
Definition: bstcanvassource.hh:46