macos: support standard fullscreen

This moves to standard fullscreen behavior for Gimp.

Added benefit is that it no longer requires gdkquartz-cocoa-access.h
which the Gtk team wish to stop supporting https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/4303.

Bug 756178 also no longer manifests, cdc7542d46
so it is now safe to do.

Finally, removes dependency on objective c in the app/display directory.
This commit is contained in:
Lukas Oberhuber 2022-01-23 16:54:40 +00:00 committed by Jehan
parent 84d298d4d3
commit 96c23903bc
2 changed files with 0 additions and 55 deletions

View File

@ -1,11 +1,5 @@
## Process this file with automake to produce Makefile.in
if PLATFORM_OSX
xobjective_c = "-xobjective-c"
xobjective_cxx = "-xobjective-c++"
xnone = "-xnone"
endif
AM_CPPFLAGS = \
-DG_LOG_DOMAIN=\"Gimp-Display\" \
-I$(top_builddir) \
@ -16,15 +10,6 @@ AM_CPPFLAGS = \
$(GTK_CFLAGS) \
-I$(includedir)
AM_CFLAGS = \
$(xobjective_c)
AM_CXXFLAGS = \
$(xobjective_cxx)
AM_LDFLAGS = \
$(xnone)
noinst_LIBRARIES = libappdisplay.a
libappdisplay_a_sources = \

View File

@ -28,21 +28,6 @@
#include <windows.h>
#endif
#ifdef GDK_WINDOWING_QUARTZ
#import <AppKit/AppKit.h>
#include <gdk/gdkquartz.h>
#if GTK_CHECK_VERSION(3, 24, 31)
#warning Using a workaround for older GTK versions.
#warning If minimum requirement was bumped to 3.24.31 or over, remove it.
#warning See MR !483
#warning See also https://gitlab.gnome.org/GNOME/gtk/-/commit/7e732caa1e3dc72630704bc4908e8a165a5934c0
#include "gdk/quartz/gdkquartz-cocoa-access.h"
#else
NSWindow *gdk_quartz_window_get_nswindow (GdkWindow *window);
#endif /* GTK_CHECK_VERSION(3, 24, 29) */
#endif /* GDK_WINDOWING_QUARTZ */
#include "libgimpbase/gimpbase.h"
#include "libgimpmath/gimpmath.h"
#include "libgimpcolor/gimpcolor.h"
@ -189,7 +174,6 @@ static void gimp_image_window_get_property (GObject *obj
GValue *value,
GParamSpec *pspec);
static void gimp_image_window_map (GtkWidget *widget);
static gboolean gimp_image_window_delete_event (GtkWidget *widget,
GdkEventAny *event);
static gboolean gimp_image_window_configure_event (GtkWidget *widget,
@ -301,7 +285,6 @@ gimp_image_window_class_init (GimpImageWindowClass *klass)
object_class->set_property = gimp_image_window_set_property;
object_class->get_property = gimp_image_window_get_property;
widget_class->map = gimp_image_window_map;
widget_class->delete_event = gimp_image_window_delete_event;
widget_class->configure_event = gimp_image_window_configure_event;
widget_class->window_state_event = gimp_image_window_window_state_event;
@ -602,29 +585,6 @@ gimp_image_window_get_property (GObject *object,
}
}
static void
gimp_image_window_map (GtkWidget *widget)
{
#ifdef GDK_WINDOWING_QUARTZ
GdkWindow *gdk_window;
NSWindow *ns_window;
#endif /* !GDK_WINDOWING_QUARTZ */
GTK_WIDGET_CLASS (parent_class)->map (widget);
#ifdef GDK_WINDOWING_QUARTZ
gdk_window = gtk_widget_get_window (GTK_WIDGET (widget));
ns_window = gdk_quartz_window_get_nswindow (gdk_window);
/* Disable the new-style full screen mode. For now only the "old-style"
* full screen mode, via the "View" menu, is supported. In the future, and
* as soon as GTK+ has proper support for this, we will migrate to the
* new-style full screen mode.
*/
ns_window.collectionBehavior |= NSWindowCollectionBehaviorFullScreenAuxiliary;
#endif /* !GDK_WINDOWING_QUARTZ */
}
static gboolean
gimp_image_window_delete_event (GtkWidget *widget,
GdkEventAny *event)