diff --git a/gdk/build_enum.py b/build_enum.py similarity index 61% rename from gdk/build_enum.py rename to build_enum.py index 9705497eea..c8e8322d25 100755 --- a/gdk/build_enum.py +++ b/build_enum.py @@ -6,21 +6,14 @@ # backends is a fool's errand. import sys, os, shutil, subprocess - -# HORRIBLE, use current_source_dir() as an argument instead. -h_array = ['--template', '../gdk/gdkenumtypes.h.template'] - -c_array = ['--template', '../gdk/gdkenumtypes.c.template'] - # [perl, glib-mkenums] cmd = [sys.argv[1], sys.argv[2]] -ofilename = sys.argv[3] -headers = sys.argv[4:] +template = sys.argv[3] +ofilename = sys.argv[4] +headers = sys.argv[5:] -if ofilename.endswith('.h'): - arg_array = h_array -else: - arg_array = c_array + +arg_array = ['--template', template]; pc = subprocess.Popen(cmd + arg_array + headers, stdout=subprocess.PIPE) (stdo, _) = pc.communicate() diff --git a/build_marshal.py b/build_marshal.py index 5ec9cd01f5..ac09664acf 100755 --- a/build_marshal.py +++ b/build_marshal.py @@ -13,7 +13,6 @@ prefix = sys.argv[2] ifilename = sys.argv[3] ofilename = sys.argv[4] -# HORRIBLE, use current_source_dir() as an argument instead. h_array = ['--prefix=' + prefix, '--header', '--valist-marshallers'] c_array = ['--prefix=' + prefix, '--body', '--valist-marshallers'] diff --git a/gdk/Makefile.am b/gdk/Makefile.am index 7e0b24f7da..6fbd478f18 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -51,7 +51,8 @@ AM_CPPFLAGS = \ # setup source file variables # # -# GDK header files for public installation (non-generated) +# +#GDK header files for public installation (non-generated) # # gdk_public_h_sources = \ diff --git a/gdk/gdk.gresource.xml b/gdk/gdk.gresource.xml new file mode 100644 index 0000000000..6eff39c1c8 --- /dev/null +++ b/gdk/gdk.gresource.xml @@ -0,0 +1,15 @@ + + + + resources/glsl/gl2-texture-2d.fs.glsl + resources/glsl/gl2-texture-2d.vs.glsl + resources/glsl/gl2-texture-rect.fs.glsl + resources/glsl/gl2-texture-rect.vs.glsl + resources/glsl/gl3-texture-2d.fs.glsl + resources/glsl/gl3-texture-2d.vs.glsl + resources/glsl/gl3-texture-rect.fs.glsl + resources/glsl/gl3-texture-rect.vs.glsl + resources/glsl/gles2-texture.fs.glsl + resources/glsl/gles2-texture.vs.glsl + + diff --git a/gdk/gdk.gresource.xml.meson b/gdk/gdk.gresource.xml.meson new file mode 100644 index 0000000000..96cbff4bf2 --- /dev/null +++ b/gdk/gdk.gresource.xml.meson @@ -0,0 +1,6 @@ + + + +@GDK_GRESOURCE_XML_FILES@ + + diff --git a/gdk/gdkversionmacros.h.meson b/gdk/gdkversionmacros.h.meson new file mode 100644 index 0000000000..1720a08220 --- /dev/null +++ b/gdk/gdkversionmacros.h.meson @@ -0,0 +1,415 @@ +/* gdkversionmacros.h - version boundaries checks + * Copyright (C) 2012 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.▸ See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see . + */ + +#if !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_VERSION_MACROS_H__ +#define __GDK_VERSION_MACROS_H__ + +#include + +#mesondefine GDK_MAJOR_VERSION +#mesondefine GDK_MINOR_VERSION +#mesondefine GDK_MICRO_VERSION + +#ifndef _GDK_EXTERN +#define _GDK_EXTERN extern +#endif + +/** + * GDK_DISABLE_DEPRECATION_WARNINGS: + * + * A macro that should be defined before including the gdk.h header. + * If it is defined, no compiler warnings will be produced for uses + * of deprecated GDK and GTK+ APIs. + */ + +#ifdef GDK_DISABLE_DEPRECATION_WARNINGS +#define GDK_DEPRECATED _GDK_EXTERN +#define GDK_DEPRECATED_FOR(f) _GDK_EXTERN +#define GDK_UNAVAILABLE(maj,min) _GDK_EXTERN +#else +#define GDK_DEPRECATED G_DEPRECATED _GDK_EXTERN +#define GDK_DEPRECATED_FOR(f) G_DEPRECATED_FOR(f) _GDK_EXTERN +#define GDK_UNAVAILABLE(maj,min) G_UNAVAILABLE(maj,min) _GDK_EXTERN +#endif + +/* XXX: Every new stable minor release bump should add a macro here */ + +/** + * GDK_VERSION_3_0: + * + * A macro that evaluates to the 3.0 version of GDK, in a format + * that can be used by the C pre-processor. + * + * Since: 3.4 + */ +#define GDK_VERSION_3_0 (G_ENCODE_VERSION (3, 0)) + +/** + * GDK_VERSION_3_2: + * + * A macro that evaluates to the 3.2 version of GDK, in a format + * that can be used by the C pre-processor. + * + * Since: 3.4 + */ +#define GDK_VERSION_3_2 (G_ENCODE_VERSION (3, 2)) + +/** + * GDK_VERSION_3_4: + * + * A macro that evaluates to the 3.4 version of GDK, in a format + * that can be used by the C pre-processor. + * + * Since: 3.4 + */ +#define GDK_VERSION_3_4 (G_ENCODE_VERSION (3, 4)) + +/** + * GDK_VERSION_3_6: + * + * A macro that evaluates to the 3.6 version of GDK, in a format + * that can be used by the C pre-processor. + * + * Since: 3.6 + */ +#define GDK_VERSION_3_6 (G_ENCODE_VERSION (3, 6)) + +/** + * GDK_VERSION_3_8: + * + * A macro that evaluates to the 3.8 version of GDK, in a format + * that can be used by the C pre-processor. + * + * Since: 3.8 + */ +#define GDK_VERSION_3_8 (G_ENCODE_VERSION (3, 8)) + +/** + * GDK_VERSION_3_10: + * + * A macro that evaluates to the 3.10 version of GDK, in a format + * that can be used by the C pre-processor. + * + * Since: 3.10 + */ +#define GDK_VERSION_3_10 (G_ENCODE_VERSION (3, 10)) + +/** + * GDK_VERSION_3_12: + * + * A macro that evaluates to the 3.12 version of GDK, in a format + * that can be used by the C pre-processor. + * + * Since: 3.12 + */ +#define GDK_VERSION_3_12 (G_ENCODE_VERSION (3, 12)) + +/** + * GDK_VERSION_3_14: + * + * A macro that evaluates to the 3.14 version of GDK, in a format + * that can be used by the C pre-processor. + * + * Since: 3.14 + */ +#define GDK_VERSION_3_14 (G_ENCODE_VERSION (3, 14)) + +/** + * GDK_VERSION_3_16: + * + * A macro that evaluates to the 3.16 version of GDK, in a format + * that can be used by the C pre-processor. + * + * Since: 3.16 + */ +#define GDK_VERSION_3_16 (G_ENCODE_VERSION (3, 16)) + +/** + * GDK_VERSION_3_18: + * + * A macro that evaluates to the 3.18 version of GDK, in a format + * that can be used by the C pre-processor. + * + * Since: 3.18 + */ +#define GDK_VERSION_3_18 (G_ENCODE_VERSION (3, 18)) + +/** + * GDK_VERSION_3_20: + * + * A macro that evaluates to the 3.20 version of GDK, in a format + * that can be used by the C pre-processor. + * + * Since: 3.18 + */ +#define GDK_VERSION_3_20 (G_ENCODE_VERSION (3, 20)) + +/** + * GDK_VERSION_3_22: + * + * A macro that evaluates to the 3.22 version of GDK, in a format + * that can be used by the C pre-processor. + * + * Since: 3.20 + */ +#define GDK_VERSION_3_22 (G_ENCODE_VERSION (3, 22)) + +/* evaluates to the current stable version; for development cycles, + * this means the next stable target + */ +#if (GDK_MINOR_VERSION % 2) +#define GDK_VERSION_CUR_STABLE (G_ENCODE_VERSION (GDK_MAJOR_VERSION, GDK_MINOR_VERSION + 1)) +#else +#define GDK_VERSION_CUR_STABLE (G_ENCODE_VERSION (GDK_MAJOR_VERSION, GDK_MINOR_VERSION)) +#endif + +/* evaluates to the previous stable version */ +#if (GDK_MINOR_VERSION % 2) +#define GDK_VERSION_PREV_STABLE (G_ENCODE_VERSION (GDK_MAJOR_VERSION, GDK_MINOR_VERSION - 1)) +#else +#define GDK_VERSION_PREV_STABLE (G_ENCODE_VERSION (GDK_MAJOR_VERSION, GDK_MINOR_VERSION - 2)) +#endif + +/** + * GDK_VERSION_MIN_REQUIRED: + * + * A macro that should be defined by the user prior to including + * the gdk.h header. + * The definition should be one of the predefined GDK version + * macros: %GDK_VERSION_3_0, %GDK_VERSION_3_2,... + * + * This macro defines the lower bound for the GDK API to use. + * + * If a function has been deprecated in a newer version of GDK, + * it is possible to use this symbol to avoid the compiler warnings + * without disabling warning for every deprecated function. + * + * Since: 3.4 + */ +#ifndef GDK_VERSION_MIN_REQUIRED +# define GDK_VERSION_MIN_REQUIRED (GDK_VERSION_CUR_STABLE) +#endif + +/** + * GDK_VERSION_MAX_ALLOWED: + * + * A macro that should be defined by the user prior to including + * the gdk.h header. + * The definition should be one of the predefined GDK version + * macros: %GDK_VERSION_3_0, %GDK_VERSION_3_2,... + * + * This macro defines the upper bound for the GDK API to use. + * + * If a function has been introduced in a newer version of GDK, + * it is possible to use this symbol to get compiler warnings when + * trying to use that function. + * + * Since: 3.4 + */ +#ifndef GDK_VERSION_MAX_ALLOWED +# if GDK_VERSION_MIN_REQUIRED > GDK_VERSION_PREV_STABLE +# define GDK_VERSION_MAX_ALLOWED GDK_VERSION_MIN_REQUIRED +# else +# define GDK_VERSION_MAX_ALLOWED GDK_VERSION_CUR_STABLE +# endif +#endif + +/* sanity checks */ +#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_MIN_REQUIRED +#error "GDK_VERSION_MAX_ALLOWED must be >= GDK_VERSION_MIN_REQUIRED" +#endif +#if GDK_VERSION_MIN_REQUIRED < GDK_VERSION_3_0 +#error "GDK_VERSION_MIN_REQUIRED must be >= GDK_VERSION_3_0" +#endif + +#define GDK_AVAILABLE_IN_ALL _GDK_EXTERN + +/* XXX: Every new stable minor release should add a set of macros here */ + +#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_0 +# define GDK_DEPRECATED_IN_3_0 GDK_DEPRECATED +# define GDK_DEPRECATED_IN_3_0_FOR(f) GDK_DEPRECATED_FOR(f) +#else +# define GDK_DEPRECATED_IN_3_0 _GDK_EXTERN +# define GDK_DEPRECATED_IN_3_0_FOR(f) _GDK_EXTERN +#endif + +#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_0 +# define GDK_AVAILABLE_IN_3_0 GDK_UNAVAILABLE(3, 0) +#else +# define GDK_AVAILABLE_IN_3_0 _GDK_EXTERN +#endif + +#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_2 +# define GDK_DEPRECATED_IN_3_2 GDK_DEPRECATED +# define GDK_DEPRECATED_IN_3_2_FOR(f) GDK_DEPRECATED_FOR(f) +#else +# define GDK_DEPRECATED_IN_3_2 _GDK_EXTERN +# define GDK_DEPRECATED_IN_3_2_FOR(f) _GDK_EXTERN +#endif + +#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_2 +# define GDK_AVAILABLE_IN_3_2 GDK_UNAVAILABLE(3, 2) +#else +# define GDK_AVAILABLE_IN_3_2 _GDK_EXTERN +#endif + +#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_4 +# define GDK_DEPRECATED_IN_3_4 GDK_DEPRECATED +# define GDK_DEPRECATED_IN_3_4_FOR(f) GDK_DEPRECATED_FOR(f) +#else +# define GDK_DEPRECATED_IN_3_4 _GDK_EXTERN +# define GDK_DEPRECATED_IN_3_4_FOR(f) _GDK_EXTERN +#endif + +#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_4 +# define GDK_AVAILABLE_IN_3_4 GDK_UNAVAILABLE(3, 4) +#else +# define GDK_AVAILABLE_IN_3_4 _GDK_EXTERN +#endif + +#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_6 +# define GDK_DEPRECATED_IN_3_6 GDK_DEPRECATED +# define GDK_DEPRECATED_IN_3_6_FOR(f) GDK_DEPRECATED_FOR(f) +#else +# define GDK_DEPRECATED_IN_3_6 _GDK_EXTERN +# define GDK_DEPRECATED_IN_3_6_FOR(f) _GDK_EXTERN +#endif + +#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_6 +# define GDK_AVAILABLE_IN_3_6 GDK_UNAVAILABLE(3, 6) +#else +# define GDK_AVAILABLE_IN_3_6 _GDK_EXTERN +#endif + +#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_8 +# define GDK_DEPRECATED_IN_3_8 GDK_DEPRECATED +# define GDK_DEPRECATED_IN_3_8_FOR(f) GDK_DEPRECATED_FOR(f) +#else +# define GDK_DEPRECATED_IN_3_8 _GDK_EXTERN +# define GDK_DEPRECATED_IN_3_8_FOR(f) _GDK_EXTERN +#endif + +#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_8 +# define GDK_AVAILABLE_IN_3_8 GDK_UNAVAILABLE(3, 8) +#else +# define GDK_AVAILABLE_IN_3_8 _GDK_EXTERN +#endif + +#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_10 +# define GDK_DEPRECATED_IN_3_10 GDK_DEPRECATED +# define GDK_DEPRECATED_IN_3_10_FOR(f) GDK_DEPRECATED_FOR(f) +#else +# define GDK_DEPRECATED_IN_3_10 _GDK_EXTERN +# define GDK_DEPRECATED_IN_3_10_FOR(f) _GDK_EXTERN +#endif + +#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_10 +# define GDK_AVAILABLE_IN_3_10 GDK_UNAVAILABLE(3, 10) +#else +# define GDK_AVAILABLE_IN_3_10 _GDK_EXTERN +#endif + +#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_12 +# define GDK_DEPRECATED_IN_3_12 GDK_DEPRECATED +# define GDK_DEPRECATED_IN_3_12_FOR(f) GDK_DEPRECATED_FOR(f) +#else +# define GDK_DEPRECATED_IN_3_12 _GDK_EXTERN +# define GDK_DEPRECATED_IN_3_12_FOR(f) _GDK_EXTERN +#endif + +#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_12 +# define GDK_AVAILABLE_IN_3_12 GDK_UNAVAILABLE(3, 12) +#else +# define GDK_AVAILABLE_IN_3_12 _GDK_EXTERN +#endif + +#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_14 +# define GDK_DEPRECATED_IN_3_14 GDK_DEPRECATED +# define GDK_DEPRECATED_IN_3_14_FOR(f) GDK_DEPRECATED_FOR(f) +#else +# define GDK_DEPRECATED_IN_3_14 _GDK_EXTERN +# define GDK_DEPRECATED_IN_3_14_FOR(f) _GDK_EXTERN +#endif + +#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_14 +# define GDK_AVAILABLE_IN_3_14 GDK_UNAVAILABLE(3, 14) +#else +# define GDK_AVAILABLE_IN_3_14 _GDK_EXTERN +#endif + +#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_16 +# define GDK_DEPRECATED_IN_3_16 GDK_DEPRECATED +# define GDK_DEPRECATED_IN_3_16_FOR(f) GDK_DEPRECATED_FOR(f) +#else +# define GDK_DEPRECATED_IN_3_16 _GDK_EXTERN +# define GDK_DEPRECATED_IN_3_16_FOR(f) _GDK_EXTERN +#endif + +#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_16 +# define GDK_AVAILABLE_IN_3_16 GDK_UNAVAILABLE(3, 16) +#else +# define GDK_AVAILABLE_IN_3_16 _GDK_EXTERN +#endif + +#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_18 +# define GDK_DEPRECATED_IN_3_18 GDK_DEPRECATED +# define GDK_DEPRECATED_IN_3_18_FOR(f) GDK_DEPRECATED_FOR(f) +#else +# define GDK_DEPRECATED_IN_3_18 _GDK_EXTERN +# define GDK_DEPRECATED_IN_3_18_FOR(f) _GDK_EXTERN +#endif + +#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_18 +# define GDK_AVAILABLE_IN_3_18 GDK_UNAVAILABLE(3, 18) +#else +# define GDK_AVAILABLE_IN_3_18 _GDK_EXTERN +#endif + +#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_20 +# define GDK_DEPRECATED_IN_3_20 GDK_DEPRECATED +# define GDK_DEPRECATED_IN_3_20_FOR(f) GDK_DEPRECATED_FOR(f) +#else +# define GDK_DEPRECATED_IN_3_20 _GDK_EXTERN +# define GDK_DEPRECATED_IN_3_20_FOR(f) _GDK_EXTERN +#endif + +#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_20 +# define GDK_AVAILABLE_IN_3_20 GDK_UNAVAILABLE(3, 20) +#else +# define GDK_AVAILABLE_IN_3_20 _GDK_EXTERN +#endif + +#if GDK_VERSION_MIN_REQUIRED >= GDK_VERSION_3_22 +# define GDK_DEPRECATED_IN_3_22 GDK_DEPRECATED +# define GDK_DEPRECATED_IN_3_22_FOR(f) GDK_DEPRECATED_FOR(f) +#else +# define GDK_DEPRECATED_IN_3_22 _GDK_EXTERN +# define GDK_DEPRECATED_IN_3_22_FOR(f) _GDK_EXTERN +#endif + +#if GDK_VERSION_MAX_ALLOWED < GDK_VERSION_3_22 +# define GDK_AVAILABLE_IN_3_22 GDK_UNAVAILABLE(3, 22) +#else +# define GDK_AVAILABLE_IN_3_22 _GDK_EXTERN +#endif + +#endif /* __GDK_VERSION_MACROS_H__ */ diff --git a/gdk/meson.build b/gdk/meson.build index 4bc76e8421..6fc851c7fe 100644 --- a/gdk/meson.build +++ b/gdk/meson.build @@ -1,5 +1,5 @@ deprecated_gdk_sources = ['deprecated/gdkcolor.c'] -gdk_sources = [ +gdk_sources = files([ 'gdk-private.c', 'gdk.c', 'gdkapplaunchcontext.c', @@ -8,6 +8,7 @@ gdk_sources = [ 'gdkdeprecated.c', 'gdkdevice.c', 'gdkdevicemanager.c', + 'gdkdevicepad.c', 'gdkdisplay.c', 'gdkdisplaymanager.c', 'gdkdnd.c', @@ -36,51 +37,53 @@ gdk_sources = [ 'gdkdevicetool.c', 'gdkdrawingcontext.c', 'gdkmonitor.c' -] +]) -gdk_public_h_sources = [ +gdk_public_h_sources = files([ 'gdk.h', 'gdk-autocleanup.h', 'gdkapplaunchcontext.h', 'gdkcairo.h', 'gdkcursor.h', 'gdkdevice.h', + 'gdkdevicetool.h', 'gdkdevicemanager.h', + 'gdkdevicepad.h', 'gdkdisplay.h', 'gdkdisplaymanager.h', 'gdkdnd.h', + 'gdkdrawingcontext.h', 'gdkevents.h', 'gdkframetimings.h', 'gdkglcontext.h', 'gdkkeys.h', 'gdkkeysyms.h', 'gdkmain.h', + 'gdkmonitor.h', 'gdkpango.h', 'gdkframeclock.h', 'gdkpixbuf.h', + 'gdkprivate.h', 'gdkproperty.h', 'gdkrectangle.h', 'gdkrgba.h', 'gdkscreen.h', + 'gdkseat.h', 'gdkselection.h', 'gdktestutils.h', 'gdkthreads.h', 'gdktypes.h', 'gdkvisual.h', 'gdkwindow.h', - 'gdkseat.h', - 'gdkmonitor.h', - 'gdkdrawingcontext.h', - 'gdkdevicetool.h' -] +]) -gdk_private_h_sources = [ +gdk_private_h_sources = files([ 'gdkseatdefaultprivate.h', 'gdkdevicetoolprivate.h', 'gdkdrawingcontextprivate.h', 'gdkmonitorprivate.h', 'gdkprivate.h', -] +]) gdk_x_sources = [ 'x11/MwmUtil.h', @@ -129,82 +132,106 @@ gdk_x_private_sources = [ 'x11/gdkdevicemanagerprivate-core.h', ] -gdk_wayland_sources = [ - 'wayland/gdkapplaunchcontext-wayland.c', - 'wayland/gdkcursor-wayland.c', - 'wayland/gdkdevice-wayland.c', - 'wayland/gdkdisplay-wayland.c', - 'wayland/gdkdisplay-wayland.h', - 'wayland/gdkdnd-wayland.c', - 'wayland/gdkeventsource.c', - 'wayland/gdkglcontext-wayland.c', - 'wayland/gdkglcontext-wayland.h', - 'wayland/gdkkeys-wayland.c', - 'wayland/gdkmonitor-wayland.c', - 'wayland/gdkmonitor-wayland.h', - 'wayland/gdkscreen-wayland.c', - 'wayland/gdkseat-wayland.h', - 'wayland/gdkselection-wayland.c', - 'wayland/gdkwaylanddevice.h', - 'wayland/gdkwaylanddisplay.h', - 'wayland/gdkwaylandglcontext.h', - 'wayland/gdkwayland.h', - 'wayland/gdkwaylandmonitor.h', - 'wayland/gdkwaylandselection.h', - 'wayland/gdkwaylandwindow.h', - 'wayland/gdkwindow-wayland.c', - 'wayland/wm-button-layout-translation.c', - 'wayland/gtk-primary-selection-protocol.c', - 'wayland/gtk-shell-protocol.c', - 'wayland/xdg-shell-unstable-v5-protocol.c', - 'wayland/pointer-gestures-unstable-v1-protocol.c', - 'wayland/tablet-unstable-v2-protocol.c', -] +# gdk_wayland_sources = [ + # 'wayland/gdkapplaunchcontext-wayland.c', + # 'wayland/gdkcursor-wayland.c', + # 'wayland/gdkdevice-wayland.c', + # 'wayland/gdkdisplay-wayland.c', + # 'wayland/gdkdisplay-wayland.h', + # 'wayland/gdkdnd-wayland.c', + # 'wayland/gdkeventsource.c', + # 'wayland/gdkglcontext-wayland.c', + # 'wayland/gdkglcontext-wayland.h', + # 'wayland/gdkkeys-wayland.c', + # 'wayland/gdkmonitor-wayland.c', + # 'wayland/gdkmonitor-wayland.h', + # 'wayland/gdkscreen-wayland.c', + # 'wayland/gdkseat-wayland.h', + # 'wayland/gdkselection-wayland.c', + # 'wayland/gdkwaylanddevice.h', + # 'wayland/gdkwaylanddisplay.h', + # 'wayland/gdkwaylandglcontext.h', + # 'wayland/gdkwayland.h', + # 'wayland/gdkwaylandmonitor.h', + # 'wayland/gdkwaylandselection.h', + # 'wayland/gdkwaylandwindow.h', + # 'wayland/gdkwindow-wayland.c', + # 'wayland/wm-button-layout-translation.c', + # 'wayland/gtk-primary-selection-protocol.c', + # 'wayland/gtk-shell-protocol.c', + # 'wayland/xdg-shell-unstable-v5-protocol.c', + # 'wayland/pointer-gestures-unstable-v1-protocol.c', + # 'wayland/tablet-unstable-v2-protocol.c', +# ] -gdk_wayland_private_sources = [ - 'wayland/gdkprivate-wayland.h', -] +# gdk_wayland_private_sources = [ + # 'wayland/gdkprivate-wayland.h', +# ] -gdk_broadway_sources = [ - 'broadway/gdkdisplay-broadway.c', - 'broadway/gdkdisplay-broadway.h', - 'broadway/gdkscreen-broadway.c', - 'broadway/gdkscreen-broadway.h', - 'broadway/broadway-output.c', - 'broadway/broadway-output.h', - 'broadway/broadway-server.h', - 'broadway/broadway-server.c', - 'broadway/gdkbroadway-server.c', - 'broadway/gdkcursor-broadway.c', - 'broadway/gdkvisual-broadway.c', - 'broadway/gdkselection-broadway.c', - 'broadway/gdkwindow-broadway.c', - 'broadway/gdkwindow-broadway.h', - 'broadway/gdkmonitor-broadway.c', - 'broadway/gdkmonitor-broadway.h', - 'broadway/gdkkeys-broadway.c', - 'broadway/gdkglobals-broadway.c', - 'broadway/gdkeventsource.c', - 'broadway/gdkeventsource.h', - 'broadway/gdkdnd-broadway.c', - 'broadway/broadwayd.c', - 'broadway/gdkdevicemanager-broadway.c', - 'broadway/gdkdevicemanager-broadway.h', - 'broadway/gdkdevice-broadway.c', - 'broadway/gdkdevice-broadway.h', - 'broadway/broadway-buffer.c', - 'broadway/broadway-buffer.h', - 'broadway/gdktestutils-broadway.c', - 'broadway/gdkproperty-broadway.c' -] +# gdk_broadway_sources = [ + # 'broadway/gdkdisplay-broadway.c', + # 'broadway/gdkdisplay-broadway.h', + # 'broadway/gdkscreen-broadway.c', + # 'broadway/gdkscreen-broadway.h', + # 'broadway/broadway-output.c', + # 'broadway/broadway-output.h', + # 'broadway/broadway-server.h', + # 'broadway/broadway-server.c', + # 'broadway/gdkbroadway-server.c', + # 'broadway/gdkcursor-broadway.c', + # 'broadway/gdkvisual-broadway.c', + # 'broadway/gdkselection-broadway.c', + # 'broadway/gdkwindow-broadway.c', + # 'broadway/gdkwindow-broadway.h', + # 'broadway/gdkmonitor-broadway.c', + # 'broadway/gdkmonitor-broadway.h', + # 'broadway/gdkkeys-broadway.c', + # 'broadway/gdkglobals-broadway.c', + # 'broadway/gdkeventsource.c', + # 'broadway/gdkeventsource.h', + # 'broadway/gdkdnd-broadway.c', + # 'broadway/broadwayd.c', + # 'broadway/gdkdevicemanager-broadway.c', + # 'broadway/gdkdevicemanager-broadway.h', + # 'broadway/gdkdevice-broadway.c', + # 'broadway/gdkdevice-broadway.h', + # 'broadway/broadway-buffer.c', + # 'broadway/broadway-buffer.h', + # 'broadway/gdktestutils-broadway.c', + # 'broadway/gdkproperty-broadway.c' +# ] -gdk_broadway_private_sources = [ - 'broadway/gdkprivate-broadway.h' -] +# gdk_broadway_private_sources = [ + # 'broadway/gdkprivate-broadway.h' +# ] + +# glsl_sources = [ + # 'gl3-texture-2d.fs.glsl', + # 'gl3-texture-2d.vs.glsl', + # 'gl3-texture-rect.fs.glsl', + # 'gl3-texture-rect.vs.glsl', + # 'gl2-texture-2d.fs.glsl', + # 'gl2-texture-2d.fs.glsl', + # 'gl2-texture-rect.vs.glsl', + # 'gl2-texture-rect.vs.glsl', + # 'gles2-texture.fs.glsl', + # 'gles2-texture.vs.glsl', +# ] +# resource_xml = '' +# foreach glsl_file : glsl_sources + # resource_xml += ' resources/glsl/@0@\n'.format(glsl_file) +# endforeach +# cdata = configuration_data() +# cdata.set('GDK_GRESOURCE_XML_FILES', resource_xml) +# gdkresources_xml = configure_file( + # input : 'gdk.gresource.xml.meson', + # output : 'gdk.gresource.xml', + # configuration : cdata +# ) gdkresources = gnome.compile_resources( 'gdkresources', @@ -215,47 +242,59 @@ gdkresources = gnome.compile_resources( ) -deprecated_h_sources = ['deprecated/gdkcolor.h'] +deprecated_h_sources = files(['deprecated/gdkcolor.h']) -gdk_headers = gdk_public_h_sources + deprecated_h_sources +gdk_headers = gdk_public_h_sources + deprecated_h_sources + gdk_private_h_sources -mkenum = find_program('build_enum.py') -perl = find_program('perl') -glib_mkenums = find_program('glib-mkenums') - - -gdkenum_h = custom_target('gdkenum_h', +gdkenum_h = custom_target( + 'gdkenum_h', output : 'gdkenumtypes.h', input : gdk_headers, - command : [mkenum, perl, glib_mkenums, '@OUTPUT@', '@INPUT@']) + command : [mkenum, perl, glib_mkenums, meson.current_source_dir() + '/gdkenumtypes.h.template', '@OUTPUT@', '@INPUT@']) -gdkenum_c = custom_target('gdkenum_c', +gdkenum_c = custom_target( + 'gdkenum_c', output : 'gdkenumtypes.c', input : gdk_headers, - depends : [gdkenum_h], - command : [mkenum, perl, glib_mkenums, '@OUTPUT@', '@INPUT@']) + depends : gdkenum_h, + command : [mkenum, perl, glib_mkenums, meson.current_source_dir() + '/gdkenumtypes.c.template', '@OUTPUT@', '@INPUT@']) -gdkmarshal_h = custom_target('gdkmarshal_h', - output : 'gdkmarshall.h', +gdkmarshal_h = custom_target( + 'gdkmarshal_h', + output : 'gdkmarshalers.h', input : 'gdkmarshalers.list', - command : [mkmarshal, glib_marshal, '_gdk_marshal', '@INPUT@', '@OUTPUT@']) + command : [mkmarshal, glib_marshal, '_gdk_marshal', '@INPUT@', '@OUTPUT@'] +) -gdkmarshal_c = custom_target('gdkmarshal_c', - output : 'gdkmarshall.c', +gdkmarshal_c = custom_target( + 'gdkmarshal_c', + output : 'gdkmarshalers.c', input : 'gdkmarshalers.list', - command : [mkmarshal, glib_marshal, '_gdk_marshal', '@INPUT@', '@OUTPUT@']) - + command : [mkmarshal, glib_marshal, '_gdk_marshal', '@INPUT@', '@OUTPUT@'] +) cdata = configuration_data() -if x11_enabled cdata.set('GDK_WINDOWING_X11', 1) endif -if wayland_enabled cdata.set('GDK_WINDOWING_WAYLAND', 1) endif -if broadway_enabled cdata.set('GDK_WINDOWING_BROADWAY', 1) endif +cdata.set('GTK_MAJOR_VERSION', gtk_major_version) +cdata.set('GTK_MINOR_VERSION', gtk_minor_version) +cdata.set('GTK_MICRO_VERSION', gtk_micro_version) + + + +if x11_enabled cdata.set('GDK_WINDOWING_X11', '') endif +if wayland_enabled cdata.set('GDK_WINDOWING_WAYLAND', '') endif +if broadway_enabled cdata.set('GDK_WINDOWING_BROADWAY', '') endif gdkconfig = configure_file( input : 'gdkconfig.h.meson', output : 'gdkconfig.h', configuration : cdata ) +gdkversionmacros = configure_file( + input : 'gdkversionmacros.h.in', + output : 'gdkversionmacros.h', + configuration: cdata +) + xinc = include_directories('x11') wlinc = include_directories('wayland') @@ -279,7 +318,9 @@ gdk_sources = [ deprecated_gdk_sources, gdkenum_c, gdkenum_h, gdkmarshal_c, gdkmarshal_h, - gdkresources + gdkresources, + gdkversionmacros, + gdk_headers ] if x11_enabled @@ -288,6 +329,10 @@ if x11_enabled xi_dep, xext_dep, x11_dep, + xcursor_dep, + xdamage_dep, + xfixes_dep, + xcomposite_dep ] gdk_sources += [ gdk_x_sources, @@ -310,19 +355,29 @@ if wayland_enabled ] endif +if broadway_enabled + gdk_deps += [ + shmlib, + ] + gdk_sources += [ + gdk_broadway_sources, + gdk_broadway_private_sources + ] +endif + libgdk = shared_library('gdk', gdk_sources, c_args: ['-DHAVE_CONFIG_H', '-DGDK_COMPILATION'], - include_directories: [confinc, xinc, wlinc], + include_directories: [confinc, xinc], dependencies: gdk_deps, ) libgdk_dep = declare_dependency( - sources: ['gdk.h', gdkenum_h], + sources: ['gdk.h', gdkconfig, gdkenum_h], depends: gdk_sources, - include_directories: [confinc, xinc, wlinc], + include_directories: [confinc, xinc], dependencies: gdk_deps, link_with: libgdk ) diff --git a/gtk/gentypefuncs.d b/gtk/gentypefuncs.d new file mode 100755 index 0000000000..f7a052823f --- /dev/null +++ b/gtk/gentypefuncs.d @@ -0,0 +1,45 @@ +#!/usr/bin/rdmd + +import std.stdio; +import std.file; +import std.process; +import std.regex; +import std.array; +import std.algorithm; + +void main(string[] args) { + string out_file = args[1]; + string[] in_files = args[3..$]; + + auto regex = ctRegex!("g[td]k_[a-zA-Z0-9_]*_get_type"); + + string[] funcs; + + foreach (filename; in_files) { + auto file = File(filename); + foreach (line; file.byLine()) { + auto match = line.matchFirst(regex); + if (!match.empty) { + // *cough*, not exactly the fastest way to do this... + if (!funcs.canFind(match.hit)) + funcs ~= cast(string)match.hit.idup; + } + } + } + + funcs.sort(); + + //writeln(funcs); + //writeln(funcs.length); + + string file_output = "G_GNUC_BEGIN_IGNORE_DEPRECATIONS\n"; + foreach (func; funcs) { + if (func.startsWith("gdk_x11") || func.startsWith("gtk_socket") || func.startsWith("gtk_plug")) { + file_output ~= "#ifdef GDK_WINDOWING_X11\n*tp++ = " ~ func ~ "();\n#endif\n"; + } else if (func != ("gtk_text_handle_get_type")){ + file_output ~= "*tp++ = " ~ func ~ "();\n"; + } + } + + std.file.write(out_file, file_output); +} diff --git a/gtk/gtk.gresource.xml b/gtk/gtk.gresource.xml new file mode 100644 index 0000000000..1f9992a084 --- /dev/null +++ b/gtk/gtk.gresource.xml @@ -0,0 +1,269 @@ + + + + theme/Raleigh/gtk-default.css + theme/Adwaita/gtk.css + theme/Adwaita/gtk-dark.css + theme/Adwaita/gtk-contained.css + theme/Adwaita/gtk-contained-dark.css + theme/Adwaita/assets/bullet-symbolic.symbolic.png + theme/Adwaita/assets/checkbox-active-selectionmode@2.png + theme/Adwaita/assets/checkbox-active-selectionmode.png + theme/Adwaita/assets/checkbox-backdrop-selectionmode@2.png + theme/Adwaita/assets/checkbox-backdrop-selectionmode.png + theme/Adwaita/assets/checkbox-checked-active-selectionmode@2.png + theme/Adwaita/assets/checkbox-checked-active-selectionmode.png + theme/Adwaita/assets/checkbox-checked-backdrop-selectionmode@2.png + theme/Adwaita/assets/checkbox-checked-backdrop-selectionmode.png + theme/Adwaita/assets/checkbox-checked-hover-selectionmode@2.png + theme/Adwaita/assets/checkbox-checked-hover-selectionmode.png + theme/Adwaita/assets/checkbox-checked-selectionmode@2.png + theme/Adwaita/assets/checkbox-checked-selectionmode.png + theme/Adwaita/assets/checkbox-hover-selectionmode@2.png + theme/Adwaita/assets/checkbox-hover-selectionmode.png + theme/Adwaita/assets/checkbox-selectionmode@2.png + theme/Adwaita/assets/checkbox-selectionmode.png + theme/Adwaita/assets/check-symbolic.symbolic.png + theme/Adwaita/assets/dash-symbolic.symbolic.png + theme/Adwaita/assets/slider-horz-scale-has-marks-above@2.png + theme/Adwaita/assets/slider-horz-scale-has-marks-above-active@2.png + theme/Adwaita/assets/slider-horz-scale-has-marks-above-active-dark@2.png + theme/Adwaita/assets/slider-horz-scale-has-marks-above-active-dark.png + theme/Adwaita/assets/slider-horz-scale-has-marks-above-active.png + theme/Adwaita/assets/slider-horz-scale-has-marks-above-backdrop@2.png + theme/Adwaita/assets/slider-horz-scale-has-marks-above-backdrop-dark@2.png + theme/Adwaita/assets/slider-horz-scale-has-marks-above-backdrop-dark.png + theme/Adwaita/assets/slider-horz-scale-has-marks-above-backdrop-insensitive@2.png + theme/Adwaita/assets/slider-horz-scale-has-marks-above-backdrop-insensitive-dark@2.png + theme/Adwaita/assets/slider-horz-scale-has-marks-above-backdrop-insensitive-dark.png + theme/Adwaita/assets/slider-horz-scale-has-marks-above-backdrop-insensitive.png + theme/Adwaita/assets/slider-horz-scale-has-marks-above-backdrop.png + theme/Adwaita/assets/slider-horz-scale-has-marks-above-dark@2.png + theme/Adwaita/assets/slider-horz-scale-has-marks-above-dark.png + theme/Adwaita/assets/slider-horz-scale-has-marks-above-hover@2.png + theme/Adwaita/assets/slider-horz-scale-has-marks-above-hover-dark@2.png + theme/Adwaita/assets/slider-horz-scale-has-marks-above-hover-dark.png + theme/Adwaita/assets/slider-horz-scale-has-marks-above-hover.png + theme/Adwaita/assets/slider-horz-scale-has-marks-above-insensitive@2.png + theme/Adwaita/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png + theme/Adwaita/assets/slider-horz-scale-has-marks-above-insensitive-dark.png + theme/Adwaita/assets/slider-horz-scale-has-marks-above-insensitive.png + theme/Adwaita/assets/slider-horz-scale-has-marks-above.png + theme/Adwaita/assets/slider-horz-scale-has-marks-below@2.png + theme/Adwaita/assets/slider-horz-scale-has-marks-below-active@2.png + theme/Adwaita/assets/slider-horz-scale-has-marks-below-active-dark@2.png + theme/Adwaita/assets/slider-horz-scale-has-marks-below-active-dark.png + theme/Adwaita/assets/slider-horz-scale-has-marks-below-active.png + theme/Adwaita/assets/slider-horz-scale-has-marks-below-backdrop@2.png + theme/Adwaita/assets/slider-horz-scale-has-marks-below-backdrop-dark@2.png + theme/Adwaita/assets/slider-horz-scale-has-marks-below-backdrop-dark.png + theme/Adwaita/assets/slider-horz-scale-has-marks-below-backdrop-insensitive@2.png + theme/Adwaita/assets/slider-horz-scale-has-marks-below-backdrop-insensitive-dark@2.png + theme/Adwaita/assets/slider-horz-scale-has-marks-below-backdrop-insensitive-dark.png + theme/Adwaita/assets/slider-horz-scale-has-marks-below-backdrop-insensitive.png + theme/Adwaita/assets/slider-horz-scale-has-marks-below-backdrop.png + theme/Adwaita/assets/slider-horz-scale-has-marks-below-dark@2.png + theme/Adwaita/assets/slider-horz-scale-has-marks-below-dark.png + theme/Adwaita/assets/slider-horz-scale-has-marks-below-hover@2.png + theme/Adwaita/assets/slider-horz-scale-has-marks-below-hover-dark@2.png + theme/Adwaita/assets/slider-horz-scale-has-marks-below-hover-dark.png + theme/Adwaita/assets/slider-horz-scale-has-marks-below-hover.png + theme/Adwaita/assets/slider-horz-scale-has-marks-below-insensitive@2.png + theme/Adwaita/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png + theme/Adwaita/assets/slider-horz-scale-has-marks-below-insensitive-dark.png + theme/Adwaita/assets/slider-horz-scale-has-marks-below-insensitive.png + theme/Adwaita/assets/slider-horz-scale-has-marks-below.png + theme/Adwaita/assets/slider-vert-scale-has-marks-above@2.png + theme/Adwaita/assets/slider-vert-scale-has-marks-above-active@2.png + theme/Adwaita/assets/slider-vert-scale-has-marks-above-active-dark@2.png + theme/Adwaita/assets/slider-vert-scale-has-marks-above-active-dark.png + theme/Adwaita/assets/slider-vert-scale-has-marks-above-active.png + theme/Adwaita/assets/slider-vert-scale-has-marks-above-backdrop@2.png + theme/Adwaita/assets/slider-vert-scale-has-marks-above-backdrop-dark@2.png + theme/Adwaita/assets/slider-vert-scale-has-marks-above-backdrop-dark.png + theme/Adwaita/assets/slider-vert-scale-has-marks-above-backdrop-insensitive@2.png + theme/Adwaita/assets/slider-vert-scale-has-marks-above-backdrop-insensitive-dark@2.png + theme/Adwaita/assets/slider-vert-scale-has-marks-above-backdrop-insensitive-dark.png + theme/Adwaita/assets/slider-vert-scale-has-marks-above-backdrop-insensitive.png + theme/Adwaita/assets/slider-vert-scale-has-marks-above-backdrop.png + theme/Adwaita/assets/slider-vert-scale-has-marks-above-dark@2.png + theme/Adwaita/assets/slider-vert-scale-has-marks-above-dark.png + theme/Adwaita/assets/slider-vert-scale-has-marks-above-hover@2.png + theme/Adwaita/assets/slider-vert-scale-has-marks-above-hover-dark@2.png + theme/Adwaita/assets/slider-vert-scale-has-marks-above-hover-dark.png + theme/Adwaita/assets/slider-vert-scale-has-marks-above-hover.png + theme/Adwaita/assets/slider-vert-scale-has-marks-above-insensitive@2.png + theme/Adwaita/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png + theme/Adwaita/assets/slider-vert-scale-has-marks-above-insensitive-dark.png + theme/Adwaita/assets/slider-vert-scale-has-marks-above-insensitive.png + theme/Adwaita/assets/slider-vert-scale-has-marks-above.png + theme/Adwaita/assets/slider-vert-scale-has-marks-below@2.png + theme/Adwaita/assets/slider-vert-scale-has-marks-below-active@2.png + theme/Adwaita/assets/slider-vert-scale-has-marks-below-active-dark@2.png + theme/Adwaita/assets/slider-vert-scale-has-marks-below-active-dark.png + theme/Adwaita/assets/slider-vert-scale-has-marks-below-active.png + theme/Adwaita/assets/slider-vert-scale-has-marks-below-backdrop@2.png + theme/Adwaita/assets/slider-vert-scale-has-marks-below-backdrop-dark@2.png + theme/Adwaita/assets/slider-vert-scale-has-marks-below-backdrop-dark.png + theme/Adwaita/assets/slider-vert-scale-has-marks-below-backdrop-insensitive@2.png + theme/Adwaita/assets/slider-vert-scale-has-marks-below-backdrop-insensitive-dark@2.png + theme/Adwaita/assets/slider-vert-scale-has-marks-below-backdrop-insensitive-dark.png + theme/Adwaita/assets/slider-vert-scale-has-marks-below-backdrop-insensitive.png + theme/Adwaita/assets/slider-vert-scale-has-marks-below-backdrop.png + theme/Adwaita/assets/slider-vert-scale-has-marks-below-dark@2.png + theme/Adwaita/assets/slider-vert-scale-has-marks-below-dark.png + theme/Adwaita/assets/slider-vert-scale-has-marks-below-hover@2.png + theme/Adwaita/assets/slider-vert-scale-has-marks-below-hover-dark@2.png + theme/Adwaita/assets/slider-vert-scale-has-marks-below-hover-dark.png + theme/Adwaita/assets/slider-vert-scale-has-marks-below-hover.png + theme/Adwaita/assets/slider-vert-scale-has-marks-below-insensitive@2.png + theme/Adwaita/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png + theme/Adwaita/assets/slider-vert-scale-has-marks-below-insensitive-dark.png + theme/Adwaita/assets/slider-vert-scale-has-marks-below-insensitive.png + theme/Adwaita/assets/slider-vert-scale-has-marks-below.png + theme/Adwaita/assets/text-select-end@2.png + theme/Adwaita/assets/text-select-end-active@2.png + theme/Adwaita/assets/text-select-end-active-dark@2.png + theme/Adwaita/assets/text-select-end-active-dark.png + theme/Adwaita/assets/text-select-end-active.png + theme/Adwaita/assets/text-select-end-dark@2.png + theme/Adwaita/assets/text-select-end-dark.png + theme/Adwaita/assets/text-select-end-hover@2.png + theme/Adwaita/assets/text-select-end-hover-dark@2.png + theme/Adwaita/assets/text-select-end-hover-dark.png + theme/Adwaita/assets/text-select-end-hover.png + theme/Adwaita/assets/text-select-end.png + theme/Adwaita/assets/text-select-start@2.png + theme/Adwaita/assets/text-select-start-active@2.png + theme/Adwaita/assets/text-select-start-active-dark@2.png + theme/Adwaita/assets/text-select-start-active-dark.png + theme/Adwaita/assets/text-select-start-active.png + theme/Adwaita/assets/text-select-start-dark@2.png + theme/Adwaita/assets/text-select-start-dark.png + theme/Adwaita/assets/text-select-start-hover@2.png + theme/Adwaita/assets/text-select-start-hover-dark@2.png + theme/Adwaita/assets/text-select-start-hover-dark.png + theme/Adwaita/assets/text-select-start-hover.png + theme/Adwaita/assets/text-select-start.png + theme/Adwaita/assets/bullet-symbolic.svg + theme/Adwaita/assets/check-symbolic.svg + theme/Adwaita/assets/dash-symbolic.svg + theme/HighContrast/gtk.css + theme/HighContrast/gtk-inverse.css + theme/HighContrast/gtk-contained.css + theme/HighContrast/gtk-contained-inverse.css + theme/HighContrast/assets/bullet-symbolic.symbolic.png + theme/HighContrast/assets/check-symbolic.symbolic.png + theme/HighContrast/assets/dash-symbolic.symbolic.png + theme/HighContrast/assets/bullet-symbolic.svg + theme/HighContrast/assets/check-symbolic.svg + theme/HighContrast/assets/dash-symbolic.svg + theme/win32/gtk-win32-base.css + theme/win32/gtk.css + cursor/dnd-ask.png + cursor/dnd-copy.png + cursor/dnd-link.png + cursor/dnd-move.png + cursor/dnd-none.png + gesture/gesture-pinch-symbolic.symbolic.png + gesture/gesture-rotate-anticlockwise-symbolic.symbolic.png + gesture/gesture-rotate-clockwise-symbolic.symbolic.png + gesture/gesture-stretch-symbolic.symbolic.png + gesture/gesture-two-finger-swipe-left-symbolic.symbolic.png + gesture/gesture-two-finger-swipe-right-symbolic.symbolic.png + ui/gtkaboutdialog.ui + ui/gtkactionbar.ui + ui/gtkappchooserdialog.ui + ui/gtkappchooserwidget.ui + ui/gtkapplication-quartz.ui + ui/gtkassistant.ui + ui/gtkcolorchooserdialog.ui + ui/gtkcoloreditor.ui + ui/gtkcombobox.ui + ui/gtkdialog.ui + ui/gtkfilechooserbutton.ui + ui/gtkfilechooserdialog.ui + ui/gtkfilechooserwidget.ui + ui/gtkfontbutton.ui + ui/gtkfontchooserdialog.ui + ui/gtkfontchooserwidget.ui + ui/gtkinfobar.ui + ui/gtklockbutton.ui + ui/gtkmessagedialog.ui + ui/gtkpagesetupunixdialog.ui + ui/gtkpathbar.ui + ui/gtkplacesviewrow.ui + ui/gtkplacesview.ui + ui/gtkprintunixdialog.ui + ui/gtkrecentchooserdefault.ui + ui/gtkscalebutton.ui + ui/gtksearchbar.ui + ui/gtksidebarrow.ui + ui/gtkstatusbar.ui + ui/gtktooltipwindow.ui + ui/gtkvolumebutton.ui + icons/16x16/actions/gtk-caps-lock-warning.png + icons/16x16/actions/gtk-color-picker.png + icons/16x16/actions/gtk-connect.png + icons/16x16/actions/gtk-convert.png + icons/16x16/actions/gtk-disconnect.png + icons/16x16/actions/gtk-edit.png + icons/16x16/actions/gtk-index.png + icons/16x16/actions/gtk-orientation-landscape.png + icons/16x16/actions/gtk-orientation-portrait.png + icons/16x16/actions/gtk-orientation-reverse-landscape.png + icons/16x16/actions/gtk-orientation-reverse-portrait.png + icons/16x16/actions/gtk-page-setup.png + icons/16x16/actions/gtk-preferences.png + icons/16x16/actions/gtk-select-color.png + icons/16x16/actions/gtk-select-font.png + icons/16x16/actions/gtk-undelete.png + icons/16x16/actions/gtk-undelete-rtl.png + icons/16x16/status/image-missing.png + icons/22x22/actions/gtk-apply.png + icons/22x22/actions/gtk-cancel.png + icons/22x22/actions/gtk-no.png + icons/22x22/actions/gtk-ok.png + icons/22x22/actions/gtk-yes.png + icons/24x24/actions/gtk-caps-lock-warning.png + icons/24x24/actions/gtk-color-picker.png + icons/24x24/actions/gtk-connect.png + icons/24x24/actions/gtk-convert.png + icons/24x24/actions/gtk-disconnect.png + icons/24x24/actions/gtk-edit.png + icons/24x24/actions/gtk-index.png + icons/24x24/actions/gtk-orientation-landscape.png + icons/24x24/actions/gtk-orientation-portrait.png + icons/24x24/actions/gtk-orientation-reverse-landscape.png + icons/24x24/actions/gtk-orientation-reverse-portrait.png + icons/24x24/actions/gtk-page-setup.png + icons/24x24/actions/gtk-preferences.png + icons/24x24/actions/gtk-select-color.png + icons/24x24/actions/gtk-select-font.png + icons/24x24/actions/gtk-undelete.png + icons/24x24/actions/gtk-undelete-rtl.png + icons/24x24/status/image-missing.png + icons/32x32/actions/gtk-dnd-multiple.png + icons/32x32/actions/gtk-dnd.png + icons/32x32/status/image-missing.png + icons/48x48/status/image-missing.png + inspector/actions.ui + inspector/css-editor.ui + inspector/css-node-tree.ui + inspector/data-list.ui + inspector/general.ui + inspector/magnifier.ui + inspector/menu.ui + inspector/misc-info.ui + inspector/object-hierarchy.ui + inspector/object-tree.ui + inspector/prop-list.ui + inspector/resource-list.ui + inspector/selector.ui + inspector/signals-list.ui + inspector/statistics.ui + inspector/visual.ui + inspector/window.ui + inspector/logo.png + + diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 091b7f06f6..aa5da8f871 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -8940,8 +8940,9 @@ gtk_window_move_resize (GtkWindow *window) /* handle resizing/moving and widget tree allocation */ if (priv->configure_notify_received) - { + { GtkAllocation allocation; + int min, nat; /* If we have received a configure event since * the last time in this function, we need to @@ -8958,8 +8959,12 @@ gtk_window_move_resize (GtkWindow *window) allocation.x = 0; allocation.y = 0; - allocation.width = current_width; - allocation.height = current_height; + /*allocation.width = current_width;*/ + + gtk_widget_get_preferred_width (widget, &min, &nat); + allocation.width = MAX (min, current_width); + gtk_widget_get_preferred_height_for_width (widget, allocation.width, &min, &nat); + allocation.height = MAX (min, current_height); gtk_widget_size_allocate (widget, &allocation); diff --git a/gtk/meson.build b/gtk/meson.build index a6a56b9e15..366d0dc30b 100644 --- a/gtk/meson.build +++ b/gtk/meson.build @@ -254,6 +254,7 @@ gtk_sources = [ 'gtkoffscreenwindow.c', 'gtkorientable.c', 'gtkoverlay.c', + 'gtkpadcontroller.c', 'gtkpagesetup.c', 'gtkpaned.c', 'gtkpango.c', @@ -268,7 +269,6 @@ gtk_sources = [ 'gtkprintsettings.c', 'gtkprintutils.c', 'gtkprivate.c', - 'gtkprivatetypebuiltins.c', 'gtkprogressbar.c', 'gtkpixelcache.c', 'gtkpopover.c', @@ -359,7 +359,6 @@ gtk_sources = [ 'gtktreestore.c', 'gtktreeview.c', 'gtktreeviewcolumn.c', - 'gtktypebuiltins.c', 'gtkvolumebutton.c', 'gtkviewport.c', 'gtkwidget.c', @@ -371,6 +370,284 @@ gtk_sources = [ 'fallback-c89.c' ] +gtk_private_type_headers = [ + 'gtkcsstypesprivate.h', + 'gtktexthandleprivate.h', +] + +gtk_private_h_sources = files([ + gtk_private_type_headers, + 'gtkrecentchooserutils.h', + 'gtkrbtree.h', +]) + +gtk_public_h_sources = files([ + 'gtk.h', + 'gtk-autocleanups.h', + 'gtkx.h', + 'gtkx-autocleanups.h', + 'gtk-a11y.h', + 'gtkaboutdialog.h', + 'gtkaccelgroup.h', + 'gtkaccellabel.h', + 'gtkaccelmap.h', + 'gtkaccessible.h', + 'gtkactionable.h', + 'gtkactionbar.h', + 'gtkadjustment.h', + 'gtkappchooser.h', + 'gtkappchooserbutton.h', + 'gtkappchooserdialog.h', + 'gtkappchooserwidget.h', + 'gtkapplication.h', + 'gtkapplicationwindow.h', + 'gtkaspectframe.h', + 'gtkassistant.h', + 'gtkbbox.h', + 'gtkbin.h', + 'gtkbindings.h', + 'gtkborder.h', + 'gtkbox.h', + 'gtkbuilder.h', + 'gtkbuildable.h', + 'gtkbutton.h', + 'gtkcalendar.h', + 'gtkcellarea.h', + 'gtkcellareacontext.h', + 'gtkcellareabox.h', + 'gtkcelleditable.h', + 'gtkcelllayout.h', + 'gtkcellrenderer.h', + 'gtkcellrendereraccel.h', + 'gtkcellrenderercombo.h', + 'gtkcellrendererpixbuf.h', + 'gtkcellrendererprogress.h', + 'gtkcellrendererspin.h', + 'gtkcellrendererspinner.h', + 'gtkcellrenderertext.h', + 'gtkcellrenderertoggle.h', + 'gtkcellview.h', + 'gtkcheckbutton.h', + 'gtkcheckmenuitem.h', + 'gtkclipboard.h', + 'gtkcolorbutton.h', + 'gtkcolorchooser.h', + 'gtkcolorchooserwidget.h', + 'gtkcolorchooserdialog.h', + 'gtkcolorutils.h', + 'gtkcombobox.h', + 'gtkcomboboxtext.h', + 'gtkcontainer.h', + 'gtkcssprovider.h', + 'gtkcsssection.h', + 'gtkdebug.h', + 'gtkdialog.h', + 'gtkdnd.h', + 'gtkdragdest.h', + 'gtkdragsource.h', + 'gtkdrawingarea.h', + 'gtkeditable.h', + 'gtkentry.h', + 'gtkentrybuffer.h', + 'gtkentrycompletion.h', + 'gtkenums.h', + 'gtkeventbox.h', + 'gtkeventcontroller.h', + 'gtkexpander.h', + 'gtkfilechooser.h', + 'gtkfilechooserbutton.h', + 'gtkfilechooserdialog.h', + 'gtkfilechoosernative.h', + 'gtkfilechooserwidget.h', + 'gtkfilefilter.h', + 'gtkfixed.h', + 'gtkflowbox.h', + 'gtkfontbutton.h', + 'gtkfontchooser.h', + 'gtkfontchooserdialog.h', + 'gtkfontchooserwidget.h', + 'gtkframe.h', + 'gtkgesture.h', + 'gtkgesturedrag.h', + 'gtkgesturelongpress.h', + 'gtkgesturemultipress.h', + 'gtkgesturepan.h', + 'gtkgesturerotate.h', + 'gtkgesturesingle.h', + 'gtkgestureswipe.h', + 'gtkgesturezoom.h', + 'gtkglarea.h', + 'gtkgrid.h', + 'gtkheaderbar.h', + 'gtkicontheme.h', + 'gtkiconview.h', + 'gtkimage.h', + 'gtkimcontext.h', + 'gtkimcontextinfo.h', + 'gtkimcontextsimple.h', + 'gtkimmodule.h', + 'gtkimmulticontext.h', + 'gtkinfobar.h', + 'gtkinvisible.h', + 'gtklabel.h', + 'gtklayout.h', + 'gtklevelbar.h', + 'gtklinkbutton.h', + 'gtklistbox.h', + 'gtkliststore.h', + 'gtklockbutton.h', + 'gtkmain.h', + 'gtkmenu.h', + 'gtkmenubar.h', + 'gtkmenubutton.h', + 'gtkmenuitem.h', + 'gtkmenushell.h', + 'gtkmenutoolbutton.h', + 'gtkmessagedialog.h', + 'gtkmodelbutton.h', + 'gtkmodules.h', + 'gtkmountoperation.h', + 'gtknativedialog.h', + 'gtknotebook.h', + 'gtkoffscreenwindow.h', + 'gtkorientable.h', + 'gtkoverlay.h', + 'gtkpadcontroller.h', + 'gtkpagesetup.h', + 'gtkpaned.h', + 'gtkpapersize.h', + 'gtkplacessidebar.h', + 'gtkplug.h', + 'gtkpopover.h', + 'gtkpopovermenu.h', + 'gtkprintcontext.h', + 'gtkprintoperation.h', + 'gtkprintoperationpreview.h', + 'gtkprintsettings.h', + 'gtkprogressbar.h', + 'gtkradiobutton.h', + 'gtkradiomenuitem.h', + 'gtkradiotoolbutton.h', + 'gtkrange.h', + 'gtkrecentchooser.h', + 'gtkrecentchooserdialog.h', + 'gtkrecentchoosermenu.h', + 'gtkrecentchooserwidget.h', + 'gtkrecentfilter.h', + 'gtkrecentmanager.h', + 'gtkrender.h', + 'gtkrevealer.h', + 'gtkscale.h', + 'gtkscalebutton.h', + 'gtkscrollable.h', + 'gtkscrollbar.h', + 'gtkscrolledwindow.h', + 'gtksearchbar.h', + 'gtksearchentry.h', + 'gtkselection.h', + 'gtkseparator.h', + 'gtkseparatormenuitem.h', + 'gtkseparatortoolitem.h', + 'gtksettings.h', + 'gtkshortcutlabel.h', + 'gtkshortcutsgroup.h', + 'gtkshortcutssection.h', + 'gtkshortcutsshortcut.h', + 'gtkshortcutswindow.h', + 'gtkshow.h', + 'gtkstacksidebar.h', + 'gtksizegroup.h', + 'gtksizerequest.h', + 'gtksocket.h', + 'gtkspinbutton.h', + 'gtkspinner.h', + 'gtkstack.h', + 'gtkstackswitcher.h', + 'gtkstatusbar.h', + 'gtkstylecontext.h', + 'gtkstyleprovider.h', + 'gtkswitch.h', + 'gtktestutils.h', + 'gtktextattributes.h', + 'gtktextbuffer.h', + 'gtktextbufferrichtext.h', + 'gtktextchild.h', + 'gtktextdisplay.h', + 'gtktextiter.h', + 'gtktextmark.h', + 'gtktexttag.h', + 'gtktexttagtable.h', + 'gtktextview.h', + 'gtktogglebutton.h', + 'gtktoggletoolbutton.h', + 'gtktoolbar.h', + 'gtktoolbutton.h', + 'gtktoolitem.h', + 'gtktoolitemgroup.h', + 'gtktoolpalette.h', + 'gtktoolshell.h', + 'gtktooltip.h', + 'gtktreednd.h', + 'gtktreemodel.h', + 'gtktreemodelfilter.h', + 'gtktreemodelsort.h', + 'gtktreeselection.h', + 'gtktreesortable.h', + 'gtktreestore.h', + 'gtktreeview.h', + 'gtktreeviewcolumn.h', + 'gtktypes.h', + 'gtkviewport.h', + 'gtkvolumebutton.h', + 'gtkwidget.h', + 'gtkwidgetpath.h', + 'gtkwindow.h', + 'gtkwindowgroup.h', +]) + +gtk_deprecated_type_headers = ([ + 'deprecated/gtkactivatable.h', + 'deprecated/gtkaction.h', + 'deprecated/gtkactiongroup.h', + 'deprecated/gtkalignment.h', + 'deprecated/gtkarrow.h', + 'deprecated/gtkcolorsel.h', + 'deprecated/gtkcolorseldialog.h', + 'deprecated/gtkfontsel.h', + 'deprecated/gtkgradient.h', + 'deprecated/gtkhandlebox.h', + 'deprecated/gtkhbbox.h', + 'deprecated/gtkhbox.h', + 'deprecated/gtkhpaned.h', + 'deprecated/gtkhscale.h', + 'deprecated/gtkhscrollbar.h', + 'deprecated/gtkhseparator.h', + 'deprecated/gtkhsv.h', + 'deprecated/gtkiconfactory.h', + 'deprecated/gtkimagemenuitem.h', + 'deprecated/gtkmisc.h', + 'deprecated/gtknumerableicon.h', + 'deprecated/gtkradioaction.h', + 'deprecated/gtkrc.h', + 'deprecated/gtkrecentaction.h', + 'deprecated/gtkstatusicon.h', + 'deprecated/gtkstock.h', + 'deprecated/gtkstyle.h', + 'deprecated/gtkstyleproperties.h', + 'deprecated/gtksymboliccolor.h', + 'deprecated/gtktable.h', + 'deprecated/gtktearoffmenuitem.h', + 'deprecated/gtkthemingengine.h', + 'deprecated/gtktoggleaction.h', + 'deprecated/gtkuimanager.h', + 'deprecated/gtkvbbox.h', + 'deprecated/gtkvbox.h', + 'deprecated/gtkvscale.h', + 'deprecated/gtkvscrollbar.h', + 'deprecated/gtkvseparator.h', + 'deprecated/gtkvpaned.h', +]) + gtk_unix_sources = [ 'gtkcustompaperunixdialog.c', 'gtkpagesetupunixdialog.c', @@ -393,7 +670,6 @@ gtkresources = gnome.compile_resources( extra_args: '--manual-register' ) - gtk_x11_sources = [ 'gtkplug.c', 'gtksocket.c', @@ -418,18 +694,78 @@ gtk_dbus_src = gnome.gdbus_codegen('gtkdbusgenerated', 'gtkdbusinterfaces.xml', interface_prefix: 'org.Gtk.', namespace: '_Gtk') -gtkmarshal_h = custom_target('gtkmarshal_h', +gtkmarshal_h = custom_target( + 'gtkmarshal_h', output : 'gtkmarshalers.h', input : 'gtkmarshalers.list', command : [mkmarshal, glib_marshal, '_gtk_marshal', '@INPUT@', '@OUTPUT@'] ) -gtkmarshal_c = custom_target('gtkmarshal_c', +gtkmarshal_c = custom_target( + 'gtkmarshal_c', output : 'gtkmarshalers.c', input : 'gtkmarshalers.list', command : [mkmarshal, glib_marshal, '_gtk_marshal', '@INPUT@', '@OUTPUT@'] ) + + +gtktypebuiltins_h = custom_target( + 'gtkypebuiltins_h', + output : 'gtktypebuiltins.h', + input : gtk_public_h_sources + gtk_deprecated_type_headers, + command : [mkenum, perl, glib_mkenums, meson.current_source_dir() + '/gtktypebuiltins.h.template', '@OUTPUT@', '@INPUT@'] +) + +gtktypebuiltins_c = custom_target( + 'gtkypebuiltins_c', + output : 'gtktypebuiltins.c', + input : gtk_public_h_sources + gtk_deprecated_type_headers, + depends : gtktypebuiltins_h, + command : [mkenum, perl, glib_mkenums, meson.current_source_dir() + '/gtktypebuiltins.c.template', '@OUTPUT@', '@INPUT@'] +) + +gtkprivatetypebuiltins_h = custom_target( + 'gtkprivateypebuiltins_h', + output : 'gtkprivatetypebuiltins.h', + input : gtk_private_type_headers, + command : [mkenum, perl, glib_mkenums, meson.current_source_dir() + '/gtkprivatetypebuiltins.h.template', '@OUTPUT@', '@INPUT@'] +) + +gtkprivatetypebuiltins_c = custom_target( + 'gtkprivateypebuiltins_c', + output : 'gtkprivatetypebuiltins.c', + input : gtk_private_type_headers, + depends : [gtkprivatetypebuiltins_h, gtktypebuiltins_h], + command : [mkenum, perl, glib_mkenums, meson.current_source_dir() + '/gtkprivatetypebuiltins.c.template', '@OUTPUT@', '@INPUT@'] +) + +d_compiler = find_program('dmd') +gentypefuncs_prog = find_program('gentypefuncs.d') +# Generate gtktypefuncs.c +typefuncs = custom_target( + 'typefuncs', + depends: gdkenum_h, + output : 'gtktypefuncs.c', + input : gdk_headers + gtk_public_h_sources + gtk_deprecated_type_headers + gtk_private_h_sources + [gtktypebuiltins_h] + [gdkenum_h], + command: [gentypefuncs_prog, '@OUTPUT@', '@INPUT@'], + install: true, + install_dir: '.' +) + +cdata = configuration_data() +cdata.set('GTK_MAJOR_VERSION', gtk_major_version) +cdata.set('GTK_MINOR_VERSION', gtk_minor_version) +cdata.set('GTK_MICRO_VERSION', gtk_micro_version) +cdata.set('GTK_BINARY_AGE', gtk_binary_age) +cdata.set('GTK_INTERFACE_AGE', gtk_interface_age) + +gtkversion = configure_file( + input : 'gtkversion.h.in', + output : 'gtkversion.h', + configuration: cdata +) + gtk_sources = [ gtk_sources, gtk_dbus_src, @@ -441,6 +777,10 @@ gtk_sources = [ gtkresources, gtkmarshal_c, gtkmarshal_h, + gtkprivatetypebuiltins_c, + gtkprivatetypebuiltins_h, + gtktypebuiltins_c, + gtktypebuiltins_h, ] gtk_deps = [ @@ -461,7 +801,7 @@ gtk_deps = [ libgdk_dep ] -if x11_enabled +# if x11_enabled gtk_sources += [ gtk_x11_sources, gtk_use_wayland_or_x11_c_sources @@ -470,7 +810,7 @@ if x11_enabled xi_dep, x11_dep, ] -endif +# endif if wayland_enabled gtk_sources += [ @@ -487,18 +827,21 @@ libgtk = shared_library('gtk', '-DGTK_SYSCONFDIR="sysconfdir"', '-DGTK_DATA_PREFIX="dataprefix"', '-DGTK_PRINT_BACKENDS="null"', '-DGTK_VERSION="3"', - '-DX11_DATA_PREFIX="/share/x11/locale"' + '-DX11_DATA_PREFIX="/usr"' ], - include_directories: [ confinc, gdkinc ], + include_directories: [ confinc, gdkinc, gtkinc ], dependencies: [gtk_deps, libgdk_dep], link_with: libgdk ) libgtk_dep = declare_dependency( sources: [ - 'gtk.h' + 'gtk.h', + gtkversion, + gtktypebuiltins_c, + gtktypebuiltins_h, ], dependencies: gtk_deps, - link_with: [libgdk, libgtk], - include_directories: confinc + link_with: [libgtk, libgdk], + include_directories: [confinc, gtkinc] ) diff --git a/meson.build b/meson.build index d70de789ad..c39acc8db3 100644 --- a/meson.build +++ b/meson.build @@ -10,11 +10,14 @@ project('gtk+-3.0', 'c', gnome = import('gnome') add_global_arguments('-DG_LOG_USE_STRUCTURED=1', language: 'c') +add_global_arguments('-DG_ENABLE_DEBUG', language: 'c') +add_global_arguments('-DG_ENABLE_CONSISTENCY_CHECKS', language: 'c') gtk_version = meson.project_version().split('.') gtk_major_version = gtk_version[0] gtk_minor_version = gtk_version[1] gtk_micro_version = gtk_version[2] +gtk_interface_age = 0 gtk_binary_age = 100 * gtk_minor_version.to_int() + gtk_micro_version.to_int() gtk_api_version = '@0@.0'.format(gtk_major_version) @@ -26,6 +29,10 @@ broadway_enabled = get_option('enable-broadway-backend') mkmarshal = find_program('build_marshal.py') glib_marshal = find_program('glib-genmarshal') +mkenum = find_program('build_enum.py') +perl = find_program('perl') +glib_mkenums = find_program('glib-mkenums') + cc = meson.get_compiler('c') cdata = configuration_data() @@ -33,6 +40,11 @@ cdata.set('PACKAGE_VERSION', '"'+meson.project_version()+'"') cdata.set('GTK_LOCALEDIR', '"'+get_option('localedir')+'"') cdata.set('GTK_DATADIR', '"'+get_option('datadir')+'"') cdata.set('GTK_LIBDIR', '"'+get_option('libdir')+'"') +cdata.set('GTK_MAJOR_VERSION', 'aaa') +cdata.set('GTK_MINOR_VERSION', gtk_minor_version) +cdata.set('GTK_MICRO_VERSION', gtk_micro_version) +cdata.set('GTK_BINARY_AGE', gtk_binary_age) +cdata.set('GTK_INTERFACE_AGE', gtk_interface_age) check_headers = [ ['HAVE_CRT_EXTERNS_H', 'crt/externs.h'], ['HAVE_DLFCN_H', 'dlfcn.h'], @@ -121,43 +133,56 @@ cdata.set('GETTEXT_PACKAGE', '"gtk-3.0"') cdata.set('HAVE_XSYNC', 1) cdata.set('XINPUT_2', 1) cdata.set('XINPUT_2_2', 1) +cdata.set('HAVE_XKB', 1) +cdata.set('HAVE_XDAMAGE', 1) +cdata.set('HAVE_XCURSOR', 1) +cdata.set('HAVE_XGENERICEVENTS', 1) confinc = include_directories('.') gdkinc = include_directories('gdk') +gtkinc = include_directories('gtk') -x11_dep = dependency('x11') -xrender_dep = dependency('xrender') -xi_dep = dependency('xi') -xext_dep = dependency('xext') -glib_dep = dependency('glib-2.0') -giounix_dep = dependency('gio-unix-2.0', required : false) -pango_dep = dependency('pango') -pangoft_dep = dependency('pangoft2') -cairo_dep = dependency('cairo') +x11_dep = dependency('x11') +xrender_dep = dependency('xrender') +xi_dep = dependency('xi') +xext_dep = dependency('xext') +xcursor_dep = dependency('xcursor') +xdamage_dep = dependency('xdamage') +xfixes_dep = dependency('xfixes') +xcomposite_dep = dependency('xcomposite') +glib_dep = dependency('glib-2.0', version: '>= 2.49.4') +giounix_dep = dependency('gio-unix-2.0', required : false) +pango_dep = dependency('pango', version: '>=1.37.3') +pangoft_dep = dependency('pangoft2') +cairo_dep = dependency('cairo') pangocairo_dep = dependency('pangocairo') -cairogobj_dep = dependency('cairo-gobject') -pixbuf_dep = dependency('gdk-pixbuf-2.0') -epoxy_dep = dependency('epoxy') -atk_dep = dependency('atk') -atkbridge_dep = dependency('atk-bridge-2.0') -gmodule_dep = dependency('gmodule-2.0') -mlib = cc.find_library('m') -shmlib = cc.find_library('rt') +cairogobj_dep = dependency('cairo-gobject') +pixbuf_dep = dependency('gdk-pixbuf-2.0', version: '>= 2.30.0') +epoxy_dep = dependency('epoxy') +atk_dep = dependency('atk', version: '>= 2.15.1') +atkbridge_dep = dependency('atk-bridge-2.0') +gmodule_dep = dependency('gmodule-2.0') +mlib = cc.find_library('m') +shmlib = cc.find_library('rt') fontconfig_dep = dependency('fontconfig') -xkbdep = dependency('xkbcommon') -wlclientdep = dependency('wayland-client') -wlprotocolsdep = dependency('wayland-protocols') -wlcursordep = dependency('wayland-cursor') -wlegldep = dependency('wayland-egl') +xkbdep = dependency('xkbcommon') +wlclientdep = dependency('wayland-client') +wlprotocolsdep = dependency('wayland-protocols', version: '>= 1.7') +wlcursordep = dependency('wayland-cursor') +wlegldep = dependency('wayland-egl') if giounix_dep.found() cdata.set('HAVE_GIO_UNIX', 1) endif -configure_file(input: 'config.h.meson', output: 'config.h', configuration: cdata) +configure_file( + input : 'config.h.meson', + output: 'config.h', + configuration: cdata +) subdir('gdk') subdir('gtk') subdir('demos') -subdir('tests') -subdir('testsuite') +# subdir('tests') +# subdir('testsuite')