* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
*/
/* The GtkHandleBox is to allow widgets to be dragged in and out of
{
GtkBin bin;
- GdkWindow *steady_window; /* the window that stays in the parent container */
- GtkWidget *float_window;
- GtkRequisition real_requisition;
- guint is_being_dragged : 1;
- guint is_onroot : 1;
- guint overlap_attaches : 1;
- GdkCursor *fleur_cursor;
-
- gint dragoff_x, dragoff_y; /* start drag position (wrt widget->window) */
- gint steady_x, steady_y; /* origin of stedy_window (wrt the root window) */
+ GdkWindow *bin_window; /* parent window for children */
+ GdkWindow *float_window;
+ GtkShadowType shadow_type;
+ guint handle_position : 2;
+ guint float_window_mapped : 1;
+ guint child_detached : 1;
+ guint in_drag : 1;
+ guint shrink_on_detach : 1;
+
+ /* Variables used during a drag
+ */
+ gint dragoff_x, dragoff_y; /* offset from event->root_x/y and
+ * attach point on float */
+ gint deskoff_x, deskoff_y; /* Offset between root relative coordinates
+ * and deskrelative coordinates */
+ gint attach_x, attach_y; /* Root relative-coordinates of attach
+ * point on widget->window */
};
struct _GtkHandleBoxClass
guint gtk_handle_box_get_type (void);
GtkWidget* gtk_handle_box_new (void);
+void gtk_handle_box_set_shadow_type (GtkHandleBox *handle_box,
+ GtkShadowType type);
#ifdef __cplusplus