BEAST/BSE - Better Audio System and Sound Engine  0.9.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
bstcanvaslink.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_LINK_H__
3 #define __BST_CANVAS_LINK_H__
4 
5 #include "bstutils.hh"
6 #include "bstcanvassource.hh"
7 
8 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif /* __cplusplus */
12 
13 
14 /* --- Gtk+ type macros --- */
15 #define BST_TYPE_CANVAS_LINK (bst_canvas_link_get_type ())
16 #define BST_CANVAS_LINK(object) (GTK_CHECK_CAST ((object), BST_TYPE_CANVAS_LINK, BstCanvasLink))
17 #define BST_CANVAS_LINK_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), BST_TYPE_CANVAS_LINK, BstCanvasLinkClass))
18 #define BST_IS_CANVAS_LINK(object) (GTK_CHECK_TYPE ((object), BST_TYPE_CANVAS_LINK))
19 #define BST_IS_CANVAS_LINK_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), BST_TYPE_CANVAS_LINK))
20 #define BST_CANVAS_LINK_GET_CLASS(obj) (GTK_CHECK_GET_CLASS ((obj), BST_TYPE_CANVAS_LINK, BstCanvasLinkClass))
21 
22 
23 /* --- structures & typedefs --- */
24 typedef struct _BstCanvasLink BstCanvasLink;
25 typedef struct _BstCanvasLinkClass BstCanvasLinkClass;
27 {
28  GnomeCanvasGroup parent_object;
29 
30  GnomeCanvasItem *line;
31  GnomeCanvasItem *arrow;
32  GnomeCanvasItem *tag_start, *tag_end;
33 
34  BstCanvasSource *ocsource;
35  guint ochannel;
36  gulong oc_handler;
37  BstCanvasSource *icsource;
38  guint ichannel;
39  gulong ic_handler;
40 
41  guint in_move : 1;
42  gdouble start_move_dx, start_move_dy;
43  gdouble end_move_dx, end_move_dy;
44 
45  GtkWidget *link_view;
46 };
48 {
49  GnomeCanvasGroupClass parent_class;
50 };
51 
52 
53 /* --- prototypes --- */
54 GtkType bst_canvas_link_get_type (void);
55 GnomeCanvasItem* bst_canvas_link_new (GnomeCanvasGroup *group);
56 void bst_canvas_link_set_ocsource (BstCanvasLink *clink,
57  BstCanvasSource *ocsource,
58  guint ochannel);
59 void bst_canvas_link_set_icsource (BstCanvasLink *clink,
60  BstCanvasSource *icsource,
61  guint ichannel);
62 void bst_canvas_link_popup_view (BstCanvasLink *clink);
63 void bst_canvas_link_toggle_view (BstCanvasLink *clink);
64 BstCanvasLink* bst_canvas_link_at (GnomeCanvas *canvas,
65  gdouble world_x,
66  gdouble world_y);
67 BstCanvasSource* bst_canvas_link_csource_at (BstCanvasLink *clink,
68  gdouble world_x,
69  gdouble world_y);
70 
71 
72 
73 
74 #ifdef __cplusplus
75 }
76 #endif /* __cplusplus */
77 
78 #endif /* __BST_CANVAS_LINK_H__ */
Definition: bstcanvaslink.hh:47