gdk_monitor_set_manufacturer (display->monitor, "browser");
gdk_monitor_set_model (display->monitor, "0");
display->scale_factor = 1;
- gdk_monitor_set_size (display->monitor, 1024, 768);
+ gdk_monitor_set_geometry (display->monitor, &(GdkRectangle) { 0, 0, 1024, 768 });
gdk_monitor_set_physical_size (display->monitor, 1024 * 25.4 / 96, 768 * 25.4 / 96);
gdk_monitor_set_scale_factor (display->monitor, 1);
}
broadway_display->scale_factor = msg->scale;
- gdk_monitor_set_size (monitor, msg->width, msg->height);
+ gdk_monitor_set_geometry (monitor, &(GdkRectangle) { 0, 0, msg->width, msg->height });
gdk_monitor_set_scale_factor (monitor, msg->scale);
gdk_monitor_set_physical_size (monitor, msg->width * 25.4 / 96, msg->height * 25.4 / 96);
}
void
-gdk_monitor_set_position (GdkMonitor *monitor,
- int x,
- int y)
+gdk_monitor_set_geometry (GdkMonitor *monitor,
+ const GdkRectangle *geometry)
{
- g_object_freeze_notify (G_OBJECT (monitor));
-
- if (monitor->geometry.x != x)
- {
- monitor->geometry.x = x;
- g_object_notify (G_OBJECT (monitor), "geometry");
- }
-
- if (monitor->geometry.y != y)
- {
- monitor->geometry.y = y;
- g_object_notify (G_OBJECT (monitor), "geometry");
- }
-
- g_object_thaw_notify (G_OBJECT (monitor));
-}
-
-void
-gdk_monitor_set_size (GdkMonitor *monitor,
- int width,
- int height)
-{
- g_object_freeze_notify (G_OBJECT (monitor));
-
- if (monitor->geometry.width != width)
- {
- monitor->geometry.width = width;
- g_object_notify (G_OBJECT (monitor), "geometry");
- }
-
- if (monitor->geometry.height != height)
- {
- monitor->geometry.height = height;
- g_object_notify (G_OBJECT (monitor), "geometry");
- }
+ if (gdk_rectangle_equal (&monitor->geometry, geometry))
+ return;
- g_object_thaw_notify (G_OBJECT (monitor));
+ monitor->geometry = *geometry;
+ g_object_notify (G_OBJECT (monitor), "geometry");
}
void
const char *model);
void gdk_monitor_set_connector (GdkMonitor *monitor,
const char *connector);
-void gdk_monitor_set_position (GdkMonitor *monitor,
- int x,
- int y);
-void gdk_monitor_set_size (GdkMonitor *monitor,
- int width,
- int height);
+void gdk_monitor_set_geometry (GdkMonitor *monitor,
+ const GdkRectangle *geometry);
void gdk_monitor_set_physical_size (GdkMonitor *monitor,
int width_mm,
int height_mm);
monitor->x, monitor->y,
monitor->width, monitor->height));
- gdk_monitor_set_position (GDK_MONITOR (monitor), monitor->x, monitor->y);
- gdk_monitor_set_size (GDK_MONITOR (monitor), monitor->width, monitor->height);
+ gdk_monitor_set_geometry (GDK_MONITOR (monitor),
+ &(GdkRectangle) {
+ monitor->x, monitor->y,
+ monitor->width, monitor->height });
gdk_monitor_set_connector (GDK_MONITOR (monitor), monitor->name);
monitor->wl_output_done = FALSE;
monitor->xdg_output_done = FALSE;
GdkMonitor *m;
GdkWin32Monitor *w32_ex_monitor;
GdkMonitor *ex_monitor;
- GdkRectangle geometry, ex_geometry;
+ GdkRectangle geometry;
GdkRectangle workarea, ex_workarea;
w32_m = GDK_WIN32_MONITOR (g_ptr_array_index (new_monitors, i));
primary_to_move = w32_ex_monitor;
gdk_monitor_get_geometry (m, &geometry);
- gdk_monitor_get_geometry (ex_monitor, &ex_geometry);
gdk_monitor_get_workarea (m, &workarea);
gdk_monitor_get_workarea (ex_monitor, &ex_workarea);
w32_ex_monitor->work_rect = workarea;
}
- if (memcmp (&geometry, &ex_geometry, sizeof (GdkRectangle)) != 0)
- {
- gdk_monitor_set_size (ex_monitor, geometry.width, geometry.height);
- gdk_monitor_set_position (ex_monitor, geometry.x, geometry.y);
- }
+ gdk_monitor_set_geometry (ex_monitor, &geometry);
if (gdk_monitor_get_width_mm (m) != gdk_monitor_get_width_mm (ex_monitor) ||
gdk_monitor_get_height_mm (m) != gdk_monitor_get_height_mm (ex_monitor))
rect.y = monitor_info.rcMonitor.top / scale;
rect.width = (monitor_info.rcMonitor.right - monitor_info.rcMonitor.left) / scale;
rect.height = (monitor_info.rcMonitor.bottom - monitor_info.rcMonitor.top) / scale;
- gdk_monitor_set_position (mon, rect.x, rect.y);
- gdk_monitor_set_size (mon, rect.width, rect.height);
+ gdk_monitor_set_geometry (mon, &rect);
if (monitor_info.dwFlags & MONITORINFOF_PRIMARY && i != 0)
{
gdk_monitor_get_geometry (GDK_MONITOR (m), &rect);
rect.x += _gdk_offset_x;
rect.y += _gdk_offset_y;
- gdk_monitor_set_position (GDK_MONITOR (m), rect.x, rect.y);
+ gdk_monitor_set_geometry (GDK_MONITOR (m), &rect);
m->work_rect.x += _gdk_offset_x;
m->work_rect.y += _gdk_offset_y;
newgeo.width = rr_monitors[i].width / x11_screen->surface_scale;
newgeo.height = rr_monitors[i].height / x11_screen->surface_scale;
- gdk_monitor_set_position (GDK_MONITOR (monitor), newgeo.x, newgeo.y);
- gdk_monitor_set_size (GDK_MONITOR (monitor), newgeo.width, newgeo.height);
+ gdk_monitor_set_geometry (GDK_MONITOR (monitor), &newgeo);
g_object_notify (G_OBJECT (monitor), "workarea");
gdk_monitor_set_physical_size (GDK_MONITOR (monitor),
rr_monitors[i].mwidth,
newgeo.width = crtc->width / x11_screen->surface_scale;
newgeo.height = crtc->height / x11_screen->surface_scale;
- gdk_monitor_set_position (GDK_MONITOR (monitor), newgeo.x, newgeo.y);
- gdk_monitor_set_size (GDK_MONITOR (monitor), newgeo.width, newgeo.height);
+ gdk_monitor_set_geometry (GDK_MONITOR (monitor), &newgeo);
g_object_notify (G_OBJECT (monitor), "workarea");
gdk_monitor_set_physical_size (GDK_MONITOR (monitor),
output_info->mm_width,
width = WidthOfScreen (x11_screen->xscreen);
height = HeightOfScreen (x11_screen->xscreen);
- gdk_monitor_set_position (GDK_MONITOR (monitor), 0, 0);
- gdk_monitor_set_size (GDK_MONITOR (monitor), width, height);
+ gdk_monitor_set_geometry (GDK_MONITOR (monitor), &(GdkRectangle) { 0, 0, width, height });
g_object_notify (G_OBJECT (monitor), "workarea");
gdk_monitor_set_physical_size (GDK_MONITOR (monitor), width_mm, height_mm);
gdk_monitor_set_scale_factor (GDK_MONITOR (monitor), x11_screen->surface_scale);