[gtk/wip/otte/geometry: 3/4] Remove aspect ratio from GdkGeometry
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/otte/geometry: 3/4] Remove aspect ratio from GdkGeometry
- Date: Thu, 30 Jul 2020 14:55:55 +0000 (UTC)
commit c80531624dea75048e1e2e846d46f85af530d48a
Author: Benjamin Otte <otte redhat com>
Date: Thu Jul 30 04:50:46 2020 +0200
Remove aspect ratio from GdkGeometry
It's unused.
gdk/gdkinternals.h | 3 --
gdk/gdksurface.c | 40 -----------------
gdk/macos/gdkmacossurface.c | 13 ------
gdk/win32/gdkevents-win32.c | 105 -------------------------------------------
gdk/win32/gdksurface-win32.c | 6 ---
gdk/x11/gdksurface-x11.c | 33 --------------
gtk/gtkwindow.c | 5 ---
7 files changed, 205 deletions(-)
---
diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h
index e241403e5d..3489455aef 100644
--- a/gdk/gdkinternals.h
+++ b/gdk/gdkinternals.h
@@ -299,7 +299,6 @@ typedef enum
GDK_HINT_POS = 1 << 0,
GDK_HINT_MIN_SIZE = 1 << 1,
GDK_HINT_MAX_SIZE = 1 << 2,
- GDK_HINT_ASPECT = 1 << 4,
GDK_HINT_WIN_GRAVITY = 1 << 6,
} GdkSurfaceHints;
@@ -329,8 +328,6 @@ struct _GdkGeometry
int min_height;
int max_width;
int max_height;
- double min_aspect;
- double max_aspect;
GdkGravity win_gravity;
};
diff --git a/gdk/gdksurface.c b/gdk/gdksurface.c
index 82761c3af2..99271c6427 100644
--- a/gdk/gdksurface.c
+++ b/gdk/gdksurface.c
@@ -1608,46 +1608,6 @@ gdk_surface_constrain_size (GdkGeometry *geometry,
width = CLAMP (width, min_width, max_width);
height = CLAMP (height, min_height, max_height);
- /* constrain aspect ratio, according to:
- *
- * width
- * min_aspect <= -------- <= max_aspect
- * height
- */
-
- if (flags & GDK_HINT_ASPECT &&
- geometry->min_aspect > 0 &&
- geometry->max_aspect > 0)
- {
- int delta;
-
- if (geometry->min_aspect * height > width)
- {
- delta = height - width / geometry->min_aspect;
- if (height - delta >= min_height)
- height -= delta;
- else
- {
- delta = height * geometry->min_aspect - width;
- if (width + delta <= max_width)
- width += delta;
- }
- }
-
- if (geometry->max_aspect * height < width)
- {
- delta = width - height * geometry->max_aspect;
- if (width - delta >= min_width)
- width -= delta;
- else
- {
- delta = width / geometry->max_aspect - height;
- if (height + delta <= max_height)
- height += delta;
- }
- }
- }
-
*new_width = width;
*new_height = height;
}
diff --git a/gdk/macos/gdkmacossurface.c b/gdk/macos/gdkmacossurface.c
index 4e8dad5473..abf78e04bd 100644
--- a/gdk/macos/gdkmacossurface.c
+++ b/gdk/macos/gdkmacossurface.c
@@ -639,19 +639,6 @@ _gdk_macos_surface_set_geometry_hints (GdkMacosSurface *self,
min_size = NSMakeSize (1, 1);
[self->window setContentMinSize:min_size];
- if (geom_mask & GDK_HINT_ASPECT)
- {
- NSSize size;
-
- if (geometry->min_aspect != geometry->max_aspect)
- g_warning ("Only equal minimum and maximum aspect ratios are supported on Mac OS. Using minimum
aspect ratio...");
-
- size.width = geometry->min_aspect;
- size.height = 1.0;
-
- [self->window setContentAspectRatio:size];
- }
-
if (geom_mask & GDK_HINT_WIN_GRAVITY) { /* TODO */ }
}
diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c
index 9371cc552a..bc30da178a 100644
--- a/gdk/win32/gdkevents-win32.c
+++ b/gdk/win32/gdkevents-win32.c
@@ -3163,111 +3163,6 @@ gdk_event_translate (MSG *msg,
impl = GDK_WIN32_SURFACE (window);
- /* WM_GETMINMAXINFO handles min_size and max_size hints? */
-
- if (impl->hint_flags & GDK_HINT_ASPECT)
- {
- RECT decorated_rect;
- RECT undecorated_drag;
- int decoration_width, decoration_height;
- double drag_aspect;
- int drag_width, drag_height, new_width, new_height;
-
- GetClientRect (GDK_SURFACE_HWND (window), &rect);
- decorated_rect = rect;
- _gdk_win32_adjust_client_rect (window, &decorated_rect);
-
- /* Set undecorated_drag to the client area being dragged
- * out, in screen coordinates.
- */
- undecorated_drag = *drag;
- undecorated_drag.left -= decorated_rect.left - rect.left;
- undecorated_drag.right -= decorated_rect.right - rect.right;
- undecorated_drag.top -= decorated_rect.top - rect.top;
- undecorated_drag.bottom -= decorated_rect.bottom - rect.bottom;
-
- decoration_width = (decorated_rect.right - decorated_rect.left) - (rect.right - rect.left);
- decoration_height = (decorated_rect.bottom - decorated_rect.top) - (rect.bottom - rect.top);
-
- drag_width = undecorated_drag.right - undecorated_drag.left;
- drag_height = undecorated_drag.bottom - undecorated_drag.top;
-
- drag_aspect = (double) drag_width / drag_height;
-
- GDK_NOTE (EVENTS, g_print (" (ASPECT:%g--%g curr: %g)",
- impl->hints.min_aspect, impl->hints.max_aspect, drag_aspect));
-
- if (drag_aspect < impl->hints.min_aspect)
- {
- /* Aspect is getting too narrow */
- switch (msg->wParam)
- {
- case WMSZ_BOTTOM:
- case WMSZ_TOP:
- /* User drags top or bottom edge outward. Keep height, increase width. */
- new_width = impl->hints.min_aspect * drag_height;
- drag->left -= (new_width - drag_width) / 2;
- drag->right = drag->left + new_width + decoration_width;
- break;
- case WMSZ_BOTTOMLEFT:
- case WMSZ_BOTTOMRIGHT:
- /* User drags bottom-left or bottom-right corner down. Adjust height. */
- new_height = drag_width / impl->hints.min_aspect;
- drag->bottom = drag->top + new_height + decoration_height;
- break;
- case WMSZ_LEFT:
- case WMSZ_RIGHT:
- /* User drags left or right edge inward. Decrease height */
- new_height = drag_width / impl->hints.min_aspect;
- drag->top += (drag_height - new_height) / 2;
- drag->bottom = drag->top + new_height + decoration_height;
- break;
- case WMSZ_TOPLEFT:
- case WMSZ_TOPRIGHT:
- /* User drags top-left or top-right corner up. Adjust height. */
- new_height = drag_width / impl->hints.min_aspect;
- drag->top = drag->bottom - new_height - decoration_height;
- }
- }
- else if (drag_aspect > impl->hints.max_aspect)
- {
- /* Aspect is getting too wide */
- switch (msg->wParam)
- {
- case WMSZ_BOTTOM:
- case WMSZ_TOP:
- /* User drags top or bottom edge inward. Decrease width. */
- new_width = impl->hints.max_aspect * drag_height;
- drag->left += (drag_width - new_width) / 2;
- drag->right = drag->left + new_width + decoration_width;
- break;
- case WMSZ_BOTTOMLEFT:
- case WMSZ_TOPLEFT:
- /* User drags bottom-left or top-left corner left. Adjust width. */
- new_width = impl->hints.max_aspect * drag_height;
- drag->left = drag->right - new_width - decoration_width;
- break;
- case WMSZ_BOTTOMRIGHT:
- case WMSZ_TOPRIGHT:
- /* User drags bottom-right or top-right corner right. Adjust width. */
- new_width = impl->hints.max_aspect * drag_height;
- drag->right = drag->left + new_width + decoration_width;
- break;
- case WMSZ_LEFT:
- case WMSZ_RIGHT:
- /* User drags left or right edge outward. Increase height. */
- new_height = drag_width / impl->hints.max_aspect;
- drag->top -= (new_height - drag_height) / 2;
- drag->bottom = drag->top + new_height + decoration_height;
- break;
- }
- }
-
- *ret_valp = TRUE;
- return_val = TRUE;
- GDK_NOTE (EVENTS, g_print (" (handled ASPECT: %s)",
- _gdk_win32_rect_to_string (drag)));
- }
break;
case WM_GETMINMAXINFO:
diff --git a/gdk/win32/gdksurface-win32.c b/gdk/win32/gdksurface-win32.c
index a28c8a1049..0a29c65cce 100644
--- a/gdk/win32/gdksurface-win32.c
+++ b/gdk/win32/gdksurface-win32.c
@@ -1509,12 +1509,6 @@ gdk_win32_surface_set_geometry_hints (GdkSurface *window,
geometry->max_width, geometry->max_height));
}
- if (geom_mask & GDK_HINT_ASPECT)
- {
- GDK_NOTE (MISC, g_print ("... ASPECT: %g--%g\n",
- geometry->min_aspect, geometry->max_aspect));
- }
-
if (geom_mask & GDK_HINT_WIN_GRAVITY)
{
GDK_NOTE (MISC, g_print ("... GRAVITY: %d\n", geometry->win_gravity));
diff --git a/gdk/x11/gdksurface-x11.c b/gdk/x11/gdksurface-x11.c
index f316872d57..8552a183ac 100644
--- a/gdk/x11/gdksurface-x11.c
+++ b/gdk/x11/gdksurface-x11.c
@@ -2182,31 +2182,6 @@ gdk_x11_surface_set_geometry_hints (GdkSurface *surface,
size_hints.height_inc = impl->surface_scale;
}
- if (geom_mask & GDK_HINT_ASPECT)
- {
- size_hints.flags |= PAspect;
- if (geometry->min_aspect <= 1)
- {
- size_hints.min_aspect.x = 65536 * geometry->min_aspect;
- size_hints.min_aspect.y = 65536;
- }
- else
- {
- size_hints.min_aspect.x = 65536;
- size_hints.min_aspect.y = 65536 / geometry->min_aspect;;
- }
- if (geometry->max_aspect <= 1)
- {
- size_hints.max_aspect.x = 65536 * geometry->max_aspect;
- size_hints.max_aspect.y = 65536;
- }
- else
- {
- size_hints.max_aspect.x = 65536;
- size_hints.max_aspect.y = 65536 / geometry->max_aspect;;
- }
- }
-
if (geom_mask & GDK_HINT_WIN_GRAVITY)
{
size_hints.flags |= PWinGravity;
@@ -2265,14 +2240,6 @@ gdk_surface_get_geometry_hints (GdkSurface *surface,
geometry->max_height = MAX (size_hints->max_height, 1) / impl->surface_scale;
}
- if (size_hints->flags & PAspect)
- {
- *geom_mask |= GDK_HINT_ASPECT;
-
- geometry->min_aspect = (double) size_hints->min_aspect.x / (double) size_hints->min_aspect.y;
- geometry->max_aspect = (double) size_hints->max_aspect.x / (double) size_hints->max_aspect.y;
- }
-
if (size_hints->flags & PWinGravity)
{
*geom_mask |= GDK_HINT_WIN_GRAVITY;
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 5df8e9abd1..f52986fe03 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -5651,11 +5651,6 @@ gtk_window_compare_hints (GdkGeometry *geometry_a,
geometry_a->max_height != geometry_b->max_height))
return FALSE;
- if ((flags_a & GDK_HINT_ASPECT) &&
- (geometry_a->min_aspect != geometry_b->min_aspect ||
- geometry_a->max_aspect != geometry_b->max_aspect))
- return FALSE;
-
if ((flags_a & GDK_HINT_WIN_GRAVITY) &&
geometry_a->win_gravity != geometry_b->win_gravity)
return FALSE;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]