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_RACK_EDITOR_H__ 00003 #define __GXK_RACK_EDITOR_H__ 00004 00005 #include <gxk/gxkracktable.hh> 00006 00007 G_BEGIN_DECLS 00008 00009 struct _GxkRackEditor { 00010 GdkWindow *iwindow; 00011 gint rfx, rfy, rfw, rfh; 00012 /* child resizing windows */ 00013 GdkWindow *crq1, *crq2, *crq3, *crq4; /* corner windows */ 00014 GdkWindow *crb1, *crb2, *crb3, *crb4; /* bar windows: 1=upper, 2=right, 3=bottom 4=left */ 00015 /* dragging */ 00016 guint grabbing : 1; 00017 GtkWidget *drag_child; 00018 /* corners: 1=top-left, 2=top-right, 3=bottom-left, 4=bottom-right */ 00019 gint drag_corner, drag_x, drag_y; 00020 gint drag_col, drag_row, drag_hspan, drag_vspan; 00021 }; 00022 00023 00024 /* --- prototypes --- */ 00025 void gxk_rack_table_set_edit_mode (GxkRackTable *self, 00026 gboolean enable_editing); 00027 gboolean gxk_rack_table_check_cell (GxkRackTable *self, 00028 guint col, 00029 guint row); 00030 gboolean gxk_rack_table_check_area (GxkRackTable *self, 00031 gboolean framed, 00032 guint col, 00033 guint row, 00034 guint hspan, 00035 guint vspan, 00036 GtkWidget *exempt); 00037 gboolean gxk_rack_table_expand_rect (GxkRackTable *self, 00038 guint col, 00039 guint row, 00040 guint *hspan, 00041 guint *vspan); 00042 00043 00044 /* --- implementation details --- */ 00045 void gxk_rack_table_destroy_editor (GxkRackTable *self); 00046 gboolean gxk_rack_table_handle_enter_notify (GxkRackTable *self, 00047 GdkEventCrossing *event); 00048 gboolean gxk_rack_table_handle_button_press (GxkRackTable *self, 00049 GdkEventButton *event); 00050 gboolean gxk_rack_table_handle_motion_notify (GxkRackTable *self, 00051 GdkEventMotion *event); 00052 gboolean gxk_rack_table_handle_button_release (GxkRackTable *self, 00053 GdkEventButton *event); 00054 gboolean gxk_rack_table_handle_leave_notify (GxkRackTable *self, 00055 GdkEventCrossing *event); 00056 void gxk_rack_table_adjust_editor (GxkRackTable *self); 00057 void gxk_rack_table_unmap_editor (GxkRackTable *self); 00058 00059 00060 G_END_DECLS 00061 00062 #endif /* __GXK_RACK_EDITOR_H__ */