Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8cae908521 |
@@ -17,7 +17,7 @@ license fees or royalties.
|
||||
|
||||
The official download location
|
||||
|
||||
- https://download.gnome.org/sources/gtk/
|
||||
- https://download.gnome.org/sources/gtk+
|
||||
|
||||
The official web site
|
||||
|
||||
@@ -49,11 +49,13 @@ In order to build GTK you will need:
|
||||
You will also need various dependencies, based on the platform you are
|
||||
building for:
|
||||
|
||||
- [GLib](https://download.gnome.org/sources/glib/)
|
||||
- [GdkPixbuf](https://download.gnome.org/sources/gdk-pixbuf/)
|
||||
- [GObject-Introspection](https://download.gnome.org/sources/gobject-introspection/)
|
||||
- [Cairo](https://www.cairographics.org/)
|
||||
- [Pango](https://download.gnome.org/sources/pango/)
|
||||
- a C++ compiler
|
||||
- [GLib](https://download.gnome.org/sources/glib)
|
||||
- [GdkPixbuf](https://download.gnome.org/sources/gdk-pixbuf)
|
||||
- [GObject-Introspection](https://download.gnome.org/sources/gobject-introspection)
|
||||
- [Cairo](https://www.cairographics.org)
|
||||
- cairo-gobject
|
||||
- [Pango](https://download.gnome.org/sources/pango)
|
||||
- [Epoxy](https://github.com/anholt/libepoxy)
|
||||
- [Graphene](https://github.com/ebassi/graphene)
|
||||
- [Xkb-common](https://github.com/xkbcommon/libxkbcommon)
|
||||
@@ -77,6 +79,12 @@ If you are building the Wayland backend, you will also need:
|
||||
- Wayland-cursor
|
||||
- Wayland-EGL
|
||||
|
||||
If you are building the developer documentation, you will also need:
|
||||
|
||||
- gtk-doc
|
||||
- the DocBook xsl stylesheets
|
||||
- pandoc
|
||||
|
||||
Once you have all the necessary dependencies, you can build GTK by using
|
||||
Meson:
|
||||
|
||||
|
||||
@@ -1,21 +1,20 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import os
|
||||
import sys
|
||||
import subprocess
|
||||
|
||||
if 'DESTDIR' not in os.environ:
|
||||
gtk_api_version = sys.argv[1]
|
||||
gtk_abi_version = sys.argv[2]
|
||||
|
||||
import os
|
||||
import sys
|
||||
import subprocess
|
||||
|
||||
if 'DESTDIR' not in os.environ:
|
||||
gtk_api_version = sys.argv[1]
|
||||
gtk_abi_version = sys.argv[2]
|
||||
gtk_libdir = sys.argv[3]
|
||||
gtk_datadir = sys.argv[4]
|
||||
gtk_bindir = sys.argv[5]
|
||||
|
||||
gtk_moduledir = os.path.join(gtk_libdir, 'gtk-' + gtk_api_version, gtk_abi_version)
|
||||
gtk_printmodule_dir = os.path.join(gtk_moduledir, 'printbackends')
|
||||
gtk_immodule_dir = os.path.join(gtk_moduledir, 'immodules')
|
||||
|
||||
print('Compiling GSettings schemas...')
|
||||
|
||||
gtk_moduledir = os.path.join(gtk_libdir, 'gtk-' + gtk_api_version, gtk_abi_version)
|
||||
gtk_printmodule_dir = os.path.join(gtk_moduledir, 'printbackends')
|
||||
gtk_immodule_dir = os.path.join(gtk_moduledir, 'immodules')
|
||||
|
||||
print('Compiling GSettings schemas...')
|
||||
glib_compile_schemas = subprocess.check_output(['pkg-config',
|
||||
'--variable=glib_compile_schemas',
|
||||
'gio-2.0']).strip()
|
||||
@@ -23,14 +22,13 @@ if 'DESTDIR' not in os.environ:
|
||||
# pkg-config variables only available since GLib 2.62.0.
|
||||
glib_compile_schemas = 'glib-compile-schemas'
|
||||
subprocess.call([glib_compile_schemas,
|
||||
os.path.join(gtk_datadir, 'glib-2.0', 'schemas')])
|
||||
|
||||
print('Updating icon cache...')
|
||||
update_icon_cache = os.path.join(gtk_bindir, 'gtk4-update-icon-cache')
|
||||
subprocess.call([update_icon_cache, '-q', '-t' ,'-f',
|
||||
os.path.join(gtk_datadir, 'icons', 'hicolor')])
|
||||
|
||||
print('Updating module cache for print backends...')
|
||||
os.path.join(gtk_datadir, 'glib-2.0', 'schemas')])
|
||||
|
||||
print('Updating icon cache...')
|
||||
subprocess.call(['gtk4-update-icon-cache', '-q', '-t' ,'-f',
|
||||
os.path.join(gtk_datadir, 'icons', 'hicolor')])
|
||||
|
||||
print('Updating module cache for print backends...')
|
||||
os.makedirs(gtk_printmodule_dir, exist_ok=True)
|
||||
gio_querymodules = subprocess.check_output(['pkg-config',
|
||||
'--variable=gio_querymodules',
|
||||
@@ -39,7 +37,7 @@ if 'DESTDIR' not in os.environ:
|
||||
# pkg-config variables only available since GLib 2.62.0.
|
||||
gio_querymodules = 'gio-querymodules'
|
||||
subprocess.call([gio_querymodules, gtk_printmodule_dir])
|
||||
|
||||
print('Updating module cache for input methods...')
|
||||
|
||||
print('Updating module cache for input methods...')
|
||||
os.makedirs(gtk_immodule_dir, exist_ok=True)
|
||||
subprocess.call([gio_querymodules, gtk_immodule_dir])
|
||||
|
||||
@@ -19,8 +19,8 @@ gtk_assistant_page_get_type
|
||||
gtk_at_context_get_type
|
||||
gtk_bin_layout_get_type
|
||||
gtk_bitset_get_type
|
||||
gtk_expression_get_type
|
||||
gtk_bookmark_list_get_type
|
||||
gtk_bool_filter_get_type
|
||||
gtk_box_get_type
|
||||
gtk_box_layout_get_type
|
||||
gtk_buildable_get_type
|
||||
@@ -46,7 +46,6 @@ gtk_cell_renderer_spinner_get_type
|
||||
gtk_cell_renderer_text_get_type
|
||||
gtk_cell_renderer_toggle_get_type
|
||||
gtk_cell_view_get_type
|
||||
gtk_center_box_get_type
|
||||
gtk_center_layout_get_type
|
||||
gtk_check_button_get_type
|
||||
gtk_closure_expression_get_type
|
||||
@@ -66,16 +65,14 @@ gtk_constraint_target_get_type
|
||||
gtk_css_provider_get_type
|
||||
gtk_custom_filter_get_type
|
||||
gtk_custom_sorter_get_type
|
||||
gtk_custom_layout_get_type
|
||||
gtk_dialog_get_type
|
||||
gtk_directory_list_get_type
|
||||
gtk_drag_icon_get_type
|
||||
gtk_drag_source_get_type
|
||||
gtk_drawing_area_get_type
|
||||
gtk_drop_controller_motion_get_type
|
||||
gtk_drop_down_get_type
|
||||
gtk_drop_target_async_get_type
|
||||
gtk_drop_target_get_type
|
||||
gtk_drop_target_async_get_type
|
||||
gtk_drop_down_get_type
|
||||
gtk_editable_get_type
|
||||
gtk_editable_label_get_type
|
||||
gtk_emoji_chooser_get_type
|
||||
@@ -90,7 +87,6 @@ gtk_event_controller_motion_get_type
|
||||
gtk_event_controller_scroll_get_type
|
||||
gtk_every_filter_get_type
|
||||
gtk_expander_get_type
|
||||
gtk_expression_get_type
|
||||
gtk_file_chooser_dialog_get_type
|
||||
gtk_file_chooser_get_type
|
||||
gtk_file_chooser_native_get_type
|
||||
@@ -254,7 +250,6 @@ gtk_video_get_type
|
||||
gtk_viewport_get_type
|
||||
gtk_volume_button_get_type
|
||||
gtk_widget_get_type
|
||||
gtk_widget_paintable_get_type
|
||||
gtk_window_get_type
|
||||
gtk_window_controls_get_type
|
||||
gtk_window_group_get_type
|
||||
|
||||
@@ -119,18 +119,21 @@ around or to activate a widget that does not currently have the focus.
|
||||
|
||||
GTK has traditionally supported different kinds of shortcuts:
|
||||
|
||||
- Accelerators are any other shortcuts that can be activated regardless
|
||||
of where the focus is, and typically trigger global actions, such as
|
||||
Ctrl-Q to quit an application.
|
||||
- Mnemonics are usually triggered using Alt as a modifier for a letter.
|
||||
They are used in places where a label is associated with a control,
|
||||
and are indicated by underlining the letter in the label. As a special
|
||||
case, inside menus (i.e. inside #GtkPopoverMenu), mnemonics can be
|
||||
triggered without the modifier.
|
||||
- Key bindings are specific to individual widgets, such as Ctrl-C or
|
||||
Ctrl-V in an entry copy to or paste from the clipboard. They are only
|
||||
triggered when the widget has focus.
|
||||
|
||||
Accelerators
|
||||
: Accelerators are any other shortcuts that can be activated regardless
|
||||
of where the focus is, and typically trigger global actions, such as
|
||||
Ctrl-Q to quit an application.
|
||||
Mnmemonics
|
||||
: Mnemonics are usually triggered using Alt as a modifier for a letter.
|
||||
They are used in places where a label is associated with a control,
|
||||
and are indicated by underlining the letter in the label. As a special
|
||||
case, inside menus (i.e. inside #GtkPopoverMenu), mnemonics can be
|
||||
triggered without the modifier.
|
||||
Key bindings
|
||||
: Key bindings are specific to individual widgets, such as Ctrl-C or
|
||||
Ctrl-V in an entry copy to or paste from the clipboard. They are only
|
||||
triggered when the widget has focus.
|
||||
|
||||
GTK handles accelerators and mnemonics in a global scope, during the
|
||||
capture phase, and key bindings locally, during the target phase.
|
||||
|
||||
|
||||
@@ -1157,11 +1157,6 @@ shows a #GtkFileChooserNative dialog when clicked; once the file selection
|
||||
has completed, you can update the label of the #GtkButton with the selected
|
||||
file.
|
||||
|
||||
### Adapt to changed GtkSettings properties
|
||||
|
||||
In GTK 3 the #GtkSettings:gtk-cursor-aspect-ratio property of #GtkSettings was
|
||||
a float. In GTK 4 this has been changed to a double.
|
||||
|
||||
## Changes to consider after the switch
|
||||
|
||||
GTK 4 has a number of new features that you may want to take
|
||||
|
||||
@@ -97,11 +97,11 @@ the question you have, this list is a good place to start.
|
||||
#define N_(x) x
|
||||
#define C_(ctx,x) pgettext (ctx, x)
|
||||
|
||||
You use `N_()` (N stands for no-op) to mark a string for translation in
|
||||
You use N_() (N stands for no-op) to mark a string for translation in
|
||||
a location where a function call to gettext() is not allowed, such as
|
||||
in an array initializer. You eventually have to call gettext() on the
|
||||
string to actually fetch the translation. `_()` both marks the string for
|
||||
translation and actually translates it. The `C_()` macro (C stands for
|
||||
string to actually fetch the translation. _() both marks the string for
|
||||
translation and actually translates it. The C_() macro (C stands for
|
||||
context) adds an additional context to the string that is marked for
|
||||
translation, which can help to disambiguate short strings that might
|
||||
need different translations in different parts of your program.
|
||||
@@ -190,7 +190,7 @@ the question you have, this list is a good place to start.
|
||||
encode string literals in UTF-8 by using octal or hexadecimal escapes
|
||||
like `\212` or `\xa8` to encode each byte. This is portable, but
|
||||
modifying the escaped strings is not very convenient. Be careful when
|
||||
mixing hexadecimal escapes with ordinary text; `"\xa8abcd"` is a string
|
||||
mixing hexadecimal escapes with ordinary text; `"\xa8abcd" is a string
|
||||
of length 1 !
|
||||
|
||||
- Runtime conversion
|
||||
|
||||
@@ -210,6 +210,8 @@ gdk_vulkan_strerror (VkResult result)
|
||||
return "An unknown error has occurred; either the application has provided invalid input, or an implementation failure has occurred.";
|
||||
#endif
|
||||
#if VK_HEADER_VERSION >= 135
|
||||
case VK_ERROR_INCOMPATIBLE_VERSION_KHR:
|
||||
return "Acceleration structure serialized with version as the version information is not compatible with device.";
|
||||
case VK_THREAD_IDLE_KHR:
|
||||
return "A deferred operation is not complete but there is currently no work for this thread to do at the time of this call.";
|
||||
case VK_THREAD_DONE_KHR:
|
||||
|
||||
+14
-7
@@ -3839,7 +3839,6 @@ add_offscreen_ops (GskGLRenderer *self,
|
||||
int filter;
|
||||
GskTextureKey key;
|
||||
int cached_id;
|
||||
graphene_rect_t viewport;
|
||||
|
||||
if (node_is_invisible (child_node))
|
||||
{
|
||||
@@ -3925,19 +3924,27 @@ add_offscreen_ops (GskGLRenderer *self,
|
||||
render_target);
|
||||
}
|
||||
|
||||
viewport = GRAPHENE_RECT_INIT (bounds->origin.x * scale_x,
|
||||
bounds->origin.y * scale_y,
|
||||
width, height);
|
||||
init_projection_matrix (&item_proj,
|
||||
&GRAPHENE_RECT_INIT (
|
||||
bounds->origin.x * scale_x,
|
||||
bounds->origin.y * scale_y,
|
||||
width, height
|
||||
));
|
||||
|
||||
init_projection_matrix (&item_proj, &viewport);
|
||||
prev_render_target = ops_set_render_target (builder, render_target);
|
||||
/* Clear since we use this rendertarget for the first time */
|
||||
ops_begin (builder, OP_CLEAR);
|
||||
prev_projection = ops_set_projection (builder, &item_proj);
|
||||
ops_set_modelview (builder, gsk_transform_scale (NULL, scale_x, scale_y));
|
||||
prev_viewport = ops_set_viewport (builder, &viewport);
|
||||
prev_viewport = ops_set_viewport (builder,
|
||||
&GRAPHENE_RECT_INIT (bounds->origin.x * scale_x,
|
||||
bounds->origin.y * scale_y,
|
||||
width, height));
|
||||
if (flags & RESET_CLIP)
|
||||
ops_push_clip (builder, &GSK_ROUNDED_RECT_INIT_FROM_RECT (viewport));
|
||||
ops_push_clip (builder,
|
||||
&GSK_ROUNDED_RECT_INIT (bounds->origin.x * scale_x,
|
||||
bounds->origin.y * scale_y,
|
||||
width, height));
|
||||
|
||||
builder->dx = 0;
|
||||
builder->dy = 0;
|
||||
|
||||
@@ -7,16 +7,6 @@
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define GSK_ROUNDED_RECT_INIT_FROM_RECT(_r) \
|
||||
(GskRoundedRect) { .bounds = _r, \
|
||||
.corner = { \
|
||||
GRAPHENE_SIZE_INIT(0, 0),\
|
||||
GRAPHENE_SIZE_INIT(0, 0),\
|
||||
GRAPHENE_SIZE_INIT(0, 0),\
|
||||
GRAPHENE_SIZE_INIT(0, 0),\
|
||||
}}
|
||||
|
||||
|
||||
gboolean gsk_rounded_rect_is_circular (const GskRoundedRect *self);
|
||||
|
||||
void gsk_rounded_rect_path (const GskRoundedRect *self,
|
||||
|
||||
+2
-10
@@ -133,8 +133,8 @@
|
||||
* }
|
||||
* ]|
|
||||
*
|
||||
* Finally, use gtk_editable_delegate_set_property() in your `set_property`
|
||||
* function (and similar for `get_property`), to set the editable properties:
|
||||
* Finally, use gtk_editable_delegate_set_property() in your set_property
|
||||
* function (and similar for get_property), to set the editable properties:
|
||||
*
|
||||
* |[
|
||||
* ...
|
||||
@@ -144,14 +144,6 @@
|
||||
* switch (prop_id)
|
||||
* ...
|
||||
* ]|
|
||||
*
|
||||
* It is important to note that if you create a GtkEditable that uses a delegate,
|
||||
* the low level #GtkEditable::insert-text and #GtkEditable::delete-text signals
|
||||
* will be propagated from the "wrapper" editable to the delegate, but they will
|
||||
* not be propagated from the delegate to the "wrapper" editable, as they would
|
||||
* cause an infinite recursion. If you wish to connect to the #GtkEditable::insert-text
|
||||
* and #GtkEditable::delete-text signals, you will need to connect to them on
|
||||
* the delegate obtained via gtk_editable_get_delegate().
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
@@ -135,9 +135,6 @@ gtk_password_entry_buffer_real_deleted_text (GtkEntryBuffer *buffer,
|
||||
memmove (self->text + start, self->text + end, self->text_bytes + 1 - end);
|
||||
self->text_chars -= n_chars;
|
||||
self->text_bytes -= (end - start);
|
||||
|
||||
g_object_notify (G_OBJECT (buffer), "text");
|
||||
g_object_notify (G_OBJECT (buffer), "length");
|
||||
}
|
||||
|
||||
static guint
|
||||
|
||||
+5
-5
@@ -386,11 +386,11 @@ gtk_settings_class_init (GtkSettingsClass *class)
|
||||
g_assert (result == PROP_SPLIT_CURSOR);
|
||||
|
||||
result = settings_install_property_parser (class,
|
||||
g_param_spec_double ("gtk-cursor-aspect-ratio",
|
||||
P_("Cursor Aspect Ratio"),
|
||||
P_("The aspect ratio of the text caret"),
|
||||
0.0, 1.0, 0.04,
|
||||
GTK_PARAM_READWRITE));
|
||||
g_param_spec_float ("gtk-cursor-aspect-ratio",
|
||||
P_("Cursor Aspect Ratio"),
|
||||
P_("The aspect ratio of the text caret"),
|
||||
0.0, 1.0, 0.04,
|
||||
GTK_PARAM_READWRITE));
|
||||
g_assert (result == PROP_CURSOR_ASPECT_RATIO);
|
||||
|
||||
result = settings_install_property_parser (class,
|
||||
|
||||
@@ -969,7 +969,7 @@ draw_insertion_cursor (GtkStyleContext *context,
|
||||
double x,
|
||||
double y,
|
||||
double height,
|
||||
double aspect_ratio,
|
||||
float aspect_ratio,
|
||||
gboolean is_primary,
|
||||
PangoDirection direction,
|
||||
gboolean draw_arrow)
|
||||
@@ -1032,7 +1032,7 @@ draw_insertion_cursor (GtkStyleContext *context,
|
||||
|
||||
static void
|
||||
get_insertion_cursor_bounds (double height,
|
||||
double aspect_ratio,
|
||||
float aspect_ratio,
|
||||
PangoDirection direction,
|
||||
gboolean draw_arrow,
|
||||
graphene_rect_t *bounds)
|
||||
@@ -1073,7 +1073,7 @@ static void
|
||||
snapshot_insertion_cursor (GtkSnapshot *snapshot,
|
||||
GtkStyleContext *context,
|
||||
double height,
|
||||
double aspect_ratio,
|
||||
float aspect_ratio,
|
||||
gboolean is_primary,
|
||||
PangoDirection direction,
|
||||
gboolean draw_arrow)
|
||||
@@ -1136,7 +1136,7 @@ gtk_snapshot_render_insertion_cursor (GtkSnapshot *snapshot,
|
||||
{
|
||||
GtkStyleContextPrivate *priv = gtk_style_context_get_instance_private (context);
|
||||
gboolean split_cursor;
|
||||
double aspect_ratio;
|
||||
float aspect_ratio;
|
||||
PangoRectangle strong_pos, weak_pos;
|
||||
PangoRectangle *cursor1, *cursor2;
|
||||
GdkSeat *seat;
|
||||
|
||||
+5
-9
@@ -9504,16 +9504,12 @@ gtk_widget_remove_mnemonic_label (GtkWidget *widget,
|
||||
|
||||
if (new_list != NULL && new_list->data != NULL)
|
||||
{
|
||||
GtkAccessibleRelation relation = GTK_ACCESSIBLE_RELATION_LABELLED_BY;
|
||||
GValue value = G_VALUE_INIT;
|
||||
GList *list;
|
||||
|
||||
/* The ATContext takes ownership of the GList returned by list_mnemonic_labels(),
|
||||
* so we don't need to free it
|
||||
*/
|
||||
gtk_accessible_relation_init_value (relation, &value);
|
||||
g_value_set_pointer (&value, gtk_widget_list_mnemonic_labels (widget));
|
||||
gtk_accessible_update_relation_value (GTK_ACCESSIBLE (widget), 1, &relation, &value);
|
||||
g_value_unset (&value);
|
||||
list = gtk_widget_list_mnemonic_labels (widget);
|
||||
gtk_accessible_update_relation (GTK_ACCESSIBLE (widget),
|
||||
GTK_ACCESSIBLE_RELATION_LABELLED_BY, list,
|
||||
-1);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -536,8 +536,7 @@ button {
|
||||
transition: $button_transition;
|
||||
transition-duration: 500ms;
|
||||
}
|
||||
&:active,
|
||||
&:checked {
|
||||
&:active {
|
||||
@include button(undecorated-active);
|
||||
transition: $button_transition;
|
||||
}
|
||||
@@ -1397,10 +1396,9 @@ windowcontrols {
|
||||
min-height: 0;
|
||||
&:hover {
|
||||
//special case hover colors inside a headerbar
|
||||
@include button(undecorated-hover,$c:darken($headerbar_bg_color,10%));
|
||||
@include button(undecorated-hover,$c:$headerbar_bg_color);
|
||||
}
|
||||
&:active,
|
||||
&:checked { @include button(undecorated-active,$c:darken($headerbar_bg_color,10%)); }
|
||||
&:active { @include button(undecorated-active,$c:$headerbar_bg_color); }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -419,7 +419,7 @@
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
@if $variant == 'light' {
|
||||
background-color: darken($c,14%);
|
||||
background-color: darken($c,26%);
|
||||
}
|
||||
@else {
|
||||
background-color: darken($c,10%);
|
||||
@@ -431,7 +431,7 @@
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
@if $variant == 'light' {
|
||||
background-color: darken($c,30%);
|
||||
background-color: darken($c,40%);
|
||||
}
|
||||
@else {
|
||||
background-color: darken($c,14%);
|
||||
|
||||
@@ -660,7 +660,6 @@ property_has_been_removed (Element *element,
|
||||
{ "GtkBox", "pack-type", PROP_KIND_PACKING },
|
||||
{ "GtkHeaderBar", "position", PROP_KIND_PACKING },
|
||||
{ "GtkPopoverMenu", "position",PROP_KIND_PACKING },
|
||||
{ "GtkCheckButton", "draw-indicator", PROP_KIND_OBJECT },
|
||||
};
|
||||
char *canonical_name;
|
||||
gboolean found;
|
||||
|
||||
+2
-5
@@ -127,7 +127,6 @@ gtk_libdir = join_paths(gtk_prefix, get_option('libdir'))
|
||||
gtk_datadir = join_paths(gtk_prefix, get_option('datadir'))
|
||||
gtk_localedir = join_paths(gtk_prefix, get_option('localedir'))
|
||||
gtk_sysconfdir = join_paths(gtk_prefix, get_option('sysconfdir'))
|
||||
gtk_bindir = join_paths(gtk_prefix, get_option('bindir'))
|
||||
gtk_applicationsdir = join_paths(gtk_datadir, 'applications')
|
||||
gtk_schemasdir = join_paths(gtk_datadir, 'glib-2.0/schemas')
|
||||
gtk_appdatadir = join_paths(gtk_datadir, 'metainfo')
|
||||
@@ -374,8 +373,7 @@ endif
|
||||
pangocairo_dep = dependency('pangocairo', version: pango_req,
|
||||
fallback : ['pango', 'libpangocairo_dep'])
|
||||
pixbuf_dep = dependency('gdk-pixbuf-2.0', version: gdk_pixbuf_req,
|
||||
fallback : ['gdk-pixbuf', 'gdkpixbuf_dep'],
|
||||
default_options: ['man=false'])
|
||||
fallback : ['gdk-pixbuf', 'gdkpixbuf_dep'])
|
||||
epoxy_dep = dependency('epoxy', version: epoxy_req,
|
||||
fallback: ['libepoxy', 'libepoxy_dep'])
|
||||
harfbuzz_dep = dependency('harfbuzz', version: '>= 0.9', required: false,
|
||||
@@ -789,8 +787,7 @@ if not meson.is_cross_build()
|
||||
gtk_api_version,
|
||||
gtk_binary_version,
|
||||
gtk_libdir,
|
||||
gtk_datadir,
|
||||
gtk_bindir)
|
||||
gtk_datadir)
|
||||
else
|
||||
message('Not executing post-install steps automatically when cross compiling')
|
||||
endif
|
||||
|
||||
@@ -16,6 +16,8 @@ endif
|
||||
printbackends_subdir = 'gtk-4.0/@0@/printbackends'.format(gtk_binary_version)
|
||||
printbackends_install_dir = join_paths(get_option('libdir'), printbackends_subdir)
|
||||
|
||||
cdata.set_quoted('GTK_PRINT_BACKENDS', ','.join(print_backends))
|
||||
|
||||
printbackends_args = [
|
||||
'-DGTK_COMPILATION',
|
||||
'-DGTK_DISABLE_DEPRECATION_WARNINGS',
|
||||
@@ -75,6 +77,3 @@ shared_module('printbackend-file',
|
||||
install_dir: printbackends_install_dir,
|
||||
install: true,
|
||||
)
|
||||
|
||||
# Store the print backends in the config.h
|
||||
cdata.set_quoted('GTK_PRINT_BACKENDS', ','.join(print_backends))
|
||||
|
||||
+438
-448
File diff suppressed because it is too large
Load Diff
+3014
-4358
File diff suppressed because it is too large
Load Diff
+802
-1626
File diff suppressed because it is too large
Load Diff
@@ -1,17 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<requires lib="gtk" version="4.0"/>
|
||||
<object class="GtkWindow" id="window1">
|
||||
<property name="child">
|
||||
<object class="GtkBox" id="box1">
|
||||
<property name="orientation">GTK_ORIENTATION_VERTICAL</property>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="checkbutton1">
|
||||
<property name="hexpand">1</property>
|
||||
<property name="label">Check</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</property>
|
||||
</object>
|
||||
</interface>
|
||||
@@ -1,19 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<object class="GtkWindow" id="window1">
|
||||
<child>
|
||||
<object class="GtkBox" id="box1">
|
||||
<property name="orientation">GTK_ORIENTATION_VERTICAL</property>
|
||||
<property name="visible">1</property>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="checkbutton1">
|
||||
<property name="draw_indicator">1</property>
|
||||
<property name="hexpand">1</property>
|
||||
<property name="label">Check</property>
|
||||
<property name="visible">1</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
Reference in New Issue
Block a user