GdkWindow *window,
GdkCursor *cursor)
{
- GdkWindowImplWin32 *impl = GDK_WINDOW_IMPL_WIN32 (window->impl);
- GdkCursor *previous_cursor = impl->cursor;
-
if (cursor != NULL && GDK_WIN32_CURSOR (cursor)->hcursor != NULL)
- {
- SetCursor (GDK_WIN32_CURSOR (cursor)->hcursor);
- }
- else if (previous_cursor != NULL &&
- GetCursor () == GDK_WIN32_CURSOR (previous_cursor)->hcursor)
- {
- /* The caller will unref previous_cursor shortly,
- * but it holds the handle to currently-used cursor,
- * and we can't call SetCursor(NULL).
- */
- g_warning (G_STRLOC ": Refusing to replace cursor %p (handle %p) with NULL. "
- "Expect ugly results.",
- previous_cursor, GDK_WIN32_CURSOR (previous_cursor)->hcursor);
- }
- else
- {
- /* Up the stack all effors were made already to ensure that
- * the "cursor" argument is non-NULL.
- * If it is, calling SetCursor(NULL) is absolutely not
- * the right decision, so we just warn and bail out.
- */
- g_warning (G_STRLOC ": Refusing to set NULL cursor");
- }
+ SetCursor (GDK_WIN32_CURSOR (cursor)->hcursor);
}
static void
if (_gdk_win32_grab_cursor != NULL)
SetCursor (GDK_WIN32_CURSOR (_gdk_win32_grab_cursor)->hcursor);
- else if (impl->cursor != NULL)
- SetCursor (GDK_WIN32_CURSOR (impl->cursor)->hcursor);
else
SetCursor (LoadCursor (NULL, IDC_ARROW));
GdkWindowImplWin32 *impl;
if (window == NULL)
- window = gdk_get_default_root_window ();
+ window = gdk_display_get_root_window (gdk_display_get_default ());
impl = GDK_WINDOW_IMPL_WIN32 (window->impl);
hwnd = GDK_WINDOW_HWND (window);
if (win_y)
*win_y = point.y / impl->window_scale;
- if (window == gdk_get_default_root_window ())
+ if (window == gdk_display_get_root_window (gdk_display_get_default ()))
{
if (win_x)
*win_x += _gdk_offset_x;
/* If we didn't hit any window at that point, return the desktop */
if (hwnd == NULL)
{
- window = gdk_get_default_root_window ();
+ window = gdk_display_get_root_window (gdk_display_get_default ());
impl = GDK_WINDOW_IMPL_WIN32 (window->impl);
if (win_x)
#include "gdkwin32.h"
#include "gdkdevice-wintab.h"
+#include "gdkdisplayprivate.h"
G_DEFINE_TYPE (GdkDeviceWintab, gdk_device_wintab, GDK_TYPE_DEVICE)
device_wintab = GDK_DEVICE_WINTAB (device);
if (window == NULL)
- window = gdk_get_default_root_window ();
+ window = gdk_display_get_root_window (gdk_display_get_default ());
impl = GDK_WINDOW_IMPL_WIN32 (window->impl);
hwnd = GDK_WINDOW_HWND (window);
if (win_y)
*win_y = point.y / impl->window_scale;
- if (window == gdk_get_default_root_window ())
+ if (window == gdk_display_get_root_window (gdk_display_get_default ()))
{
if (win_x)
*win_x += _gdk_offset_x;
G_GNUC_END_IGNORE_DEPRECATIONS;
window = gdk_device_get_window_at_position (device_manager->core_pointer, &x, &y);
if (window == NULL)
- window = gdk_get_default_root_window ();
+ window = gdk_display_get_root_window (gdk_display_get_default ());
g_object_ref (window);
window = g_object_ref (last_grab->window);
}
- if (window == gdk_get_default_root_window ())
+ if (window == gdk_display_get_root_window (gdk_display_get_default ()))
{
GDK_NOTE (EVENTS_OR_INPUT, g_print ("... is root\n"));
return FALSE;
{
GDK_NOTE (EVENTS_OR_INPUT, g_print ("... not selected\n"));
- if (window->parent == gdk_get_default_root_window () || window->parent == NULL)
+ if (window->parent == gdk_display_get_root_window (gdk_display_get_default ()) ||
+ window->parent == NULL)
return FALSE;
impl = GDK_WINDOW_IMPL_WIN32 (window->impl);
GDK_NOTE (DND, g_print (" \n"));
event = gdk_event_new (GDK_OWNER_CHANGE);
- event->owner_change.window = gdk_get_default_root_window ();
+ event->owner_change.window = gdk_display_get_root_window (gdk_display_get_default ());
event->owner_change.reason = GDK_OWNER_CHANGE_NEW_OWNER;
event->owner_change.selection = GDK_SELECTION_CLIPBOARD;
event->owner_change.time = _gdk_win32_get_next_tick (0);
#include "gdkwin32.h"
#include "gdkwin32dnd.h"
#include "gdk/gdkdndprivate.h"
+#include "gdkdisplayprivate.h"
#include <ole2.h>
else
{
if (ctx->context->dest_window == NULL)
- ctx->context->dest_window = g_object_ref (gdk_get_default_root_window ());
+ ctx->context->dest_window = g_object_ref (gdk_display_get_root_window (gdk_display_get_default ()));
}
return DRAGDROP_S_USEDEFAULTCURSORS;
context->protocol = GDK_DRAG_PROTO_WIN32_DROPFILES;
context->is_source = FALSE;
- context->source_window = gdk_get_default_root_window ();
+ context->source_window = gdk_display_get_root_window (gdk_display_get_default ());
g_object_ref (context->source_window);
context->dest_window = event->any.window;
CASE (GDK_DROP_START);
CASE (GDK_DROP_FINISHED);
CASE (GDK_CLIENT_EVENT);
- CASE (GDK_VISIBILITY_NOTIFY);
CASE (GDK_SCROLL);
CASE (GDK_WINDOW_STATE);
CASE (GDK_OWNER_CHANGE);
{
/* Owner doesn't want it, propagate to parent. */
GdkWindow *parent = gdk_window_get_parent (*window);
- if (parent == gdk_get_default_root_window () || parent == NULL)
+ if (parent == gdk_display_get_root_window (gdk_display_get_default ()) ||
+ parent == NULL)
{
/* No parent; check if grabbed */
if (grab_window != NULL)
point.y = client_rect.top;
/* top level windows need screen coords */
- if (gdk_window_get_parent (window) == gdk_get_default_root_window ())
+ if (gdk_window_get_parent (window) == gdk_display_get_root_window (gdk_display_get_default ()))
{
ClientToScreen (hwnd, &point);
point.x += _gdk_offset_x * window_impl->window_scale;
GdkWindowImplWin32 *impl = GDK_WINDOW_IMPL_WIN32 (window->impl);
GdkDisplay *display = gdk_display_get_default ();
GdkWin32Display *win32_display = GDK_WIN32_DISPLAY (display);
- GdkScreen *screen = gdk_window_get_screen (window);
GdkDevice *device = gdk_seat_get_pointer (gdk_display_get_default_seat (display));
RECT *rect = (RECT *)msg->lParam;
GdkEvent *event;
if (old_scale == impl->window_scale)
return;
- _gdk_screen_set_resolution (screen,
- impl->window_scale >= 2 ? USER_DEFAULT_SCREEN_DPI : dpi);
-
if (!IsIconic (msg->hwnd) &&
!GDK_WINDOW_DESTROYED (window))
{
if (grab_window != NULL && _gdk_win32_grab_cursor != NULL)
cursor = _gdk_win32_grab_cursor;
- else if (!GDK_WINDOW_DESTROYED (window) && GDK_WINDOW_IMPL_WIN32 (window->impl)->cursor != NULL)
- cursor = GDK_WINDOW_IMPL_WIN32 (window->impl)->cursor;
else
cursor = NULL;
void _gdk_win32_display_create_window_impl (GdkDisplay *display,
GdkWindow *window,
GdkWindow *real_parent,
- GdkScreen *screen,
GdkEventMask event_mask,
GdkWindowAttr *attributes);
BOOL WINAPI GtkShowWindow (GdkWindow *window,
int cmd_show);
-void _gdk_win32_screen_set_font_resolution (GdkWin32Screen *win32_screen);
-
/* Initialization */
void _gdk_win32_windowing_init (void);
void _gdk_dnd_init (void);
#include "gdkscreen.h"
#include "gdkproperty.h"
#include "gdkselection.h"
+#include "gdkdisplayprivate.h"
#include "gdkprivate-win32.h"
#include "gdkwin32.h"
gdk_win32_screen_init (GdkWin32Screen *win32_screen)
{
GdkScreen *screen = GDK_SCREEN (win32_screen);
- _gdk_win32_screen_set_font_resolution (win32_screen);
_gdk_win32_display_init_monitors (GDK_WIN32_DISPLAY (_gdk_display));
init_root_window (win32_screen);
init_root_window_size (screen);
}
-void
-_gdk_win32_screen_set_font_resolution (GdkWin32Screen *win32_screen)
-{
- GdkScreen *screen = GDK_SCREEN (win32_screen);
- int logpixelsx = -1;
- const gchar *font_resolution;
-
- font_resolution = g_getenv ("GDK_WIN32_FONT_RESOLUTION");
- if (font_resolution)
- {
- int env_logpixelsx = atol (font_resolution);
- if (env_logpixelsx > 0)
- logpixelsx = env_logpixelsx;
- }
- else
- {
- gint dpi = -1;
- GdkWin32Display *win32_display = GDK_WIN32_DISPLAY (screen->display);
- guint scale = _gdk_win32_display_get_monitor_scale_factor (win32_display, NULL, NULL, &dpi);
-
- /* If we have a scale that is at least 2, don't scale up the fonts */
- if (scale >= 2)
- logpixelsx = USER_DEFAULT_SCREEN_DPI;
- else
- logpixelsx = dpi;
- }
-
- if (logpixelsx > 0)
- _gdk_screen_set_resolution (screen, logpixelsx);
-}
-
GdkWindow *
gdk_win32_screen_get_root_window (GdkScreen *screen)
{
#include "gdkenumtypes.h"
#include "gdkwin32.h"
#include "gdkdisplayprivate.h"
-#include "gdkvisualprivate.h"
#include "gdkmonitorprivate.h"
#include "gdkwin32window.h"
#include "gdkglcontext-win32.h"
_gdk_win32_window_enable_transparency (GdkWindow *window)
{
GdkWindowImplWin32 *impl;
- GdkScreen *screen;
DWM_BLURBEHIND blur_behind;
HRGN empty_region;
HRESULT call_result;
if (impl->layered)
return TRUE;
- screen = gdk_window_get_screen (window);
-
if (!gdk_display_is_composited (gdk_window_get_display (window)))
return FALSE;
case GDK_WINDOW_TEMP:
/* A temp window is not necessarily a top level window */
- dwStyle = (gdk_screen_get_root_window (screen) == real_parent ? WS_POPUP : WS_CHILDWINDOW);
+ dwStyle = (gdk_display_get_root_window (display) == real_parent ? WS_POPUP : WS_CHILDWINDOW);
dwStyle |= WS_CLIPCHILDREN | WS_CLIPSIBLINGS;
dwExStyle |= WS_EX_TOOLWINDOW | WS_EX_TOPMOST;
offset_x = _gdk_offset_x;
parent = GetParent (anid);
/* Always treat foreigns as toplevels */
- window->parent = gdk_get_default_root_window ();
+ window->parent = gdk_display_get_root_window (gdk_display_get_default ());
window->parent->children = g_list_concat (&window->children_list_node, window->parent->children);
gint *width,
gint *height)
{
- GdkScreen *screen;
+ GdkDisplay *display;
gboolean window_is_root;
- screen = gdk_window_get_screen (window);
+ display = gdk_window_get_display (window);
if (!window)
{
- window = gdk_screen_get_root_window (screen);
+ window = gdk_display_get_root_window (display);
window_is_root = TRUE;
}
else
- window_is_root = (gdk_screen_get_root_window (screen) == window);
+ window_is_root = (gdk_display_get_root_window (display) == window);
if (!GDK_WINDOW_DESTROYED (window))
{
rect.right = pt.x;
rect.bottom = pt.y;
- if (gdk_screen_get_root_window (screen) == parent)
+ if (gdk_display_get_root_window (display) == parent)
{
rect.left += _gdk_offset_x * impl->window_scale;
rect.top += _gdk_offset_y * impl->window_scale;
impl_class->lower = gdk_win32_window_lower;
impl_class->restack_toplevel = gdk_win32_window_restack_toplevel;
impl_class->move_resize = gdk_win32_window_move_resize;
- impl_class->set_device_cursor = gdk_win32_window_set_device_cursor;
impl_class->get_geometry = gdk_win32_window_get_geometry;
impl_class->get_device_state = gdk_window_win32_get_device_state;
impl_class->get_root_coords = gdk_win32_window_get_root_coords;