diff options
author | Owen Taylor <otaylor@redhat.com> | 1999-02-15 21:05:51 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 1999-02-15 21:05:51 +0000 |
commit | 0c9af82e9713256d8764c0d72ee4718b44993193 (patch) | |
tree | 123061133bd9dcddc987451c182158d755c94013 /gtk/gtkhandlebox.h | |
parent | 063bad00a2fb7cb4430c35a98ab83c8c1dc80569 (diff) | |
download | gdk-pixbuf-0c9af82e9713256d8764c0d72ee4718b44993193.tar.gz |
When we find a match, stop searching. (Because we assume pspec != NULL in
Thu Feb 11 18:43:12 1999 Owen Taylor <otaylor@redhat.com>
* gtk/gtkbindings.c (gtk_binding_set_add_path): When
we find a match, stop searching. (Because we
assume pspec != NULL in the search).
Wed Feb 10 01:18:22 1999 Owen Taylor <otaylor@redhat.com>
* gtk/gtkhandlebox.c (gtk_handle_box_draw_ghost): Fix
up painting of "ghosts".
* gtk/gtkhandlebox.c (gtk_handle_box_button_changed):
Add double-click reattachment.
* gtk/gtkhandlebox.c: Grab on widget->window,
not on handlebox->bin_window. This means we don't
have to worry about ungrabbing while reparenting.
Don't make a GTK+ grab - that wasn't necessary.
* gtk/gtkhandlebox.c: Only compute the root -> desk
offset once, when starting the drag, instead
of continuously. This should solve the *Bad Window*
errors that were occurring because of race conditions
with the WM.
* gtk/gtkhandlebox.c: Completely reworked the
the logic of reattachment. We introduce the
concept of the "snap edge", which is an edge
that needs to be aligned for reattachmed.
We set a reasonable default from
handlebox->handle_position, but an application
might want to change this in some circumstances.
* gtk/gtkhandlebox.[ch]: Add settors:
gtk_handle_box_set_handle_position ();
gtk_handle_box_set_snap_edge ();
Diffstat (limited to 'gtk/gtkhandlebox.h')
-rw-r--r-- | gtk/gtkhandlebox.h | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/gtk/gtkhandlebox.h b/gtk/gtkhandlebox.h index 215a7efcb..4a60407e0 100644 --- a/gtk/gtkhandlebox.h +++ b/gtk/gtkhandlebox.h @@ -57,14 +57,14 @@ struct _GtkHandleBox guint in_drag : 1; guint shrink_on_detach : 1; + gint snap_edge : 3; /* -1 == unset */ + /* 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 */ + GtkAllocation attach_allocation; + GtkAllocation float_allocation; }; struct _GtkHandleBoxClass @@ -78,10 +78,15 @@ 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); +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); +void gtk_handle_box_set_handle_position (GtkHandleBox *handle_box, + GtkPositionType position); +void gtk_handle_box_set_snap_edge (GtkHandleBox *handle_box, + GtkPositionType edge); + #ifdef __cplusplus |