win32: remove _gdk_root global variable
This commit is contained in:
committed by
Ignacio Casal Quinteiro
parent
e44b420617
commit
3cd79c11fc
@ -175,9 +175,12 @@ gdk_device_win32_query_state (GdkDevice *device,
|
||||
gdouble *win_y,
|
||||
GdkModifierType *mask)
|
||||
{
|
||||
GdkScreen *screen;
|
||||
POINT point;
|
||||
HWND hwnd, hwndc;
|
||||
|
||||
screen = gdk_window_get_screen (window);
|
||||
|
||||
hwnd = GDK_WINDOW_HWND (window);
|
||||
GetCursorPos (&point);
|
||||
|
||||
@ -195,7 +198,7 @@ gdk_device_win32_query_state (GdkDevice *device,
|
||||
if (win_y)
|
||||
*win_y = point.y;
|
||||
|
||||
if (window == _gdk_root)
|
||||
if (window == gdk_screen_get_root_window (screen))
|
||||
{
|
||||
if (win_x)
|
||||
*win_x += _gdk_offset_x;
|
||||
@ -221,12 +224,7 @@ gdk_device_win32_query_state (GdkDevice *device,
|
||||
}
|
||||
|
||||
if (root_window)
|
||||
{
|
||||
GdkScreen *screen;
|
||||
|
||||
screen = gdk_window_get_screen (window);
|
||||
*root_window = gdk_screen_get_root_window (screen);
|
||||
}
|
||||
*root_window = gdk_screen_get_root_window (screen);
|
||||
|
||||
if (mask)
|
||||
*mask = get_current_mask ();
|
||||
@ -322,7 +320,8 @@ _gdk_device_win32_window_at_position (GdkDevice *device,
|
||||
*win_x = screen_pt.x + _gdk_offset_x;
|
||||
if (win_y)
|
||||
*win_y = screen_pt.y + _gdk_offset_y;
|
||||
return _gdk_root;
|
||||
|
||||
return gdk_get_default_root_window ();
|
||||
}
|
||||
|
||||
window = gdk_win32_handle_table_lookup (hwnd);
|
||||
|
||||
@ -184,10 +184,12 @@ gdk_device_wintab_query_state (GdkDevice *device,
|
||||
GdkModifierType *mask)
|
||||
{
|
||||
GdkDeviceWintab *device_wintab;
|
||||
GdkScreen *screen;
|
||||
POINT point;
|
||||
HWND hwnd, hwndc;
|
||||
|
||||
device_wintab = GDK_DEVICE_WINTAB (device);
|
||||
screen = gdk_window_get_screen (window);
|
||||
|
||||
hwnd = GDK_WINDOW_HWND (window);
|
||||
GetCursorPos (&point);
|
||||
@ -206,7 +208,7 @@ gdk_device_wintab_query_state (GdkDevice *device,
|
||||
if (win_y)
|
||||
*win_y = point.y;
|
||||
|
||||
if (window == _gdk_root)
|
||||
if (window == gdk_get_default_root_window ())
|
||||
{
|
||||
if (win_x)
|
||||
*win_x += _gdk_offset_x;
|
||||
@ -226,12 +228,7 @@ gdk_device_wintab_query_state (GdkDevice *device,
|
||||
}
|
||||
|
||||
if (root_window)
|
||||
{
|
||||
GdkScreen *screen;
|
||||
|
||||
screen = gdk_window_get_screen (window);
|
||||
*root_window = gdk_screen_get_root_window (screen);
|
||||
}
|
||||
*root_window = gdk_screen_get_root_window (screen);
|
||||
|
||||
if (mask)
|
||||
{
|
||||
|
||||
@ -919,7 +919,7 @@ _gdk_input_other_event (GdkEvent *event,
|
||||
device_manager = GDK_DEVICE_MANAGER_WIN32 (gdk_display_get_device_manager (_gdk_display));
|
||||
window = gdk_device_get_window_at_position (device_manager->core_pointer, &x, &y);
|
||||
if (window == NULL)
|
||||
window = _gdk_root;
|
||||
window = gdk_get_default_root_window ();
|
||||
|
||||
g_object_ref (window);
|
||||
|
||||
@ -961,7 +961,7 @@ _gdk_input_other_event (GdkEvent *event,
|
||||
window = g_object_ref (last_grab->window);
|
||||
}
|
||||
|
||||
if (window == _gdk_root)
|
||||
if (window == gdk_get_default_root_window ())
|
||||
{
|
||||
GDK_NOTE (EVENTS_OR_INPUT, g_print ("... is root\n"));
|
||||
return FALSE;
|
||||
@ -1038,8 +1038,7 @@ _gdk_input_other_event (GdkEvent *event,
|
||||
{
|
||||
GDK_NOTE (EVENTS_OR_INPUT, g_print ("... not selected\n"));
|
||||
|
||||
if (window->parent == GDK_WINDOW (_gdk_root) ||
|
||||
window->parent == NULL)
|
||||
if (window->parent == gdk_get_default_root_window () || window->parent == NULL)
|
||||
return FALSE;
|
||||
|
||||
pt.x = x;
|
||||
|
||||
@ -260,7 +260,7 @@ inner_display_change_window_procedure (HWND hwnd,
|
||||
case WM_DISPLAYCHANGE:
|
||||
{
|
||||
_gdk_monitor_init ();
|
||||
_gdk_root_window_size_init ();
|
||||
_gdk_screen_init_root_window_size (GDK_WIN32_SCREEN (_gdk_screen));
|
||||
g_signal_emit_by_name (_gdk_screen, "size_changed");
|
||||
|
||||
return 0;
|
||||
@ -345,7 +345,7 @@ _gdk_win32_display_open (const gchar *display_name)
|
||||
|
||||
_gdk_monitor_init ();
|
||||
_gdk_visual_init (_gdk_screen);
|
||||
_gdk_windowing_window_init (_gdk_screen);
|
||||
_gdk_screen_init_root_window (GDK_WIN32_SCREEN (_gdk_screen));
|
||||
_gdk_events_init ();
|
||||
_gdk_input_init (_gdk_display);
|
||||
_gdk_dnd_init ();
|
||||
@ -520,9 +520,8 @@ inner_clipboard_window_procedure (HWND hwnd,
|
||||
|
||||
GDK_NOTE (DND, g_print (" \n"));
|
||||
|
||||
|
||||
event = gdk_event_new (GDK_OWNER_CHANGE);
|
||||
event->owner_change.window = _gdk_root;
|
||||
event->owner_change.window = gdk_get_default_root_window ();
|
||||
event->owner_change.owner = owner;
|
||||
event->owner_change.reason = GDK_OWNER_CHANGE_NEW_OWNER;
|
||||
event->owner_change.selection = GDK_SELECTION_CLIPBOARD;
|
||||
@ -575,7 +574,6 @@ register_clipboard_notification (GdkDisplay *display)
|
||||
{
|
||||
GdkWin32Display *display_win32 = GDK_WIN32_DISPLAY (display);
|
||||
WNDCLASS wclass = { 0, };
|
||||
HWND hwnd;
|
||||
ATOM klass;
|
||||
|
||||
wclass.lpszClassName = "GdkClipboardNotification";
|
||||
|
||||
@ -728,7 +728,7 @@ idropsource_givefeedback (LPDROPSOURCE This,
|
||||
else
|
||||
{
|
||||
if (ctx->context->dest_window == NULL)
|
||||
ctx->context->dest_window = g_object_ref (_gdk_root);
|
||||
ctx->context->dest_window = g_object_ref (gdk_get_default_root_window ());
|
||||
}
|
||||
|
||||
return DRAGDROP_S_USEDEFAULTCURSORS;
|
||||
@ -1445,7 +1445,7 @@ gdk_dropfiles_filter (GdkXEvent *xev,
|
||||
device = gdk_device_manager_get_client_pointer (device_manager);
|
||||
gdk_drag_context_set_device (context, device);
|
||||
|
||||
context->source_window = _gdk_root;
|
||||
context->source_window = gdk_get_default_root_window ();
|
||||
g_object_ref (context->source_window);
|
||||
|
||||
context->dest_window = event->any.window;
|
||||
|
||||
@ -1357,7 +1357,7 @@ propagate (GdkWindow **window,
|
||||
{
|
||||
/* Owner doesn't want it, propagate to parent. */
|
||||
GdkWindow *parent = gdk_window_get_parent (*window);
|
||||
if (parent == _gdk_root || parent == NULL)
|
||||
if (parent == gdk_get_default_root_window () || parent == NULL)
|
||||
{
|
||||
/* No parent; check if grabbed */
|
||||
if (grab_window != NULL)
|
||||
@ -1431,7 +1431,7 @@ _gdk_win32_emit_configure_event (GdkWindow *window)
|
||||
point.y = client_rect.top;
|
||||
|
||||
/* top level windows need screen coords */
|
||||
if (gdk_window_get_parent (window) == _gdk_root)
|
||||
if (gdk_window_get_parent (window) == gdk_get_default_root_window ())
|
||||
{
|
||||
ClientToScreen (hwnd, &point);
|
||||
point.x += _gdk_offset_x;
|
||||
|
||||
@ -29,7 +29,6 @@
|
||||
|
||||
GdkDisplay *_gdk_display = NULL;
|
||||
GdkScreen *_gdk_screen = NULL;
|
||||
GdkWindow *_gdk_root = NULL;
|
||||
|
||||
gint _gdk_num_monitors;
|
||||
GdkWin32Monitor *_gdk_monitors = NULL;
|
||||
|
||||
@ -38,6 +38,7 @@
|
||||
#include <gdk/gdkcursorprivate.h>
|
||||
#include <gdk/win32/gdkwindow-win32.h>
|
||||
#include <gdk/win32/gdkwin32display.h>
|
||||
#include <gdk/win32/gdkwin32screen.h>
|
||||
|
||||
#include "gdkinternals.h"
|
||||
|
||||
@ -254,8 +255,6 @@ void _gdk_other_api_failed (const gchar *where,
|
||||
|
||||
extern LRESULT CALLBACK _gdk_win32_window_procedure (HWND, UINT, WPARAM, LPARAM);
|
||||
|
||||
extern GdkWindow *_gdk_root;
|
||||
|
||||
extern GdkDisplay *_gdk_display;
|
||||
extern GdkScreen *_gdk_screen;
|
||||
|
||||
@ -545,8 +544,8 @@ void _gdk_win32_emit_configure_event (GdkWindow *window);
|
||||
|
||||
/* Initialization */
|
||||
void _gdk_win32_windowing_init (void);
|
||||
void _gdk_windowing_window_init (GdkScreen *screen);
|
||||
void _gdk_root_window_size_init (void);
|
||||
void _gdk_screen_init_root_window (GdkWin32Screen *screen_win32);
|
||||
void _gdk_screen_init_root_window_size (GdkWin32Screen *screen);
|
||||
void _gdk_monitor_init(void);
|
||||
void _gdk_visual_init (GdkScreen *screen);
|
||||
void _gdk_dnd_init (void);
|
||||
|
||||
@ -293,7 +293,12 @@ _gdk_win32_window_delete_property (GdkWindow *window,
|
||||
if (property == _gdk_selection)
|
||||
_gdk_selection_property_delete (window);
|
||||
else if (property == _wm_transient_for)
|
||||
gdk_window_set_transient_for (window, _gdk_root);
|
||||
{
|
||||
GdkScreen *screen;
|
||||
|
||||
screen = gdk_window_get_screen (window);
|
||||
gdk_window_set_transient_for (window, gdk_screen_get_root_window (screen));
|
||||
}
|
||||
else
|
||||
{
|
||||
prop_name = gdk_atom_name (property);
|
||||
|
||||
@ -20,12 +20,16 @@
|
||||
#include "gdkprivate-win32.h"
|
||||
#include "gdkscreenprivate.h"
|
||||
#include "gdkwin32screen.h"
|
||||
#include "gdkdisplayprivate.h"
|
||||
#include "gdkvisualprivate.h"
|
||||
|
||||
#include <dwmapi.h>
|
||||
|
||||
struct _GdkWin32Screen
|
||||
{
|
||||
GdkScreen parent_instance;
|
||||
|
||||
GdkWindow *root_window;
|
||||
};
|
||||
|
||||
struct _GdkWin32ScreenClass
|
||||
@ -36,9 +40,9 @@ struct _GdkWin32ScreenClass
|
||||
G_DEFINE_TYPE (GdkWin32Screen, gdk_win32_screen, GDK_TYPE_SCREEN)
|
||||
|
||||
static void
|
||||
gdk_win32_screen_init (GdkWin32Screen *display)
|
||||
gdk_win32_screen_init (GdkWin32Screen *win32_screen)
|
||||
{
|
||||
GdkScreen *screen = GDK_SCREEN (display);
|
||||
GdkScreen *screen = GDK_SCREEN (win32_screen);
|
||||
HDC screen_dc;
|
||||
int logpixelsx = -1;
|
||||
const gchar *font_resolution;
|
||||
@ -63,6 +67,58 @@ gdk_win32_screen_init (GdkWin32Screen *display)
|
||||
_gdk_screen_set_resolution (screen, logpixelsx);
|
||||
}
|
||||
|
||||
void
|
||||
_gdk_screen_init_root_window_size (GdkWin32Screen *screen)
|
||||
{
|
||||
GdkRectangle rect;
|
||||
int i;
|
||||
|
||||
rect = _gdk_monitors[0].rect;
|
||||
for (i = 1; i < _gdk_num_monitors; i++)
|
||||
gdk_rectangle_union (&rect, &_gdk_monitors[i].rect, &rect);
|
||||
|
||||
screen->root_window->width = rect.width;
|
||||
screen->root_window->height = rect.height;
|
||||
}
|
||||
|
||||
void
|
||||
_gdk_screen_init_root_window (GdkWin32Screen *screen_win32)
|
||||
{
|
||||
GdkScreen *screen;
|
||||
GdkWindow *window;
|
||||
GdkWindowImplWin32 *impl_win32;
|
||||
|
||||
screen = GDK_SCREEN (screen_win32);
|
||||
|
||||
g_assert (screen_win32->root_window == NULL);
|
||||
|
||||
window = _gdk_display_create_window (_gdk_display);
|
||||
window->impl = g_object_new (GDK_TYPE_WINDOW_IMPL_WIN32, NULL);
|
||||
impl_win32 = GDK_WINDOW_IMPL_WIN32 (window->impl);
|
||||
impl_win32->wrapper = window;
|
||||
|
||||
window->impl_window = window;
|
||||
window->visual = gdk_screen_get_system_visual (screen);
|
||||
|
||||
window->window_type = GDK_WINDOW_ROOT;
|
||||
window->depth = window->visual->depth;
|
||||
|
||||
screen_win32->root_window = window;
|
||||
|
||||
_gdk_screen_init_root_window_size (screen_win32);
|
||||
|
||||
window->x = 0;
|
||||
window->y = 0;
|
||||
window->abs_x = 0;
|
||||
window->abs_y = 0;
|
||||
/* width and height already initialised in _gdk_screen_init_root_window_size() */
|
||||
window->viewable = TRUE;
|
||||
|
||||
gdk_win32_handle_table_insert ((HANDLE *) &impl_win32->handle, window);
|
||||
|
||||
GDK_NOTE (MISC, g_print ("screen->root_window=%p\n", window));
|
||||
}
|
||||
|
||||
static GdkDisplay *
|
||||
gdk_win32_screen_get_display (GdkScreen *screen)
|
||||
{
|
||||
@ -72,13 +128,13 @@ gdk_win32_screen_get_display (GdkScreen *screen)
|
||||
static gint
|
||||
gdk_win32_screen_get_width (GdkScreen *screen)
|
||||
{
|
||||
return GDK_WINDOW (_gdk_root)->width;
|
||||
return GDK_WIN32_SCREEN (screen)->root_window->width;
|
||||
}
|
||||
|
||||
static gint
|
||||
gdk_win32_screen_get_height (GdkScreen *screen)
|
||||
{
|
||||
return GDK_WINDOW (_gdk_root)->height;
|
||||
return GDK_WIN32_SCREEN (screen)->root_window->height;
|
||||
}
|
||||
|
||||
static gint
|
||||
@ -96,7 +152,7 @@ gdk_win32_screen_get_height_mm (GdkScreen *screen)
|
||||
static GdkWindow *
|
||||
gdk_win32_screen_get_root_window (GdkScreen *screen)
|
||||
{
|
||||
return _gdk_root;
|
||||
return GDK_WIN32_SCREEN (screen)->root_window;
|
||||
}
|
||||
|
||||
static gint
|
||||
|
||||
@ -195,60 +195,10 @@ _gdk_win32_adjust_client_rect (GdkWindow *window,
|
||||
API_CALL (AdjustWindowRectEx, (rect, style, FALSE, exstyle));
|
||||
}
|
||||
|
||||
void
|
||||
_gdk_root_window_size_init (void)
|
||||
{
|
||||
GdkWindow *window;
|
||||
GdkRectangle rect;
|
||||
int i;
|
||||
|
||||
window = GDK_WINDOW (_gdk_root);
|
||||
rect = _gdk_monitors[0].rect;
|
||||
for (i = 1; i < _gdk_num_monitors; i++)
|
||||
gdk_rectangle_union (&rect, &_gdk_monitors[i].rect, &rect);
|
||||
|
||||
window->width = rect.width;
|
||||
window->height = rect.height;
|
||||
}
|
||||
|
||||
void
|
||||
_gdk_windowing_window_init (GdkScreen *screen)
|
||||
{
|
||||
GdkWindow *window;
|
||||
GdkWindowImplWin32 *impl_win32;
|
||||
|
||||
g_assert (_gdk_root == NULL);
|
||||
|
||||
_gdk_root = _gdk_display_create_window (_gdk_display);
|
||||
|
||||
window = (GdkWindow *)_gdk_root;
|
||||
window->impl = g_object_new (GDK_TYPE_WINDOW_IMPL_WIN32, NULL);
|
||||
impl_win32 = GDK_WINDOW_IMPL_WIN32 (window->impl);
|
||||
impl_win32->wrapper = window;
|
||||
|
||||
window->impl_window = window;
|
||||
window->visual = gdk_screen_get_system_visual (screen);
|
||||
|
||||
window->window_type = GDK_WINDOW_ROOT;
|
||||
window->depth = window->visual->depth;
|
||||
|
||||
_gdk_root_window_size_init ();
|
||||
|
||||
window->x = 0;
|
||||
window->y = 0;
|
||||
window->abs_x = 0;
|
||||
window->abs_y = 0;
|
||||
/* width and height already initialised in _gdk_root_window_size_init() */
|
||||
window->viewable = TRUE;
|
||||
|
||||
gdk_win32_handle_table_insert ((HANDLE *) &impl_win32->handle, _gdk_root);
|
||||
|
||||
GDK_NOTE (MISC, g_print ("_gdk_root=%p\n", GDK_WINDOW_HWND (_gdk_root)));
|
||||
}
|
||||
|
||||
gboolean
|
||||
_gdk_win32_window_enable_transparency (GdkWindow *window)
|
||||
{
|
||||
GdkScreen *screen;
|
||||
DWM_BLURBEHIND blur_behind;
|
||||
HRGN empty_region;
|
||||
HRESULT call_result;
|
||||
@ -257,10 +207,12 @@ _gdk_win32_window_enable_transparency (GdkWindow *window)
|
||||
if (window == NULL || GDK_WINDOW_HWND (window) == NULL)
|
||||
return FALSE;
|
||||
|
||||
if (!gdk_screen_is_composited (gdk_window_get_screen (window)))
|
||||
screen = gdk_window_get_screen (window);
|
||||
|
||||
if (!gdk_screen_is_composited (screen))
|
||||
return FALSE;
|
||||
|
||||
if (window == _gdk_root)
|
||||
if (window == gdk_screen_get_root_window (screen))
|
||||
return FALSE;
|
||||
|
||||
thiswindow = GDK_WINDOW_HWND (window);
|
||||
@ -591,7 +543,7 @@ _gdk_win32_display_create_window_impl (GdkDisplay *display,
|
||||
|
||||
case GDK_WINDOW_TEMP:
|
||||
/* A temp window is not necessarily a top level window */
|
||||
dwStyle = (_gdk_root == real_parent ? WS_POPUP : WS_CHILDWINDOW);
|
||||
dwStyle = (gdk_screen_get_root_window (screen) == real_parent ? WS_POPUP : WS_CHILDWINDOW);
|
||||
dwStyle |= WS_CLIPCHILDREN | WS_CLIPSIBLINGS;
|
||||
dwExStyle |= WS_EX_TOOLWINDOW | WS_EX_TOPMOST;
|
||||
offset_x = _gdk_offset_x;
|
||||
@ -766,7 +718,7 @@ gdk_win32_window_foreign_new_for_display (GdkDisplay *display,
|
||||
|
||||
window->parent = gdk_win32_handle_table_lookup (parent);
|
||||
if (!window->parent || GDK_WINDOW_TYPE (window->parent) == GDK_WINDOW_FOREIGN)
|
||||
window->parent = _gdk_root;
|
||||
window->parent = gdk_get_default_root_window ();
|
||||
|
||||
window->parent->children = g_list_concat (&window->children_list_node, window->parent->children);
|
||||
window->parent->impl_window->native_children =
|
||||
@ -1445,14 +1397,23 @@ gdk_win32_window_reparent (GdkWindow *window,
|
||||
gint x,
|
||||
gint y)
|
||||
{
|
||||
GdkScreen *screen;
|
||||
GdkWindow *parent;
|
||||
GdkWindow *old_parent;
|
||||
GdkWindowImplWin32 *impl;
|
||||
gboolean new_parent_is_root;
|
||||
gboolean was_toplevel;
|
||||
LONG style;
|
||||
|
||||
screen = gdk_window_get_screen (window);
|
||||
|
||||
if (!new_parent)
|
||||
new_parent = _gdk_root;
|
||||
{
|
||||
new_parent = gdk_screen_get_root_window (screen);
|
||||
new_parent_is_root = TRUE;
|
||||
}
|
||||
else
|
||||
new_parent_is_root = (gdk_screen_get_root_window (screen) == new_parent);
|
||||
|
||||
old_parent = window->parent;
|
||||
parent = new_parent;
|
||||
@ -1465,7 +1426,7 @@ gdk_win32_window_reparent (GdkWindow *window,
|
||||
style = GetWindowLong (GDK_WINDOW_HWND (window), GWL_STYLE);
|
||||
|
||||
was_toplevel = GetAncestor (GDK_WINDOW_HWND (window), GA_PARENT) == GetDesktopWindow ();
|
||||
if (was_toplevel && new_parent != _gdk_root)
|
||||
if (was_toplevel && !new_parent_is_root)
|
||||
{
|
||||
/* Reparenting from top-level (child of desktop). Clear out
|
||||
* decorations.
|
||||
@ -1474,7 +1435,7 @@ gdk_win32_window_reparent (GdkWindow *window,
|
||||
style |= WS_CHILD;
|
||||
SetWindowLong (GDK_WINDOW_HWND (window), GWL_STYLE, style);
|
||||
}
|
||||
else if (new_parent == _gdk_root)
|
||||
else if (new_parent_is_root)
|
||||
{
|
||||
/* Reparenting to top-level. Add decorations. */
|
||||
style &= ~(WS_CHILD);
|
||||
@ -1492,7 +1453,7 @@ gdk_win32_window_reparent (GdkWindow *window,
|
||||
* the root window
|
||||
*/
|
||||
if (GDK_WINDOW_TYPE (new_parent) == GDK_WINDOW_FOREIGN)
|
||||
new_parent = _gdk_root;
|
||||
new_parent = gdk_screen_get_root_window (screen);
|
||||
|
||||
window->parent = new_parent;
|
||||
|
||||
@ -2005,8 +1966,18 @@ gdk_win32_window_get_geometry (GdkWindow *window,
|
||||
gint *width,
|
||||
gint *height)
|
||||
{
|
||||
GdkScreen *screen;
|
||||
gboolean window_is_root;
|
||||
|
||||
screen = gdk_window_get_screen (window);
|
||||
|
||||
if (!window)
|
||||
window = _gdk_root;
|
||||
{
|
||||
window = gdk_screen_get_root_window (screen);
|
||||
window_is_root = TRUE;
|
||||
}
|
||||
else
|
||||
window_is_root = (gdk_screen_get_root_window (screen) == window);
|
||||
|
||||
if (!GDK_WINDOW_DESTROYED (window))
|
||||
{
|
||||
@ -2014,7 +1985,7 @@ gdk_win32_window_get_geometry (GdkWindow *window,
|
||||
|
||||
API_CALL (GetClientRect, (GDK_WINDOW_HWND (window), &rect));
|
||||
|
||||
if (window != _gdk_root)
|
||||
if (!window_is_root)
|
||||
{
|
||||
POINT pt;
|
||||
GdkWindow *parent = gdk_window_get_parent (window);
|
||||
@ -2033,7 +2004,7 @@ gdk_win32_window_get_geometry (GdkWindow *window,
|
||||
rect.right = pt.x;
|
||||
rect.bottom = pt.y;
|
||||
|
||||
if (parent == _gdk_root)
|
||||
if (gdk_screen_get_root_window (screen) == parent)
|
||||
{
|
||||
rect.left += _gdk_offset_x;
|
||||
rect.top += _gdk_offset_y;
|
||||
|
||||
Reference in New Issue
Block a user