Beast - Music Synthesizer and Composer  0.11.1+10.g2da35
gxkrackeditor.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 __GXK_RACK_EDITOR_H__
3 #define __GXK_RACK_EDITOR_H__
4 
5 #include <gxk/gxkracktable.hh>
6 
7 struct _GxkRackEditor {
8  GdkWindow *iwindow;
9  gint rfx, rfy, rfw, rfh;
10  /* child resizing windows */
11  GdkWindow *crq1, *crq2, *crq3, *crq4; /* corner windows */
12  GdkWindow *crb1, *crb2, *crb3, *crb4; /* bar windows: 1=upper, 2=right, 3=bottom 4=left */
13  /* dragging */
14  guint grabbing : 1;
15  GtkWidget *drag_child;
16  /* corners: 1=top-left, 2=top-right, 3=bottom-left, 4=bottom-right */
17  gint drag_corner, drag_x, drag_y;
18  gint drag_col, drag_row, drag_hspan, drag_vspan;
19 };
20 
21 
22 /* --- prototypes --- */
23 void gxk_rack_table_set_edit_mode (GxkRackTable *self,
24  gboolean enable_editing);
25 gboolean gxk_rack_table_check_cell (GxkRackTable *self,
26  guint col,
27  guint row);
28 gboolean gxk_rack_table_check_area (GxkRackTable *self,
29  gboolean framed,
30  guint col,
31  guint row,
32  guint hspan,
33  guint vspan,
34  GtkWidget *exempt);
35 gboolean gxk_rack_table_expand_rect (GxkRackTable *self,
36  guint col,
37  guint row,
38  guint *hspan,
39  guint *vspan);
40 
41 
42 /* --- implementation details --- */
43 void gxk_rack_table_destroy_editor (GxkRackTable *self);
44 gboolean gxk_rack_table_handle_enter_notify (GxkRackTable *self,
45  GdkEventCrossing *event);
46 gboolean gxk_rack_table_handle_button_press (GxkRackTable *self,
47  GdkEventButton *event);
48 gboolean gxk_rack_table_handle_motion_notify (GxkRackTable *self,
49  GdkEventMotion *event);
50 gboolean gxk_rack_table_handle_button_release (GxkRackTable *self,
51  GdkEventButton *event);
52 gboolean gxk_rack_table_handle_leave_notify (GxkRackTable *self,
53  GdkEventCrossing *event);
54 void gxk_rack_table_adjust_editor (GxkRackTable *self);
55 void gxk_rack_table_unmap_editor (GxkRackTable *self);
56 
57 
58 #endif /* __GXK_RACK_EDITOR_H__ */
uint32_t * row(uint y)
Definition: gxkrackeditor.hh:7