summaryrefslogtreecommitdiff
path: root/src/keybindings.c
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2004-08-19 02:05:24 +0000
committerHavoc Pennington <hp@src.gnome.org>2004-08-19 02:05:24 +0000
commit06a58f43c0b58ab15a3e40e93b16f2c0e128af23 (patch)
tree5160878a04dbf76aed4789becaa6cb14a4b8a37d /src/keybindings.c
parente81b5978b08ccfe9667f3abf4902899d654036ca (diff)
downloadmetacity-06a58f43c0b58ab15a3e40e93b16f2c0e128af23.tar.gz
track the last_xor_rect separately from the current window size, and then
2004-08-18 Havoc Pennington <hp@redhat.com> * src/display.h (struct _MetaDisplay): track the last_xor_rect separately from the current window size, and then use that to paint the wireframe including the frame, and taking into account shaded windows. * src/window.c (meta_window_get_xor_rect): new function to compute the xor rect; it is not really 100% right, because it uses the frame dimensions from the window at the start of the move/resize. But probably won't break in practice.
Diffstat (limited to 'src/keybindings.c')
-rw-r--r--src/keybindings.c30
1 files changed, 18 insertions, 12 deletions
diff --git a/src/keybindings.c b/src/keybindings.c
index 89c6d57f..9039e96a 100644
--- a/src/keybindings.c
+++ b/src/keybindings.c
@@ -1822,14 +1822,16 @@ process_keyboard_move_grab (MetaDisplay *display,
{
MetaRectangle new_xor;
- new_xor = display->grab_wireframe_rect;
- new_xor.x = x;
- new_xor.y = y;
+ display->grab_wireframe_rect.x = x;
+ display->grab_wireframe_rect.y = y;
+
+ meta_window_get_xor_rect (window, &display->grab_wireframe_rect,
+ &new_xor);
meta_effects_update_wireframe (window->screen,
- &display->grab_wireframe_rect,
+ &display->grab_wireframe_last_xor_rect,
&new_xor);
- display->grab_wireframe_rect = new_xor;
+ display->grab_wireframe_last_xor_rect = new_xor;
}
else
{
@@ -2281,15 +2283,19 @@ process_keyboard_resize_grab (MetaDisplay *display,
{
MetaRectangle new_xor;
- new_xor.x = x;
- new_xor.y = y;
- new_xor.width = width;
- new_xor.height = height;
-
+ window->display->grab_wireframe_rect.x = x;
+ window->display->grab_wireframe_rect.y = y;
+ window->display->grab_wireframe_rect.width = width;
+ window->display->grab_wireframe_rect.height = height;
+
+ meta_window_get_xor_rect (window,
+ &window->display->grab_wireframe_rect,
+ &new_xor);
+
meta_effects_update_wireframe (window->screen,
- &window->display->grab_wireframe_rect,
+ &window->display->grab_wireframe_last_xor_rect,
&new_xor);
- window->display->grab_wireframe_rect = new_xor;
+ window->display->grab_wireframe_last_xor_rect = new_xor;
/* do this after drawing the wires, so we don't draw over it */
meta_window_refresh_resize_popup (window);