[gtk/wip/chergert/quartz4u] set shadow width and opaque region
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/chergert/quartz4u] set shadow width and opaque region
- Date: Thu, 30 Apr 2020 20:17:07 +0000 (UTC)
commit e452f6209fdb7d07ba749d2f4465939ff63963d0
Author: Christian Hergert <chergert redhat com>
Date: Thu Apr 30 13:15:20 2020 -0700
set shadow width and opaque region
gdk/macos/gdkmacossurface.c | 38 +++++++++++++++++++++++++++++++++++---
1 file changed, 35 insertions(+), 3 deletions(-)
---
diff --git a/gdk/macos/gdkmacossurface.c b/gdk/macos/gdkmacossurface.c
index 4e8c7cc59f..70d5bceff5 100644
--- a/gdk/macos/gdkmacossurface.c
+++ b/gdk/macos/gdkmacossurface.c
@@ -81,6 +81,15 @@ gdk_macos_surface_set_input_region (GdkSurface *surface,
/* TODO: */
}
+static void
+gdk_macos_surface_set_opaque_region (GdkSurface *surface,
+ cairo_region_t *region)
+{
+ g_assert (GDK_IS_MACOS_SURFACE (surface));
+
+ /* TODO: */
+}
+
static void
gdk_macos_surface_hide (GdkSurface *surface)
{
@@ -103,6 +112,27 @@ gdk_macos_surface_get_scale_factor (GdkSurface *surface)
return [priv->window backingScaleFactor];
}
+static void
+gdk_macos_surface_set_shadow_width (GdkSurface *surface,
+ int left,
+ int right,
+ int top,
+ int bottom)
+{
+ GdkMacosSurface *self = (GdkMacosSurface *)surface;
+ GdkMacosSurfacePrivate *priv = gdk_macos_surface_get_instance_private (self);
+
+ g_assert (GDK_IS_MACOS_SURFACE (self));
+
+ priv->shadow_top = top;
+ priv->shadow_right = right;
+ priv->shadow_bottom = bottom;
+ priv->shadow_left = left;
+
+ if (top || right || bottom || left)
+ [priv->window setHasShadow:NO];
+}
+
static void
gdk_macos_surface_begin_resize_drag (GdkSurface *surface,
GdkSurfaceEdge edge,
@@ -211,12 +241,14 @@ gdk_macos_surface_class_init (GdkMacosSurfaceClass *klass)
object_class->get_property = gdk_macos_surface_get_property;
object_class->set_property = gdk_macos_surface_set_property;
- surface_class->destroy = gdk_macos_surface_destroy;
- surface_class->begin_resize_drag = gdk_macos_surface_begin_resize_drag;
surface_class->begin_move_drag = gdk_macos_surface_begin_move_drag;
+ surface_class->begin_resize_drag = gdk_macos_surface_begin_resize_drag;
+ surface_class->destroy = gdk_macos_surface_destroy;
+ surface_class->get_scale_factor = gdk_macos_surface_get_scale_factor;
surface_class->hide = gdk_macos_surface_hide;
surface_class->set_input_region = gdk_macos_surface_set_input_region;
- surface_class->get_scale_factor = gdk_macos_surface_get_scale_factor;
+ surface_class->set_opaque_region = gdk_macos_surface_set_opaque_region;
+ surface_class->set_shadow_width = gdk_macos_surface_set_shadow_width;
properties [PROP_NATIVE] =
g_param_spec_pointer ("native",
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]