BEAST/BSE - Better Audio System and Sound Engine  0.8.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
gxkrackeditor.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_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__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines