Compare commits
87 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f2e45bbc87 | |||
| 9965cfbc3b | |||
| 951b448e90 | |||
| 51ad2a55a8 | |||
| e50209a535 | |||
| d6430995ad | |||
| cea15fc63e | |||
| f99fbab24f | |||
| 6acd4361ab | |||
| 05f488011a | |||
| ef7679235a | |||
| d65f9b298c | |||
| 5c9de08159 | |||
| f2a297f56d | |||
| a1d9cb8ad6 | |||
| 8da911db81 | |||
| 78f68d7992 | |||
| 8a190b200b | |||
| e72b4ae6e2 | |||
| 9f1f4850fe | |||
| 0b9e5e6db4 | |||
| 2cd5b4df1b | |||
| 57a070fc8d | |||
| ccc6b7165e | |||
| ff330668cf | |||
| 63f9e5453d | |||
| f849823a07 | |||
| 9a2d6d6d88 | |||
| 72c37d566c | |||
| 01c0d5e04b | |||
| 57dd88ee53 | |||
| 8c92c619de | |||
| 78d2002965 | |||
| 25c4acb6d2 | |||
| 0a3dac10c6 | |||
| c9afcd31c2 | |||
| 3565facdaf | |||
| 494cff94d6 | |||
| 17644b12a5 | |||
| 54ff5d8edd | |||
| b18320fe05 | |||
| 0ce60ad214 | |||
| 76642f2bf9 | |||
| fcac150641 | |||
| 4d13c61aaf | |||
| 09bab2b2df | |||
| b44f43e996 | |||
| 52fa641dff | |||
| a3ebc0329d | |||
| 8dc04d3fc8 | |||
| ba64e5588d | |||
| fcdcdb7e78 | |||
| 3d5789a66e | |||
| 59343e4efb | |||
| 41219ae489 | |||
| 7055250692 | |||
| 98f63d09c0 | |||
| 85b9a6f1b0 | |||
| 3353eac289 | |||
| cdc135f11d | |||
| 069ce48ac5 | |||
| 625c7c3d26 | |||
| 4ea2aac561 | |||
| e88e31dde2 | |||
| fb2e67638d | |||
| f11dd83ab5 | |||
| 92804b5b55 | |||
| 87e7ea6080 | |||
| b1945b38e8 | |||
| 13ca3187f2 | |||
| 18fd506360 | |||
| 9faf1a0377 | |||
| 1a9c03449e | |||
| aee214b09d | |||
| dc3003bc4d | |||
| 845f4b1536 | |||
| abbb3a2da6 | |||
| 1a93efecf3 | |||
| 440d56a44f | |||
| f10603e97d | |||
| 9a9257d7be | |||
| 5c10f2b4cd | |||
| ba6a618d44 | |||
| 5fbeea3870 | |||
| 27368a418a | |||
| 676cd1e673 | |||
| d6a4c65bfa |
+8
-8
@@ -24,7 +24,7 @@ stages:
|
||||
variables:
|
||||
COMMON_MESON_FLAGS: "-Dwerror=true -Dcairo:werror=false -Dgi-docgen:werror=false -Dgraphene:werror=false -Dlibepoxy:werror=false -Dlibsass:werror=false -Dpango:werror=false -Dsassc:werror=false -Dgdk-pixbuf:werror=false -Dglib:werror=false -Dlibcloudproviders:werror=false -Dlibpng:werror=false -Dlibtiff:werror=false -Dsysprof:werror=false -Dwayland-protocols:werror=false -Dharfbuzz:werror=false -Dfreetype2:werror=false -Dfontconfig:werror=false -Dfribidi:werror=false -Dlibffi:werror=false -Dlibjpeg-turbo:werror=false -Dmutest:werror=false -Dpixman:werror=false -Dproxy-libintl:werror=false"
|
||||
BACKEND_FLAGS: "-Dx11-backend=true -Dwayland-backend=true -Dbroadway-backend=true"
|
||||
FEATURE_FLAGS: "-Dvulkan=enabled -Dcloudproviders=enabled -Ddemos=false -Dbuild-examples=false -Dbuild-tests=false -Dbuild-testsuite=true"
|
||||
FEATURE_FLAGS: "-Dvulkan=enabled -Dcloudproviders=enabled -Dbuild-demos=false -Dbuild-examples=false -Dbuild-tests=false -Dbuild-testsuite=true"
|
||||
MESON_TEST_TIMEOUT_MULTIPLIER: 3
|
||||
FEDORA_IMAGE: "registry.gitlab.gnome.org/gnome/gtk/fedora:v46"
|
||||
|
||||
@@ -88,22 +88,15 @@ fedora-x86_64:
|
||||
- export PATH="$HOME/.local/bin:$PATH"
|
||||
- meson subprojects download
|
||||
- meson subprojects update --reset
|
||||
- mkdir _install
|
||||
- meson setup
|
||||
--prefix=${CI_PROJECT_DIR}/_install
|
||||
${COMMON_MESON_FLAGS}
|
||||
${EXTRA_MESON_FLAGS}
|
||||
${BACKEND_FLAGS}
|
||||
${FEATURE_FLAGS}
|
||||
_build
|
||||
- meson compile -C _build
|
||||
- meson install -C _build
|
||||
- PKG_CONFIG_PATH=${CI_PROJECT_DIR}/_install/lib64/pkgconfig:${CI_PROJECT_DIR}/_install/share/pkgconfig meson setup _build_hello examples/hello
|
||||
- LD_LIBRARY_PATH=${CI_PROJECT_DIR}/_install/lib64 meson compile -C _build_hello
|
||||
- .gitlab-ci/run-tests.sh _build x11
|
||||
- .gitlab-ci/run-tests.sh _build wayland
|
||||
- .gitlab-ci/run-tests.sh _build wayland_gles
|
||||
- .gitlab-ci/run-tests.sh _build broadway
|
||||
|
||||
release-build:
|
||||
extends: .build-fedora-default
|
||||
@@ -116,13 +109,18 @@ release-build:
|
||||
- export PATH="$HOME/.local/bin:$PATH"
|
||||
- meson subprojects download
|
||||
- meson subprojects update --reset
|
||||
- mkdir _install
|
||||
- meson setup
|
||||
--prefix=${CI_PROJECT_DIR}/_install
|
||||
${COMMON_MESON_FLAGS}
|
||||
${EXTRA_MESON_FLAGS}
|
||||
${BACKEND_FLAGS}
|
||||
${FEATURE_FLAGS}
|
||||
_build
|
||||
- meson compile -C _build
|
||||
- meson install -C _build
|
||||
- PKG_CONFIG_PATH=${CI_PROJECT_DIR}/_install/lib64/pkgconfig:${CI_PROJECT_DIR}/_install/share/pkgconfig meson setup _build_hello examples/hello
|
||||
- LD_LIBRARY_PATH=${CI_PROJECT_DIR}/_install/lib64 meson compile -C _build_hello
|
||||
- .gitlab-ci/run-tests.sh _build x11
|
||||
|
||||
fedora-mingw64:
|
||||
@@ -351,6 +349,8 @@ static-scan:
|
||||
- meson setup
|
||||
${COMMON_MESON_FLAGS}
|
||||
${EXTRA_MESON_FLAGS}
|
||||
${BACKEND_FLAGS}
|
||||
${FEATURE_FLAGS}
|
||||
_scan_build
|
||||
- ninja -C _scan_build scan-build
|
||||
artifacts:
|
||||
|
||||
@@ -69,9 +69,6 @@ case "${backend}" in
|
||||
--no-suite=flaky \
|
||||
--no-suite=gsk-compare-opengl
|
||||
|
||||
# don't let Broadway failures fail the run, for now
|
||||
exit_code=0
|
||||
|
||||
kill ${server}
|
||||
;;
|
||||
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
Overview of Changes in 4.11.3, xx-xx-xxxx
|
||||
=========================================
|
||||
|
||||
Overview of Changes in 4.11.2, 09-05-2023
|
||||
=========================================
|
||||
|
||||
|
||||
@@ -187,7 +187,7 @@
|
||||
"--libdir=/app/lib",
|
||||
"-Dvulkan=disabled",
|
||||
"-Dbuildtype=debugoptimized",
|
||||
"-Dprofile=devel"
|
||||
"-Ddemo-profile=devel"
|
||||
],
|
||||
"sources" : [
|
||||
{
|
||||
|
||||
@@ -116,7 +116,7 @@
|
||||
"--libdir=/app/lib",
|
||||
"-Dvulkan=disabled",
|
||||
"-Dbuildtype=debugoptimized",
|
||||
"-Dprofile=devel"
|
||||
"-Ddemo-profile=devel"
|
||||
],
|
||||
"sources" : [
|
||||
{
|
||||
|
||||
@@ -116,7 +116,7 @@
|
||||
"--libdir=/app/lib",
|
||||
"-Dvulkan=disabled",
|
||||
"-Dbuildtype=debugoptimized",
|
||||
"-Dprofile=devel"
|
||||
"-Ddemo-profile=devel"
|
||||
],
|
||||
"sources" : [
|
||||
{
|
||||
|
||||
@@ -116,7 +116,7 @@
|
||||
"--libdir=/app/lib",
|
||||
"-Dvulkan=disabled",
|
||||
"-Dbuildtype=debugoptimized",
|
||||
"-Dprofile=devel"
|
||||
"-Ddemo-profile=devel"
|
||||
],
|
||||
"sources" : [
|
||||
{
|
||||
|
||||
@@ -50,7 +50,7 @@ update_css_for_blend_mode (GtkCssProvider *provider,
|
||||
blend_mode,
|
||||
blend_mode);
|
||||
|
||||
gtk_css_provider_load_from_data (provider, css, -1);
|
||||
gtk_css_provider_load_from_string (provider, css);
|
||||
|
||||
g_bytes_unref (bytes);
|
||||
g_free (css);
|
||||
|
||||
@@ -70,7 +70,7 @@ set_color (CanvasItem *item,
|
||||
css = g_strdup_printf ("#%s { background: %s; }", name, str);
|
||||
|
||||
provider = gtk_css_provider_new ();
|
||||
gtk_css_provider_load_from_data (provider, css, -1);
|
||||
gtk_css_provider_load_from_string (provider, css);
|
||||
gtk_style_context_add_provider_for_display (gtk_widget_get_display (item->label), GTK_STYLE_PROVIDER (provider), 700);
|
||||
item->provider = GTK_STYLE_PROVIDER (provider);
|
||||
|
||||
@@ -765,7 +765,7 @@ G_GNUC_END_IGNORE_DEPRECATIONS
|
||||
g_string_append_printf (css, ".canvasitem.%s { background: %s; }\n", colors[i], colors[i]);
|
||||
|
||||
provider = gtk_css_provider_new ();
|
||||
gtk_css_provider_load_from_data (provider, css->str, css->len);
|
||||
gtk_css_provider_load_from_string (provider, css->str);
|
||||
gtk_style_context_add_provider_for_display (gdk_display_get_default (),
|
||||
GTK_STYLE_PROVIDER (provider),
|
||||
800);
|
||||
|
||||
@@ -301,7 +301,7 @@ do_fishbowl (GtkWidget *do_widget)
|
||||
if (provider == NULL)
|
||||
{
|
||||
provider = gtk_css_provider_new ();
|
||||
gtk_css_provider_load_from_data (provider, css, -1);
|
||||
gtk_css_provider_load_from_string (provider, css);
|
||||
gtk_style_context_add_provider_for_display (gdk_display_get_default (),
|
||||
GTK_STYLE_PROVIDER (provider),
|
||||
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||
|
||||
@@ -337,7 +337,7 @@ create_gltransition_window (GtkWidget *do_widget)
|
||||
1, 1, 1, 1);
|
||||
|
||||
provider = gtk_css_provider_new ();
|
||||
gtk_css_provider_load_from_data (provider, "button.small { padding: 0; }", -1);
|
||||
gtk_css_provider_load_from_string (provider, "button.small { padding: 0; }");
|
||||
gtk_style_context_add_provider_for_display (gdk_display_get_default (),
|
||||
GTK_STYLE_PROVIDER (provider),
|
||||
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
/* Lists/Settings v2
|
||||
/* Lists/Alternative Settings
|
||||
* #Keywords: GtkListHeaderFactory, GtkSectionModel
|
||||
*
|
||||
* This demo shows a settings viewer for GSettings.
|
||||
* This demo shows an alternative settings viewer for GSettings.
|
||||
*
|
||||
* It demonstrates how to implement support for sections with GtkListView.
|
||||
*
|
||||
* It also shows how to quickly flatten a large tree of items into a list
|
||||
* that can be filtered to find the itmes one is looking for.
|
||||
* that can be filtered to find the items one is looking for.
|
||||
*/
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
@@ -367,7 +367,7 @@ do_listview_ucd (GtkWidget *do_widget)
|
||||
gtk_label_set_width_chars (GTK_LABEL (label), 2);
|
||||
gtk_widget_add_css_class (label, "enormous");
|
||||
provider = gtk_css_provider_new ();
|
||||
gtk_css_provider_load_from_data (provider, "label.enormous { font-size: 80px; }", -1);
|
||||
gtk_css_provider_load_from_string (provider, "label.enormous { font-size: 80px; }");
|
||||
gtk_style_context_add_provider_for_display (gdk_display_get_default (), GTK_STYLE_PROVIDER (provider), 800);
|
||||
gtk_widget_set_hexpand (label, TRUE);
|
||||
gtk_box_append (GTK_BOX (box), label);
|
||||
|
||||
@@ -384,7 +384,7 @@ create_board (GtkWidget *window)
|
||||
"}";
|
||||
|
||||
provider = gtk_css_provider_new ();
|
||||
gtk_css_provider_load_from_data (provider, css, -1);
|
||||
gtk_css_provider_load_from_string (provider, css);
|
||||
gtk_style_context_add_provider_for_display (gdk_display_get_default (),
|
||||
GTK_STYLE_PROVIDER (provider),
|
||||
800);
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
gen_demo_header = find_program('../build-aux/meson/gen-demo-header.py')
|
||||
demo_profile = get_option('profile')
|
||||
demo_profile = get_option('demo-profile')
|
||||
|
||||
demo_conf_h = declare_dependency(
|
||||
sources: custom_target('demo-header',
|
||||
|
||||
@@ -201,7 +201,7 @@ node_editor_application_startup (GApplication *app)
|
||||
|
||||
|
||||
provider = gtk_css_provider_new ();
|
||||
gtk_css_provider_load_from_data (provider, css, -1);
|
||||
gtk_css_provider_load_from_string (provider, css);
|
||||
gtk_style_context_add_provider_for_display (gdk_display_get_default (),
|
||||
GTK_STYLE_PROVIDER (provider),
|
||||
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||
|
||||
@@ -288,7 +288,7 @@ support.
|
||||
If you want to run the testsuite to ensure that your GTK build
|
||||
works, you should enable it with this option.
|
||||
|
||||
### `build-tests`, `build-examples`, `demos`
|
||||
### `build-tests`, `build-examples`, `build-demos`
|
||||
|
||||
By default, GTK will build quite a few tests, examples and demos.
|
||||
While these are useful on a developer system, they are not
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
A trivial example
|
||||
=================
|
||||
|
||||
This is a very minimal example of an app that can be built against GTK.
|
||||
We use this in CI to test that building against the installed GTK works.
|
||||
|
||||
That is why there is a standalone meson.build in this subdirectory.
|
||||
@@ -711,6 +711,8 @@ gdk_texture_set_diff (GdkTexture *self,
|
||||
GdkTexture *previous,
|
||||
cairo_region_t *diff)
|
||||
{
|
||||
g_assert (self->diff_to_previous == NULL);
|
||||
|
||||
self->previous_texture = previous;
|
||||
self->diff_to_previous = diff;
|
||||
g_atomic_pointer_set (&previous->next_texture, self);
|
||||
|
||||
@@ -3089,12 +3089,15 @@ G_GNUC_END_IGNORE_DEPRECATIONS
|
||||
*/
|
||||
signals[XEVENT] =
|
||||
g_signal_new (g_intern_static_string ("xevent"),
|
||||
G_OBJECT_CLASS_TYPE (object_class),
|
||||
G_OBJECT_CLASS_TYPE (object_class),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (GdkX11DisplayClass, xevent),
|
||||
G_STRUCT_OFFSET (GdkX11DisplayClass, xevent),
|
||||
gdk_boolean_handled_accumulator, NULL,
|
||||
_gdk_marshal_BOOLEAN__POINTER,
|
||||
G_TYPE_BOOLEAN, 1, G_TYPE_POINTER);
|
||||
g_signal_set_va_marshaller (signals[XEVENT],
|
||||
G_OBJECT_CLASS_TYPE (object_class),
|
||||
_gdk_marshal_BOOLEAN__POINTERv);
|
||||
|
||||
_gdk_x11_surfaceing_init ();
|
||||
}
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
|
||||
G_DEFINE_TYPE (GskGLCommandQueue, gsk_gl_command_queue, G_TYPE_OBJECT)
|
||||
|
||||
#if 0
|
||||
G_GNUC_UNUSED static inline void
|
||||
print_uniform (GskGLUniformFormat format,
|
||||
guint array_count,
|
||||
@@ -231,6 +232,7 @@ gsk_gl_command_queue_capture_png (GskGLCommandQueue *self,
|
||||
gdk_texture_save_to_png (texture, filename);
|
||||
g_object_unref (texture);
|
||||
}
|
||||
#endif
|
||||
|
||||
static inline gboolean
|
||||
will_ignore_batch (GskGLCommandQueue *self)
|
||||
|
||||
+19
-8
@@ -264,23 +264,20 @@ gsk_gl_driver_dispose (GObject *object)
|
||||
g_clear_object (&self->command_queue);
|
||||
}
|
||||
|
||||
if (self->autorelease_framebuffers->len > 0)
|
||||
if (self->autorelease_framebuffers != NULL &&
|
||||
self->autorelease_framebuffers->len > 0)
|
||||
{
|
||||
glDeleteFramebuffers (self->autorelease_framebuffers->len,
|
||||
(GLuint *)(gpointer)self->autorelease_framebuffers->data);
|
||||
self->autorelease_framebuffers->len = 0;
|
||||
}
|
||||
|
||||
g_clear_pointer (&self->texture_pool, g_array_unref);
|
||||
|
||||
g_assert (!self->textures || g_hash_table_size (self->textures) == 0);
|
||||
g_assert (!self->texture_id_to_key || g_hash_table_size (self->texture_id_to_key) == 0);
|
||||
g_assert (!self->key_to_texture_id|| g_hash_table_size (self->key_to_texture_id) == 0);
|
||||
|
||||
g_clear_object (&self->glyphs_library);
|
||||
g_clear_object (&self->icons_library);
|
||||
g_clear_object (&self->shadows_library);
|
||||
|
||||
g_clear_pointer (&self->texture_pool, g_array_unref);
|
||||
|
||||
g_clear_pointer (&self->autorelease_framebuffers, g_array_unref);
|
||||
g_clear_pointer (&self->key_to_texture_id, g_hash_table_unref);
|
||||
g_clear_pointer (&self->textures, g_hash_table_unref);
|
||||
@@ -474,6 +471,19 @@ gsk_gl_driver_new (GskGLCommandQueue *command_queue,
|
||||
return g_steal_pointer (&self);
|
||||
}
|
||||
|
||||
static void
|
||||
free_driver (GskGLDriver *driver)
|
||||
{
|
||||
g_object_run_dispose (G_OBJECT (driver));
|
||||
g_object_unref (driver);
|
||||
}
|
||||
|
||||
static void
|
||||
display_closed (GdkDisplay *display)
|
||||
{
|
||||
g_object_set_data (G_OBJECT (display), "GSK_GL_DRIVER", NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
* gsk_gl_driver_for_display:
|
||||
* @display: A #GdkDisplay that is known to support GL
|
||||
@@ -519,7 +529,8 @@ gsk_gl_driver_for_display (GdkDisplay *display,
|
||||
g_object_set_data_full (G_OBJECT (display),
|
||||
"GSK_GL_DRIVER",
|
||||
g_object_ref (driver),
|
||||
g_object_unref);
|
||||
(GDestroyNotify) free_driver);
|
||||
g_signal_connect (display, "closed", G_CALLBACK (display_closed), NULL);
|
||||
|
||||
failure:
|
||||
g_clear_object (&command_queue);
|
||||
|
||||
+13
-18
@@ -238,24 +238,6 @@ gsk_renderer_get_surface (GskRenderer *renderer)
|
||||
return priv->surface;
|
||||
}
|
||||
|
||||
/*< private >
|
||||
* gsk_renderer_get_root_node:
|
||||
* @renderer: a `GskRenderer`
|
||||
*
|
||||
* Retrieves the `GskRenderNode` used by @renderer.
|
||||
*
|
||||
* Returns: (transfer none) (nullable): a `GskRenderNode`
|
||||
*/
|
||||
GskRenderNode *
|
||||
gsk_renderer_get_root_node (GskRenderer *renderer)
|
||||
{
|
||||
GskRendererPrivate *priv = gsk_renderer_get_instance_private (renderer);
|
||||
|
||||
g_return_val_if_fail (GSK_IS_RENDERER (renderer), NULL);
|
||||
|
||||
return priv->root_node;
|
||||
}
|
||||
|
||||
/**
|
||||
* gsk_renderer_is_realized: (attributes org.gtk.Method.get_property=realized)
|
||||
* @renderer: a `GskRenderer`
|
||||
@@ -313,6 +295,11 @@ gsk_renderer_realize (GskRenderer *renderer,
|
||||
}
|
||||
|
||||
priv->is_realized = TRUE;
|
||||
|
||||
g_object_notify (G_OBJECT (renderer), "realized");
|
||||
if (surface)
|
||||
g_object_notify (G_OBJECT (renderer), "surface");
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -326,17 +313,25 @@ void
|
||||
gsk_renderer_unrealize (GskRenderer *renderer)
|
||||
{
|
||||
GskRendererPrivate *priv = gsk_renderer_get_instance_private (renderer);
|
||||
gboolean has_surface;
|
||||
|
||||
g_return_if_fail (GSK_IS_RENDERER (renderer));
|
||||
|
||||
if (!priv->is_realized)
|
||||
return;
|
||||
|
||||
has_surface = priv->surface != NULL;
|
||||
|
||||
GSK_RENDERER_GET_CLASS (renderer)->unrealize (renderer);
|
||||
|
||||
g_clear_object (&priv->surface);
|
||||
g_clear_pointer (&priv->prev_node, gsk_render_node_unref);
|
||||
|
||||
priv->is_realized = FALSE;
|
||||
|
||||
g_object_notify (G_OBJECT (renderer), "realized");
|
||||
if (has_surface)
|
||||
g_object_notify (G_OBJECT (renderer), "surface");
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -50,8 +50,6 @@ struct _GskRendererClass
|
||||
const cairo_region_t *invalid);
|
||||
};
|
||||
|
||||
GskRenderNode * gsk_renderer_get_root_node (GskRenderer *renderer);
|
||||
|
||||
GskProfiler * gsk_renderer_get_profiler (GskRenderer *renderer);
|
||||
|
||||
GskDebugFlags gsk_renderer_get_debug_flags (GskRenderer *renderer);
|
||||
|
||||
@@ -689,6 +689,230 @@ gsk_rounded_rect_intersect_with_rect (const GskRoundedRect *self,
|
||||
return GSK_INTERSECTION_NONEMPTY;
|
||||
}
|
||||
|
||||
static inline void
|
||||
rect_corner (const graphene_rect_t *r,
|
||||
unsigned int i,
|
||||
graphene_point_t *p)
|
||||
{
|
||||
switch (i)
|
||||
{
|
||||
case GSK_CORNER_TOP_LEFT:
|
||||
graphene_rect_get_top_left (r, p);
|
||||
break;
|
||||
case GSK_CORNER_TOP_RIGHT:
|
||||
graphene_rect_get_top_right (r, p);
|
||||
break;
|
||||
case GSK_CORNER_BOTTOM_RIGHT:
|
||||
graphene_rect_get_bottom_right (r, p);
|
||||
break;
|
||||
case GSK_CORNER_BOTTOM_LEFT:
|
||||
graphene_rect_get_bottom_left (r, p);
|
||||
break;
|
||||
default:
|
||||
g_assert_not_reached ();
|
||||
}
|
||||
}
|
||||
|
||||
static inline void
|
||||
corner_rect (const GskRoundedRect *s,
|
||||
unsigned int i,
|
||||
graphene_rect_t *r)
|
||||
{
|
||||
switch (i)
|
||||
{
|
||||
case GSK_CORNER_TOP_LEFT:
|
||||
graphene_rect_init (r,
|
||||
s->bounds.origin.x,
|
||||
s->bounds.origin.y,
|
||||
s->corner[i].width,
|
||||
s->corner[i].height);
|
||||
break;
|
||||
case GSK_CORNER_TOP_RIGHT:
|
||||
graphene_rect_init (r,
|
||||
s->bounds.origin.x + s->bounds.size.width - s->corner[i].width,
|
||||
s->bounds.origin.y,
|
||||
s->corner[i].width,
|
||||
s->corner[i].height);
|
||||
break;
|
||||
case GSK_CORNER_BOTTOM_RIGHT:
|
||||
graphene_rect_init (r,
|
||||
s->bounds.origin.x + s->bounds.size.width - s->corner[i].width,
|
||||
s->bounds.origin.y + s->bounds.size.height - s->corner[i].height,
|
||||
s->corner[i].width,
|
||||
s->corner[i].height);
|
||||
break;
|
||||
case GSK_CORNER_BOTTOM_LEFT:
|
||||
graphene_rect_init (r,
|
||||
s->bounds.origin.x,
|
||||
s->bounds.origin.y + s->bounds.size.height - s->corner[i].height,
|
||||
s->corner[i].width,
|
||||
s->corner[i].height);
|
||||
break;
|
||||
default:
|
||||
g_assert_not_reached ();
|
||||
}
|
||||
}
|
||||
|
||||
static inline gboolean
|
||||
point_in_interior (const graphene_point_t *p,
|
||||
const graphene_rect_t *r)
|
||||
{
|
||||
if (graphene_rect_contains_point (r, p))
|
||||
{
|
||||
if (p->x > r->origin.x && p->x < r->origin.x + r->size.width)
|
||||
return TRUE;
|
||||
|
||||
if (p->y > r->origin.y && p->y < r->origin.y + r->size.height)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
GskRoundedRectIntersection
|
||||
gsk_rounded_rect_intersect (const GskRoundedRect *self,
|
||||
const GskRoundedRect *other,
|
||||
GskRoundedRect *result)
|
||||
{
|
||||
if (!graphene_rect_intersection (&self->bounds, &other->bounds, &result->bounds))
|
||||
return GSK_INTERSECTION_EMPTY;
|
||||
|
||||
for (unsigned int i = 0; i < 4; i++)
|
||||
{
|
||||
graphene_point_t p, p1, p2;
|
||||
|
||||
rect_corner (&self->bounds, i, &p1);
|
||||
rect_corner (&other->bounds, i, &p2);
|
||||
rect_corner (&result->bounds, i, &p);
|
||||
|
||||
if (graphene_point_equal (&p, &p1))
|
||||
{
|
||||
if (graphene_point_equal (&p, &p2))
|
||||
{
|
||||
graphene_rect_t c;
|
||||
graphene_rect_t d;
|
||||
|
||||
corner_rect (self, i, &c);
|
||||
corner_rect (other, i, &d);
|
||||
|
||||
/* corners coincide */
|
||||
if (graphene_rect_contains_rect (&c, &d))
|
||||
{
|
||||
graphene_point_t q1, q2;
|
||||
|
||||
rect_corner (&c, (i + 1) % 4, &q1);
|
||||
rect_corner (&c, (i + 3) % 4, &q2);
|
||||
|
||||
if (gsk_rounded_rect_contains_point (other, &q1) &&
|
||||
gsk_rounded_rect_contains_point (other, &q2))
|
||||
result->corner[i] = self->corner[i];
|
||||
else
|
||||
return GSK_INTERSECTION_NOT_REPRESENTABLE;
|
||||
}
|
||||
else if (graphene_rect_contains_rect (&d, &c))
|
||||
{
|
||||
graphene_point_t q1, q2;
|
||||
|
||||
rect_corner (&d, (i + 1) % 4, &q1);
|
||||
rect_corner (&d, (i + 3) % 4, &q2);
|
||||
|
||||
if (gsk_rounded_rect_contains_point (self, &q1) &&
|
||||
gsk_rounded_rect_contains_point (self, &q2))
|
||||
result->corner[i] = other->corner[i];
|
||||
else
|
||||
return GSK_INTERSECTION_NOT_REPRESENTABLE;
|
||||
}
|
||||
else
|
||||
return GSK_INTERSECTION_NOT_REPRESENTABLE;
|
||||
}
|
||||
else
|
||||
{
|
||||
graphene_rect_t c;
|
||||
graphene_point_t q1, q2;
|
||||
|
||||
corner_rect (self, i, &c);
|
||||
|
||||
rect_corner (&c, (i + 1) % 4, &q1);
|
||||
rect_corner (&c, (i + 3) % 4, &q2);
|
||||
|
||||
if (gsk_rounded_rect_contains_point (other, &q1) &&
|
||||
gsk_rounded_rect_contains_point (other, &q2))
|
||||
{
|
||||
if (gsk_rounded_rect_contains_point (other, &p))
|
||||
result->corner[i] = self->corner[i];
|
||||
else
|
||||
#if 1
|
||||
return GSK_INTERSECTION_NEEDS_QUARTIC;
|
||||
#else
|
||||
if (/* no intersection for i */)
|
||||
result->corner[i] = self->corner[i];
|
||||
else
|
||||
return GSK_INTERSECTION_NOT_REPRESENTABLE;
|
||||
#endif
|
||||
}
|
||||
else
|
||||
return GSK_INTERSECTION_NOT_REPRESENTABLE;
|
||||
}
|
||||
}
|
||||
else if (graphene_point_equal (&p, &p2))
|
||||
{
|
||||
graphene_rect_t d;
|
||||
graphene_point_t q1, q2;
|
||||
|
||||
corner_rect (other, i, &d);
|
||||
|
||||
rect_corner (&d, (i + 1) % 4, &q1);
|
||||
rect_corner (&d, (i + 3) % 4, &q2);
|
||||
|
||||
if (gsk_rounded_rect_contains_point (self, &q1) &&
|
||||
gsk_rounded_rect_contains_point (self, &q2))
|
||||
{
|
||||
if (gsk_rounded_rect_contains_point (self, &p))
|
||||
result->corner[i] = other->corner[i];
|
||||
else
|
||||
#if 1
|
||||
return GSK_INTERSECTION_NEEDS_QUARTIC;
|
||||
#else
|
||||
if (/* no intersection for i */
|
||||
result->corner[i] = other->corner[i];
|
||||
else
|
||||
return GSK_INTERSECTION_NOT_REPRESENTABLE;
|
||||
#endif
|
||||
}
|
||||
else
|
||||
return GSK_INTERSECTION_NOT_REPRESENTABLE;
|
||||
}
|
||||
else
|
||||
{
|
||||
graphene_rect_t c, d;
|
||||
|
||||
corner_rect (self, (i + 2) % 4, &c);
|
||||
if (graphene_rect_contains_point (&c, &p) &&
|
||||
!gsk_rounded_rect_contains_point (self, &p))
|
||||
return GSK_INTERSECTION_EMPTY;
|
||||
|
||||
corner_rect (other, (i + 2) % 4, &d);
|
||||
if (graphene_rect_contains_point (&d, &p) &&
|
||||
!gsk_rounded_rect_contains_point (other, &p))
|
||||
return GSK_INTERSECTION_EMPTY;
|
||||
|
||||
for (unsigned int j = 0; j < 4; j++)
|
||||
{
|
||||
corner_rect (self, j, &c);
|
||||
corner_rect (other, j, &d);
|
||||
|
||||
if (point_in_interior (&p, &c) ||
|
||||
point_in_interior (&p, &d))
|
||||
return GSK_INTERSECTION_NOT_REPRESENTABLE;
|
||||
}
|
||||
|
||||
result->corner[i] = (graphene_size_t) { 0, 0 };
|
||||
}
|
||||
}
|
||||
|
||||
return GSK_INTERSECTION_NONEMPTY;
|
||||
}
|
||||
|
||||
static void
|
||||
append_arc (cairo_t *cr, double angle1, double angle2, gboolean negative)
|
||||
{
|
||||
|
||||
@@ -37,13 +37,17 @@ char * gsk_rounded_rect_to_string (const GskRounde
|
||||
typedef enum {
|
||||
GSK_INTERSECTION_EMPTY,
|
||||
GSK_INTERSECTION_NONEMPTY,
|
||||
GSK_INTERSECTION_NOT_REPRESENTABLE
|
||||
GSK_INTERSECTION_NOT_REPRESENTABLE,
|
||||
GSK_INTERSECTION_NEEDS_QUARTIC
|
||||
} GskRoundedRectIntersection;
|
||||
|
||||
GskRoundedRectIntersection gsk_rounded_rect_intersect_with_rect (const GskRoundedRect *self,
|
||||
const graphene_rect_t *rect,
|
||||
GskRoundedRect *result) G_GNUC_PURE;
|
||||
|
||||
GskRoundedRectIntersection gsk_rounded_rect_intersect (const GskRoundedRect *self,
|
||||
const GskRoundedRect *other,
|
||||
GskRoundedRect *result) G_GNUC_PURE;
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
|
||||
@@ -366,6 +366,9 @@ gtk_about_dialog_class_init (GtkAboutDialogClass *klass)
|
||||
_gtk_boolean_handled_accumulator, NULL,
|
||||
_gtk_marshal_BOOLEAN__STRING,
|
||||
G_TYPE_BOOLEAN, 1, G_TYPE_STRING);
|
||||
g_signal_set_va_marshaller (signals[ACTIVATE_LINK],
|
||||
G_TYPE_FROM_CLASS (object_class),
|
||||
_gtk_marshal_BOOLEAN__STRINGv);
|
||||
|
||||
/**
|
||||
* GtkAboutDialog:program-name: (attributes org.gtk.Property.get=gtk_about_dialog_get_program_name org.gtk.Property.set=gtk_about_dialog_set_program_name)
|
||||
|
||||
+43
-10
@@ -88,7 +88,7 @@ gtk_css_value_corner_transition (GtkCssValue *start,
|
||||
|
||||
static void
|
||||
gtk_css_value_corner_print (const GtkCssValue *corner,
|
||||
GString *string)
|
||||
GString *string)
|
||||
{
|
||||
_gtk_css_value_print (corner->x, string);
|
||||
if (!_gtk_css_value_equal (corner->x, corner->y))
|
||||
@@ -109,16 +109,55 @@ static const GtkCssValueClass GTK_CSS_VALUE_CORNER = {
|
||||
gtk_css_value_corner_print
|
||||
};
|
||||
|
||||
static GtkCssValue corner_singletons[] = {
|
||||
{ >K_CSS_VALUE_CORNER, 1, TRUE, NULL, NULL },
|
||||
{ >K_CSS_VALUE_CORNER, 1, TRUE, NULL, NULL },
|
||||
{ >K_CSS_VALUE_CORNER, 1, TRUE, NULL, NULL },
|
||||
{ >K_CSS_VALUE_CORNER, 1, TRUE, NULL, NULL },
|
||||
{ >K_CSS_VALUE_CORNER, 1, TRUE, NULL, NULL },
|
||||
{ >K_CSS_VALUE_CORNER, 1, TRUE, NULL, NULL },
|
||||
{ >K_CSS_VALUE_CORNER, 1, TRUE, NULL, NULL },
|
||||
{ >K_CSS_VALUE_CORNER, 1, TRUE, NULL, NULL },
|
||||
};
|
||||
|
||||
static inline void
|
||||
initialize_corner_singletons (void)
|
||||
{
|
||||
static gboolean initialized = FALSE;
|
||||
|
||||
if (initialized)
|
||||
return;
|
||||
|
||||
for (unsigned int i = 0; i < G_N_ELEMENTS (corner_singletons); i++)
|
||||
{
|
||||
corner_singletons[i].x = gtk_css_dimension_value_new (i, GTK_CSS_PX);
|
||||
corner_singletons[i].y = gtk_css_value_ref (corner_singletons[i].x);
|
||||
}
|
||||
|
||||
initialized = TRUE;
|
||||
}
|
||||
|
||||
GtkCssValue *
|
||||
_gtk_css_corner_value_new (GtkCssValue *x,
|
||||
GtkCssValue *y)
|
||||
{
|
||||
GtkCssValue *result;
|
||||
|
||||
if (_gtk_css_value_equal (x, y))
|
||||
if (x == y &&
|
||||
gtk_css_number_value_get_dimension (x) == GTK_CSS_DIMENSION_LENGTH)
|
||||
{
|
||||
_gtk_css_value_unref (y);
|
||||
return x;
|
||||
initialize_corner_singletons ();
|
||||
|
||||
for (unsigned int i = 0; i < G_N_ELEMENTS (corner_singletons); i++)
|
||||
{
|
||||
if (corner_singletons[i].x == x)
|
||||
{
|
||||
gtk_css_value_unref (x);
|
||||
gtk_css_value_unref (y);
|
||||
|
||||
return gtk_css_value_ref (&corner_singletons[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
result = _gtk_css_value_new (GtkCssValue, >K_CSS_VALUE_CORNER);
|
||||
@@ -162,9 +201,6 @@ double
|
||||
_gtk_css_corner_value_get_x (const GtkCssValue *corner,
|
||||
double one_hundred_percent)
|
||||
{
|
||||
if (corner->class != >K_CSS_VALUE_CORNER)
|
||||
return _gtk_css_number_value_get (corner, one_hundred_percent);
|
||||
|
||||
g_return_val_if_fail (corner != NULL, 0.0);
|
||||
g_return_val_if_fail (corner->class == >K_CSS_VALUE_CORNER, 0.0);
|
||||
|
||||
@@ -175,9 +211,6 @@ double
|
||||
_gtk_css_corner_value_get_y (const GtkCssValue *corner,
|
||||
double one_hundred_percent)
|
||||
{
|
||||
if (corner->class != >K_CSS_VALUE_CORNER)
|
||||
return _gtk_css_number_value_get (corner, one_hundred_percent);
|
||||
|
||||
g_return_val_if_fail (corner != NULL, 0.0);
|
||||
g_return_val_if_fail (corner->class == >K_CSS_VALUE_CORNER, 0.0);
|
||||
|
||||
|
||||
@@ -75,7 +75,8 @@ gtk_css_value_font_features_equal (const GtkCssValue *value1,
|
||||
g_hash_table_iter_init (&iter, value1->features);
|
||||
while (g_hash_table_iter_next (&iter, &name, &val1))
|
||||
{
|
||||
val2 = g_hash_table_lookup (value2->features, name);
|
||||
if (!g_hash_table_lookup_extended (value2->features, name, NULL, &val2))
|
||||
return FALSE;
|
||||
|
||||
if (val1 != val2)
|
||||
return FALSE;
|
||||
@@ -106,11 +107,10 @@ gtk_css_value_font_features_transition (GtkCssValue *start,
|
||||
g_hash_table_iter_init (&iter, start->features);
|
||||
while (g_hash_table_iter_next (&iter, (gpointer *)&name, (gpointer *)&start_val))
|
||||
{
|
||||
end_val = g_hash_table_lookup (end->features, name);
|
||||
if (end_val == NULL)
|
||||
if (!g_hash_table_lookup_extended (end->features, name, NULL, &end_val))
|
||||
transition = start_val;
|
||||
else
|
||||
transition = progress > 0.5 ? start_val : end_val;
|
||||
transition = progress < 0.5 ? start_val : end_val;
|
||||
|
||||
gtk_css_font_features_value_add_feature (result, name, GPOINTER_TO_INT (transition));
|
||||
}
|
||||
@@ -118,8 +118,7 @@ gtk_css_value_font_features_transition (GtkCssValue *start,
|
||||
g_hash_table_iter_init (&iter, end->features);
|
||||
while (g_hash_table_iter_next (&iter, (gpointer *)&name, (gpointer *)&end_val))
|
||||
{
|
||||
start_val = g_hash_table_lookup (start->features, name);
|
||||
if (start_val != NULL)
|
||||
if (g_hash_table_lookup_extended (end->features, name, NULL, &start_val))
|
||||
continue;
|
||||
|
||||
gtk_css_font_features_value_add_feature (result, name, GPOINTER_TO_INT (end_val));
|
||||
|
||||
@@ -64,7 +64,7 @@ gtk_css_value_initial_compute (GtkCssValue *value,
|
||||
case GTK_CSS_PROPERTY_FONT_FAMILY:
|
||||
settings = gtk_style_provider_get_settings (provider);
|
||||
if (settings && gtk_settings_get_font_family (settings) != NULL)
|
||||
return _gtk_css_string_value_new (gtk_settings_get_font_family (settings));
|
||||
return _gtk_css_array_value_new (_gtk_css_string_value_new (gtk_settings_get_font_family (settings)));
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
+6
-6
@@ -564,13 +564,13 @@ gtk_css_node_class_init (GtkCssNodeClass *klass)
|
||||
|
||||
cssnode_signals[STYLE_CHANGED] =
|
||||
g_signal_new (I_("style-changed"),
|
||||
G_TYPE_FROM_CLASS (object_class),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_TYPE_FROM_CLASS (object_class),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (GtkCssNodeClass, style_changed),
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
G_TYPE_NONE, 1,
|
||||
G_TYPE_POINTER);
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
G_TYPE_NONE, 1,
|
||||
G_TYPE_POINTER);
|
||||
|
||||
cssnode_properties[PROP_CLASSES] =
|
||||
g_param_spec_boxed ("classes", NULL, NULL,
|
||||
|
||||
+11
-6
@@ -376,6 +376,9 @@ gtk_css_dimension_value_new (double value,
|
||||
{ >K_CSS_VALUE_NUMBER, 1, TRUE, TYPE_DIMENSION, {{ GTK_CSS_PX, 2 }} },
|
||||
{ >K_CSS_VALUE_NUMBER, 1, TRUE, TYPE_DIMENSION, {{ GTK_CSS_PX, 3 }} },
|
||||
{ >K_CSS_VALUE_NUMBER, 1, TRUE, TYPE_DIMENSION, {{ GTK_CSS_PX, 4 }} },
|
||||
{ >K_CSS_VALUE_NUMBER, 1, TRUE, TYPE_DIMENSION, {{ GTK_CSS_PX, 5 }} },
|
||||
{ >K_CSS_VALUE_NUMBER, 1, TRUE, TYPE_DIMENSION, {{ GTK_CSS_PX, 6 }} },
|
||||
{ >K_CSS_VALUE_NUMBER, 1, TRUE, TYPE_DIMENSION, {{ GTK_CSS_PX, 7 }} },
|
||||
{ >K_CSS_VALUE_NUMBER, 1, TRUE, TYPE_DIMENSION, {{ GTK_CSS_PX, 8 }} },
|
||||
{ >K_CSS_VALUE_NUMBER, 1, TRUE, TYPE_DIMENSION, {{ GTK_CSS_PX, 16 }} }, /* Icon size default */
|
||||
{ >K_CSS_VALUE_NUMBER, 1, TRUE, TYPE_DIMENSION, {{ GTK_CSS_PX, 32 }} },
|
||||
@@ -414,16 +417,18 @@ gtk_css_dimension_value_new (double value,
|
||||
value == 1 ||
|
||||
value == 2 ||
|
||||
value == 3 ||
|
||||
value == 4)
|
||||
value == 4 ||
|
||||
value == 5 ||
|
||||
value == 6 ||
|
||||
value == 7 ||
|
||||
value == 8)
|
||||
return _gtk_css_value_ref (&px_singletons[(int) value]);
|
||||
if (value == 8)
|
||||
return _gtk_css_value_ref (&px_singletons[5]);
|
||||
if (value == 16)
|
||||
return _gtk_css_value_ref (&px_singletons[6]);
|
||||
return _gtk_css_value_ref (&px_singletons[9]);
|
||||
if (value == 32)
|
||||
return _gtk_css_value_ref (&px_singletons[7]);
|
||||
return _gtk_css_value_ref (&px_singletons[10]);
|
||||
if (value == 64)
|
||||
return _gtk_css_value_ref (&px_singletons[8]);
|
||||
return _gtk_css_value_ref (&px_singletons[11]);
|
||||
|
||||
break;
|
||||
|
||||
|
||||
+57
-3
@@ -233,6 +233,9 @@ gtk_css_provider_class_init (GtkCssProviderClass *klass)
|
||||
NULL, NULL,
|
||||
_gtk_marshal_VOID__BOXED_BOXED,
|
||||
G_TYPE_NONE, 2, GTK_TYPE_CSS_SECTION, G_TYPE_ERROR);
|
||||
g_signal_set_va_marshaller (css_provider_signals[PARSING_ERROR],
|
||||
G_TYPE_FROM_CLASS (object_class),
|
||||
_gtk_marshal_VOID__BOXED_BOXEDv);
|
||||
|
||||
object_class->finalize = gtk_css_provider_finalize;
|
||||
|
||||
@@ -1092,6 +1095,9 @@ gtk_css_provider_load_internal (GtkCssProvider *self,
|
||||
* Loads @data into @css_provider.
|
||||
*
|
||||
* This clears any previously loaded information.
|
||||
*
|
||||
* Deprecated: 4.12: Use [method@Gtk.CssProvider.load_from_string]
|
||||
* or [method@Gtk.CssProvider.load_from_bytes] instead
|
||||
*/
|
||||
void
|
||||
gtk_css_provider_load_from_data (GtkCssProvider *css_provider,
|
||||
@@ -1108,11 +1114,59 @@ gtk_css_provider_load_from_data (GtkCssProvider *css_provider,
|
||||
|
||||
bytes = g_bytes_new_static (data, length);
|
||||
|
||||
gtk_css_provider_load_from_bytes (css_provider, bytes);
|
||||
|
||||
g_bytes_unref (bytes);
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_css_provider_load_from_string:
|
||||
* @css_provider: a `GtkCssProvider`
|
||||
* @string: the CSS to load
|
||||
*
|
||||
* Loads @string into @css_provider.
|
||||
*
|
||||
* This clears any previously loaded information.
|
||||
*
|
||||
* Since: 4.12
|
||||
*/
|
||||
void
|
||||
gtk_css_provider_load_from_string (GtkCssProvider *css_provider,
|
||||
const char *string)
|
||||
{
|
||||
GBytes *bytes;
|
||||
|
||||
g_return_if_fail (GTK_IS_CSS_PROVIDER (css_provider));
|
||||
g_return_if_fail (string != NULL);
|
||||
|
||||
bytes = g_bytes_new_static (string, strlen (string));
|
||||
|
||||
gtk_css_provider_load_from_bytes (css_provider, bytes);
|
||||
|
||||
g_bytes_unref (bytes);
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_css_provider_load_from_bytes:
|
||||
* @css_provider: a `GtkCssProvider`
|
||||
* @data: `GBytes` containing the data to load
|
||||
*
|
||||
* Loads @data into @css_provider.
|
||||
*
|
||||
* This clears any previously loaded information.
|
||||
*
|
||||
* Since: 4.12
|
||||
*/
|
||||
void
|
||||
gtk_css_provider_load_from_bytes (GtkCssProvider *css_provider,
|
||||
GBytes *data)
|
||||
{
|
||||
g_return_if_fail (GTK_IS_CSS_PROVIDER (css_provider));
|
||||
g_return_if_fail (data != NULL);
|
||||
|
||||
gtk_css_provider_reset (css_provider);
|
||||
|
||||
g_bytes_ref (bytes);
|
||||
gtk_css_provider_load_internal (css_provider, NULL, NULL, bytes);
|
||||
g_bytes_unref (bytes);
|
||||
gtk_css_provider_load_internal (css_provider, NULL, NULL, g_bytes_ref (data));
|
||||
|
||||
gtk_style_provider_changed (GTK_STYLE_PROVIDER (css_provider));
|
||||
}
|
||||
|
||||
@@ -45,10 +45,18 @@ GtkCssProvider * gtk_css_provider_new (void);
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
char * gtk_css_provider_to_string (GtkCssProvider *provider);
|
||||
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
GDK_DEPRECATED_IN_4_12_FOR(gtk_css_provider_load_from_string)
|
||||
void gtk_css_provider_load_from_data (GtkCssProvider *css_provider,
|
||||
const char *data,
|
||||
gssize length);
|
||||
GDK_AVAILABLE_IN_4_12
|
||||
void gtk_css_provider_load_from_string (GtkCssProvider *css_provider,
|
||||
const char *string);
|
||||
|
||||
GDK_AVAILABLE_IN_4_12
|
||||
void gtk_css_provider_load_from_bytes (GtkCssProvider *css_provider,
|
||||
GBytes *data);
|
||||
|
||||
GDK_AVAILABLE_IN_ALL
|
||||
void gtk_css_provider_load_from_file (GtkCssProvider *css_provider,
|
||||
GFile *file);
|
||||
|
||||
@@ -336,10 +336,10 @@ gtk_css_shadow_value_new_filter (const GtkCssValue *other)
|
||||
ShadowValue value;
|
||||
|
||||
value.inset = FALSE;
|
||||
value.hoffset = _gtk_css_number_value_new (0, GTK_CSS_NUMBER);
|
||||
value.voffset = _gtk_css_number_value_new (0, GTK_CSS_NUMBER);
|
||||
value.radius = _gtk_css_number_value_new (0, GTK_CSS_NUMBER);
|
||||
value.spread = _gtk_css_number_value_new (0, GTK_CSS_NUMBER);
|
||||
value.hoffset = _gtk_css_number_value_new (0, GTK_CSS_PX);
|
||||
value.voffset = _gtk_css_number_value_new (0, GTK_CSS_PX);
|
||||
value.radius = _gtk_css_number_value_new (0, GTK_CSS_PX);
|
||||
value.spread = _gtk_css_number_value_new (0, GTK_CSS_PX);
|
||||
value.color = gtk_css_value_ref (other->shadows[0].color);
|
||||
|
||||
return gtk_css_shadow_value_new (&value, 1, TRUE);
|
||||
|
||||
@@ -1095,25 +1095,29 @@ _gtk_css_style_property_init_properties (void)
|
||||
GTK_STYLE_PROPERTY_ANIMATED,
|
||||
GTK_CSS_AFFECTS_BACKGROUND | GTK_CSS_AFFECTS_BORDER,
|
||||
border_corner_radius_value_parse,
|
||||
_gtk_css_number_value_new (0, GTK_CSS_PX));
|
||||
_gtk_css_corner_value_new (_gtk_css_number_value_new (0, GTK_CSS_PX),
|
||||
_gtk_css_number_value_new (0, GTK_CSS_PX)));
|
||||
gtk_css_style_property_register ("border-top-right-radius",
|
||||
GTK_CSS_PROPERTY_BORDER_TOP_RIGHT_RADIUS,
|
||||
GTK_STYLE_PROPERTY_ANIMATED,
|
||||
GTK_CSS_AFFECTS_BACKGROUND | GTK_CSS_AFFECTS_BORDER,
|
||||
border_corner_radius_value_parse,
|
||||
_gtk_css_number_value_new (0, GTK_CSS_PX));
|
||||
_gtk_css_corner_value_new (_gtk_css_number_value_new (0, GTK_CSS_PX),
|
||||
_gtk_css_number_value_new (0, GTK_CSS_PX)));
|
||||
gtk_css_style_property_register ("border-bottom-right-radius",
|
||||
GTK_CSS_PROPERTY_BORDER_BOTTOM_RIGHT_RADIUS,
|
||||
GTK_STYLE_PROPERTY_ANIMATED,
|
||||
GTK_CSS_AFFECTS_BACKGROUND | GTK_CSS_AFFECTS_BORDER,
|
||||
border_corner_radius_value_parse,
|
||||
_gtk_css_number_value_new (0, GTK_CSS_PX));
|
||||
_gtk_css_corner_value_new (_gtk_css_number_value_new (0, GTK_CSS_PX),
|
||||
_gtk_css_number_value_new (0, GTK_CSS_PX)));
|
||||
gtk_css_style_property_register ("border-bottom-left-radius",
|
||||
GTK_CSS_PROPERTY_BORDER_BOTTOM_LEFT_RADIUS,
|
||||
GTK_STYLE_PROPERTY_ANIMATED,
|
||||
GTK_CSS_AFFECTS_BACKGROUND | GTK_CSS_AFFECTS_BORDER,
|
||||
border_corner_radius_value_parse,
|
||||
_gtk_css_number_value_new (0, GTK_CSS_PX));
|
||||
_gtk_css_corner_value_new (_gtk_css_number_value_new (0, GTK_CSS_PX),
|
||||
_gtk_css_number_value_new (0, GTK_CSS_PX)));
|
||||
|
||||
gtk_css_style_property_register ("outline-style",
|
||||
GTK_CSS_PROPERTY_OUTLINE_STYLE,
|
||||
@@ -1133,7 +1137,6 @@ _gtk_css_style_property_init_properties (void)
|
||||
GTK_CSS_AFFECTS_OUTLINE,
|
||||
outline_parse,
|
||||
_gtk_css_number_value_new (0.0, GTK_CSS_PX));
|
||||
|
||||
gtk_css_style_property_register ("background-clip",
|
||||
GTK_CSS_PROPERTY_BACKGROUND_CLIP,
|
||||
0,
|
||||
|
||||
@@ -142,7 +142,7 @@ gtk_css_transform_init_identity (GtkCssTransform *transform,
|
||||
case GTK_CSS_TRANSFORM_ROTATE:
|
||||
transform->rotate.x = _gtk_css_number_value_new (0, GTK_CSS_NUMBER);
|
||||
transform->rotate.y = _gtk_css_number_value_new (0, GTK_CSS_NUMBER);
|
||||
transform->rotate.z = _gtk_css_number_value_new (0, GTK_CSS_NUMBER);
|
||||
transform->rotate.z = _gtk_css_number_value_new (1, GTK_CSS_NUMBER);
|
||||
transform->rotate.angle = _gtk_css_number_value_new (0, GTK_CSS_DEG);
|
||||
break;
|
||||
case GTK_CSS_TRANSFORM_SCALE:
|
||||
|
||||
+11
-2
@@ -378,9 +378,12 @@ gtk_drag_source_class_init (GtkDragSourceClass *class)
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (GtkDragSourceClass, prepare),
|
||||
g_signal_accumulator_first_wins, NULL,
|
||||
NULL,
|
||||
_gtk_marshal_OBJECT__DOUBLE_DOUBLE,
|
||||
GDK_TYPE_CONTENT_PROVIDER, 2,
|
||||
G_TYPE_DOUBLE, G_TYPE_DOUBLE);
|
||||
g_signal_set_va_marshaller (signals[PREPARE],
|
||||
GTK_TYPE_DRAG_SOURCE,
|
||||
_gtk_marshal_OBJECT__DOUBLE_DOUBLEv);
|
||||
|
||||
/**
|
||||
* GtkDragSource::drag-begin:
|
||||
@@ -421,10 +424,13 @@ gtk_drag_source_class_init (GtkDragSourceClass *class)
|
||||
G_SIGNAL_RUN_LAST,
|
||||
0,
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
_gtk_marshal_OBJECT__BOOLEAN,
|
||||
G_TYPE_NONE, 2,
|
||||
GDK_TYPE_DRAG,
|
||||
G_TYPE_BOOLEAN);
|
||||
g_signal_set_va_marshaller (signals[DRAG_END],
|
||||
GTK_TYPE_DRAG_SOURCE,
|
||||
_gtk_marshal_OBJECT__BOOLEANv);
|
||||
|
||||
/**
|
||||
* GtkDragSource::drag-cancel:
|
||||
@@ -450,6 +456,9 @@ gtk_drag_source_class_init (GtkDragSourceClass *class)
|
||||
G_TYPE_BOOLEAN, 2,
|
||||
GDK_TYPE_DRAG,
|
||||
GDK_TYPE_DRAG_CANCEL_REASON);
|
||||
g_signal_set_va_marshaller (signals[DRAG_CANCEL],
|
||||
G_TYPE_FROM_CLASS (class),
|
||||
_gtk_marshal_BOOLEAN__OBJECT_ENUMv);
|
||||
}
|
||||
|
||||
static GdkContentProvider *
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "config.h"
|
||||
#include "gtkdrawingarea.h"
|
||||
#include "gtkmarshalers.h"
|
||||
#include "gdk/gdkmarshalers.h"
|
||||
#include "gtkprivate.h"
|
||||
#include "gtksnapshot.h"
|
||||
#include "gtkwidgetprivate.h"
|
||||
@@ -320,11 +321,11 @@ gtk_drawing_area_class_init (GtkDrawingAreaClass *class)
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (GtkDrawingAreaClass, resize),
|
||||
NULL, NULL,
|
||||
_gtk_marshal_VOID__INT_INT,
|
||||
_gdk_marshal_VOID__INT_INT,
|
||||
G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT);
|
||||
g_signal_set_va_marshaller (signals[RESIZE],
|
||||
G_TYPE_FROM_CLASS (class),
|
||||
_gtk_marshal_VOID__INT_INTv);
|
||||
_gdk_marshal_VOID__INT_INTv);
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@@ -275,7 +275,7 @@ gtk_drop_controller_motion_class_init (GtkDropControllerMotionClass *klass)
|
||||
GTK_TYPE_DROP_CONTROLLER_MOTION,
|
||||
G_SIGNAL_RUN_LAST,
|
||||
0, NULL, NULL,
|
||||
NULL,
|
||||
_gtk_marshal_VOID__DOUBLE_DOUBLE,
|
||||
G_TYPE_NONE, 2,
|
||||
G_TYPE_DOUBLE,
|
||||
G_TYPE_DOUBLE);
|
||||
|
||||
+17
-4
@@ -29,6 +29,7 @@
|
||||
#include "gtkdropprivate.h"
|
||||
#include "gtkeventcontrollerprivate.h"
|
||||
#include "gtkmarshalers.h"
|
||||
#include "gdk/gdkmarshalers.h"
|
||||
#include "gtknative.h"
|
||||
#include "gtkprivate.h"
|
||||
#include "gtktypebuiltins.h"
|
||||
@@ -754,9 +755,12 @@ gtk_drop_target_class_init (GtkDropTargetClass *class)
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (GtkDropTargetClass, accept),
|
||||
g_signal_accumulator_first_wins, NULL,
|
||||
NULL,
|
||||
_gdk_marshal_BOOLEAN__OBJECT,
|
||||
G_TYPE_BOOLEAN, 1,
|
||||
GDK_TYPE_DROP);
|
||||
g_signal_set_va_marshaller (signals[ACCEPT],
|
||||
GTK_TYPE_DROP_TARGET,
|
||||
_gdk_marshal_BOOLEAN__OBJECTv);
|
||||
|
||||
/**
|
||||
* GtkDropTarget::enter:
|
||||
@@ -777,9 +781,12 @@ gtk_drop_target_class_init (GtkDropTargetClass *class)
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (GtkDropTargetClass, enter),
|
||||
g_signal_accumulator_first_wins, NULL,
|
||||
NULL,
|
||||
_gtk_marshal_FLAGS__DOUBLE_DOUBLE,
|
||||
GDK_TYPE_DRAG_ACTION, 2,
|
||||
G_TYPE_DOUBLE, G_TYPE_DOUBLE);
|
||||
g_signal_set_va_marshaller (signals[ENTER],
|
||||
GTK_TYPE_DROP_TARGET,
|
||||
_gtk_marshal_FLAGS__DOUBLE_DOUBLEv);
|
||||
|
||||
/**
|
||||
* GtkDropTarget::motion:
|
||||
@@ -798,9 +805,12 @@ gtk_drop_target_class_init (GtkDropTargetClass *class)
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (GtkDropTargetClass, motion),
|
||||
g_signal_accumulator_first_wins, NULL,
|
||||
NULL,
|
||||
_gtk_marshal_FLAGS__DOUBLE_DOUBLE,
|
||||
GDK_TYPE_DRAG_ACTION, 2,
|
||||
G_TYPE_DOUBLE, G_TYPE_DOUBLE);
|
||||
g_signal_set_va_marshaller (signals[MOTION],
|
||||
GTK_TYPE_DROP_TARGET,
|
||||
_gtk_marshal_FLAGS__DOUBLE_DOUBLEv);
|
||||
|
||||
/**
|
||||
* GtkDropTarget::leave:
|
||||
@@ -845,9 +855,12 @@ gtk_drop_target_class_init (GtkDropTargetClass *class)
|
||||
G_SIGNAL_RUN_LAST,
|
||||
0,
|
||||
g_signal_accumulator_first_wins, NULL,
|
||||
NULL,
|
||||
_gtk_marshal_BOOLEAN__BOXED_DOUBLE_DOUBLE,
|
||||
G_TYPE_BOOLEAN, 3,
|
||||
G_TYPE_VALUE, G_TYPE_DOUBLE, G_TYPE_DOUBLE);
|
||||
g_signal_set_va_marshaller (signals[DROP],
|
||||
GTK_TYPE_DROP_TARGET,
|
||||
_gtk_marshal_BOOLEAN__BOXED_DOUBLE_DOUBLEv);
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "gtkdropprivate.h"
|
||||
#include "gtkeventcontrollerprivate.h"
|
||||
#include "gtkmarshalers.h"
|
||||
#include "gdk/gdkmarshalers.h"
|
||||
#include "gtknative.h"
|
||||
#include "gtktypebuiltins.h"
|
||||
#include "gtkprivate.h"
|
||||
@@ -430,9 +431,12 @@ gtk_drop_target_async_class_init (GtkDropTargetAsyncClass *class)
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (GtkDropTargetAsyncClass, accept),
|
||||
g_signal_accumulator_first_wins, NULL,
|
||||
NULL,
|
||||
_gdk_marshal_BOOLEAN__OBJECT,
|
||||
G_TYPE_BOOLEAN, 1,
|
||||
GDK_TYPE_DROP);
|
||||
g_signal_set_va_marshaller (signals[ACCEPT],
|
||||
GTK_TYPE_DROP_TARGET_ASYNC,
|
||||
_gdk_marshal_BOOLEAN__OBJECTv);
|
||||
|
||||
/**
|
||||
* GtkDropTargetAsync::drag-enter:
|
||||
@@ -453,9 +457,12 @@ gtk_drop_target_async_class_init (GtkDropTargetAsyncClass *class)
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (GtkDropTargetAsyncClass, drag_enter),
|
||||
g_signal_accumulator_first_wins, NULL,
|
||||
NULL,
|
||||
_gtk_marshal_ENUM__OBJECT_DOUBLE_DOUBLE,
|
||||
GDK_TYPE_DRAG_ACTION, 3,
|
||||
GDK_TYPE_DROP, G_TYPE_DOUBLE, G_TYPE_DOUBLE);
|
||||
g_signal_set_va_marshaller (signals[DRAG_ENTER],
|
||||
GTK_TYPE_DROP_TARGET_ASYNC,
|
||||
_gtk_marshal_ENUM__OBJECT_DOUBLE_DOUBLEv);
|
||||
|
||||
/**
|
||||
* GtkDropTargetAsync::drag-motion:
|
||||
@@ -474,9 +481,12 @@ gtk_drop_target_async_class_init (GtkDropTargetAsyncClass *class)
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (GtkDropTargetAsyncClass, drag_motion),
|
||||
g_signal_accumulator_first_wins, NULL,
|
||||
NULL,
|
||||
_gtk_marshal_ENUM__OBJECT_DOUBLE_DOUBLE,
|
||||
GDK_TYPE_DRAG_ACTION, 3,
|
||||
GDK_TYPE_DROP, G_TYPE_DOUBLE, G_TYPE_DOUBLE);
|
||||
g_signal_set_va_marshaller (signals[DRAG_MOTION],
|
||||
GTK_TYPE_DROP_TARGET_ASYNC,
|
||||
_gtk_marshal_ENUM__OBJECT_DOUBLE_DOUBLEv);
|
||||
|
||||
/**
|
||||
* GtkDropTargetAsync::drag-leave:
|
||||
@@ -528,9 +538,12 @@ gtk_drop_target_async_class_init (GtkDropTargetAsyncClass *class)
|
||||
G_SIGNAL_RUN_LAST,
|
||||
0,
|
||||
g_signal_accumulator_first_wins, NULL,
|
||||
NULL,
|
||||
_gtk_marshal_BOOLEAN__OBJECT_DOUBLE_DOUBLE,
|
||||
G_TYPE_BOOLEAN, 3,
|
||||
GDK_TYPE_DROP, G_TYPE_DOUBLE, G_TYPE_DOUBLE);
|
||||
g_signal_set_va_marshaller (signals[DROP],
|
||||
GTK_TYPE_DROP_TARGET_ASYNC,
|
||||
_gtk_marshal_BOOLEAN__OBJECT_DOUBLE_DOUBLEv);
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
+3
-2
@@ -161,6 +161,7 @@
|
||||
#include "gtkeditable.h"
|
||||
#include "gtkentrybuffer.h"
|
||||
#include "gtkmarshalers.h"
|
||||
#include "gdk/gdkmarshalers.h"
|
||||
#include "gtkprivate.h"
|
||||
|
||||
G_DEFINE_INTERFACE (GtkEditable, gtk_editable, GTK_TYPE_WIDGET)
|
||||
@@ -342,13 +343,13 @@ gtk_editable_default_init (GtkEditableInterface *iface)
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (GtkEditableInterface, delete_text),
|
||||
NULL, NULL,
|
||||
_gtk_marshal_VOID__INT_INT,
|
||||
_gdk_marshal_VOID__INT_INT,
|
||||
G_TYPE_NONE, 2,
|
||||
G_TYPE_INT,
|
||||
G_TYPE_INT);
|
||||
g_signal_set_va_marshaller (signals[DELETE_TEXT],
|
||||
G_TYPE_FROM_INTERFACE (iface),
|
||||
_gtk_marshal_VOID__INT_INTv);
|
||||
_gdk_marshal_VOID__INT_INTv);
|
||||
|
||||
/**
|
||||
* GtkEditable::changed:
|
||||
|
||||
@@ -388,6 +388,9 @@ gtk_entry_buffer_class_init (GtkEntryBufferClass *klass)
|
||||
G_TYPE_UINT,
|
||||
G_TYPE_STRING,
|
||||
G_TYPE_UINT);
|
||||
g_signal_set_va_marshaller (signals[INSERTED_TEXT],
|
||||
GTK_TYPE_ENTRY_BUFFER,
|
||||
_gtk_marshal_VOID__UINT_STRING_UINTv);
|
||||
|
||||
/**
|
||||
* GtkEntryBuffer::deleted-text:
|
||||
@@ -409,6 +412,9 @@ gtk_entry_buffer_class_init (GtkEntryBufferClass *klass)
|
||||
G_TYPE_NONE, 2,
|
||||
G_TYPE_UINT,
|
||||
G_TYPE_UINT);
|
||||
g_signal_set_va_marshaller (signals[DELETED_TEXT],
|
||||
GTK_TYPE_ENTRY_BUFFER,
|
||||
_gtk_marshal_VOID__UINT_UINTv);
|
||||
}
|
||||
|
||||
/* --------------------------------------------------------------------------------
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
#include "gtkeventcontrollerlegacy.h"
|
||||
#include "gtkeventcontrollerprivate.h"
|
||||
#include "gtkmarshalers.h"
|
||||
#include "gdk/gdkmarshalers.h"
|
||||
#include "gtkprivate.h"
|
||||
|
||||
struct _GtkEventControllerLegacy
|
||||
@@ -89,12 +90,12 @@ gtk_event_controller_legacy_class_init (GtkEventControllerLegacyClass *klass)
|
||||
G_TYPE_FROM_CLASS (klass),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
0, _gtk_boolean_handled_accumulator, NULL,
|
||||
_gtk_marshal_BOOLEAN__POINTER,
|
||||
_gdk_marshal_BOOLEAN__POINTER,
|
||||
G_TYPE_BOOLEAN, 1,
|
||||
GDK_TYPE_EVENT);
|
||||
|
||||
g_signal_set_va_marshaller (signals[EVENT], G_TYPE_FROM_CLASS (klass),
|
||||
_gtk_marshal_BOOLEAN__POINTERv);
|
||||
_gdk_marshal_BOOLEAN__POINTERv);
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@@ -241,10 +241,13 @@ gtk_event_controller_motion_class_init (GtkEventControllerMotionClass *klass)
|
||||
GTK_TYPE_EVENT_CONTROLLER_MOTION,
|
||||
G_SIGNAL_RUN_LAST,
|
||||
0, NULL, NULL,
|
||||
NULL,
|
||||
_gtk_marshal_VOID__DOUBLE_DOUBLE,
|
||||
G_TYPE_NONE, 2,
|
||||
G_TYPE_DOUBLE,
|
||||
G_TYPE_DOUBLE);
|
||||
g_signal_set_va_marshaller (signals[ENTER],
|
||||
G_TYPE_FROM_CLASS (klass),
|
||||
_gtk_marshal_VOID__DOUBLE_DOUBLEv);
|
||||
|
||||
/**
|
||||
* GtkEventControllerMotion::leave:
|
||||
@@ -276,7 +279,7 @@ gtk_event_controller_motion_class_init (GtkEventControllerMotionClass *klass)
|
||||
_gtk_marshal_VOID__DOUBLE_DOUBLE,
|
||||
G_TYPE_NONE, 2, G_TYPE_DOUBLE, G_TYPE_DOUBLE);
|
||||
g_signal_set_va_marshaller (signals[MOTION],
|
||||
G_TYPE_FROM_CLASS (klass),
|
||||
GTK_TYPE_EVENT_CONTROLLER_MOTION,
|
||||
_gtk_marshal_VOID__DOUBLE_DOUBLEv);
|
||||
}
|
||||
|
||||
|
||||
+5
-5
@@ -24,7 +24,7 @@
|
||||
#include "gtkglarea.h"
|
||||
#include <glib/gi18n-lib.h>
|
||||
#include "gtkmarshalers.h"
|
||||
#include "gtkmarshalers.h"
|
||||
#include "gdk/gdkmarshalers.h"
|
||||
#include "gtkprivate.h"
|
||||
#include "gtksnapshot.h"
|
||||
#include "gtknative.h"
|
||||
@@ -964,12 +964,12 @@ gtk_gl_area_class_init (GtkGLAreaClass *klass)
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (GtkGLAreaClass, render),
|
||||
_gtk_boolean_handled_accumulator, NULL,
|
||||
_gtk_marshal_BOOLEAN__OBJECT,
|
||||
_gdk_marshal_BOOLEAN__OBJECT,
|
||||
G_TYPE_BOOLEAN, 1,
|
||||
GDK_TYPE_GL_CONTEXT);
|
||||
g_signal_set_va_marshaller (area_signals[RENDER],
|
||||
G_TYPE_FROM_CLASS (klass),
|
||||
_gtk_marshal_BOOLEAN__OBJECTv);
|
||||
_gdk_marshal_BOOLEAN__OBJECTv);
|
||||
|
||||
/**
|
||||
* GtkGLArea::resize:
|
||||
@@ -995,11 +995,11 @@ gtk_gl_area_class_init (GtkGLAreaClass *klass)
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (GtkGLAreaClass, resize),
|
||||
NULL, NULL,
|
||||
_gtk_marshal_VOID__INT_INT,
|
||||
_gdk_marshal_VOID__INT_INT,
|
||||
G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT);
|
||||
g_signal_set_va_marshaller (area_signals[RESIZE],
|
||||
G_TYPE_FROM_CLASS (klass),
|
||||
_gtk_marshal_VOID__INT_INTv);
|
||||
_gdk_marshal_VOID__INT_INTv);
|
||||
|
||||
/**
|
||||
* GtkGLArea::create-context:
|
||||
|
||||
+47
-41
@@ -2254,6 +2254,9 @@ gtk_label_class_init (GtkLabelClass *class)
|
||||
GTK_TYPE_MOVEMENT_STEP,
|
||||
G_TYPE_INT,
|
||||
G_TYPE_BOOLEAN);
|
||||
g_signal_set_va_marshaller (signals[MOVE_CURSOR],
|
||||
G_OBJECT_CLASS_TYPE (gobject_class),
|
||||
_gtk_marshal_VOID__ENUM_INT_BOOLEANv);
|
||||
|
||||
/**
|
||||
* GtkLabel::copy-clipboard:
|
||||
@@ -2274,48 +2277,51 @@ gtk_label_class_init (GtkLabelClass *class)
|
||||
NULL,
|
||||
G_TYPE_NONE, 0);
|
||||
|
||||
/**
|
||||
* GtkLabel::activate-current-link:
|
||||
* @self: The label on which the signal was emitted
|
||||
*
|
||||
* Gets emitted when the user activates a link in the label.
|
||||
*
|
||||
* The ::activate-current-link is a [keybinding signal](class.SignalAction.html).
|
||||
*
|
||||
* Applications may also emit the signal with g_signal_emit_by_name()
|
||||
* if they need to control activation of URIs programmatically.
|
||||
*
|
||||
* The default bindings for this signal are all forms of the <kbd>Enter</kbd> key.
|
||||
*/
|
||||
signals[ACTIVATE_CURRENT_LINK] =
|
||||
g_signal_new_class_handler (I_("activate-current-link"),
|
||||
G_TYPE_FROM_CLASS (gobject_class),
|
||||
G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
|
||||
G_CALLBACK (gtk_label_activate_current_link),
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
G_TYPE_NONE, 0);
|
||||
/**
|
||||
* GtkLabel::activate-current-link:
|
||||
* @self: The label on which the signal was emitted
|
||||
*
|
||||
* Gets emitted when the user activates a link in the label.
|
||||
*
|
||||
* The ::activate-current-link is a [keybinding signal](class.SignalAction.html).
|
||||
*
|
||||
* Applications may also emit the signal with g_signal_emit_by_name()
|
||||
* if they need to control activation of URIs programmatically.
|
||||
*
|
||||
* The default bindings for this signal are all forms of the <kbd>Enter</kbd> key.
|
||||
*/
|
||||
signals[ACTIVATE_CURRENT_LINK] =
|
||||
g_signal_new_class_handler (I_("activate-current-link"),
|
||||
G_TYPE_FROM_CLASS (gobject_class),
|
||||
G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
|
||||
G_CALLBACK (gtk_label_activate_current_link),
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
G_TYPE_NONE, 0);
|
||||
|
||||
/**
|
||||
* GtkLabel::activate-link:
|
||||
* @self: The label on which the signal was emitted
|
||||
* @uri: the URI that is activated
|
||||
*
|
||||
* Gets emitted to activate a URI.
|
||||
*
|
||||
* Applications may connect to it to override the default behaviour,
|
||||
* which is to call [method@Gtk.FileLauncher.launch].
|
||||
*
|
||||
* Returns: %TRUE if the link has been activated
|
||||
*/
|
||||
signals[ACTIVATE_LINK] =
|
||||
g_signal_new (I_("activate-link"),
|
||||
G_TYPE_FROM_CLASS (gobject_class),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (GtkLabelClass, activate_link),
|
||||
_gtk_boolean_handled_accumulator, NULL,
|
||||
_gtk_marshal_BOOLEAN__STRING,
|
||||
G_TYPE_BOOLEAN, 1, G_TYPE_STRING);
|
||||
/**
|
||||
* GtkLabel::activate-link:
|
||||
* @self: The label on which the signal was emitted
|
||||
* @uri: the URI that is activated
|
||||
*
|
||||
* Gets emitted to activate a URI.
|
||||
*
|
||||
* Applications may connect to it to override the default behaviour,
|
||||
* which is to call [method@Gtk.FileLauncher.launch].
|
||||
*
|
||||
* Returns: %TRUE if the link has been activated
|
||||
*/
|
||||
signals[ACTIVATE_LINK] =
|
||||
g_signal_new (I_("activate-link"),
|
||||
G_TYPE_FROM_CLASS (gobject_class),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (GtkLabelClass, activate_link),
|
||||
_gtk_boolean_handled_accumulator, NULL,
|
||||
_gtk_marshal_BOOLEAN__STRING,
|
||||
G_TYPE_BOOLEAN, 1, G_TYPE_STRING);
|
||||
g_signal_set_va_marshaller (signals[ACTIVATE_LINK],
|
||||
G_TYPE_FROM_CLASS (gobject_class),
|
||||
_gtk_marshal_BOOLEAN__STRINGv);
|
||||
|
||||
/**
|
||||
* GtkLabel:label: (attributes org.gtk.Property.get=gtk_label_get_label org.gtk.Property.set=gtk_label_set_label)
|
||||
|
||||
@@ -216,6 +216,10 @@ gtk_link_button_class_init (GtkLinkButtonClass *klass)
|
||||
_gtk_boolean_handled_accumulator, NULL,
|
||||
_gtk_marshal_BOOLEAN__VOID,
|
||||
G_TYPE_BOOLEAN, 0);
|
||||
g_signal_set_va_marshaller (link_signals[ACTIVATE_LINK],
|
||||
G_TYPE_FROM_CLASS (klass),
|
||||
_gtk_marshal_BOOLEAN__VOIDv);
|
||||
|
||||
|
||||
gtk_widget_class_set_css_name (widget_class, I_("button"));
|
||||
gtk_widget_class_set_accessible_role (widget_class, GTK_ACCESSIBLE_ROLE_LINK);
|
||||
|
||||
+19
-64
@@ -21,114 +21,69 @@
|
||||
# NONE deprecated alias for VOID
|
||||
# BOOL deprecated alias for BOOLEAN
|
||||
|
||||
BOOLEAN:BOXED
|
||||
BOOLEAN:BOOLEAN
|
||||
BOOLEAN:BOOLEAN,BOOLEAN,BOOLEAN
|
||||
BOOLEAN:BOXED,BOXED
|
||||
BOOLEAN:BOXED,DOUBLE,DOUBLE
|
||||
BOOLEAN:DOUBLE,DOUBLE
|
||||
BOOLEAN:ENUM
|
||||
BOOLEAN:ENUM,BOOLEAN
|
||||
BOOLEAN:ENUM,BOXED,BOXED,BOXED
|
||||
BOOLEAN:ENUM,DOUBLE
|
||||
BOOLEAN:ENUM,INT
|
||||
BOOLEAN:ENUM,INT,BOOLEAN,BOOLEAN
|
||||
BOOLEAN:FLAGS
|
||||
BOOLEAN:OBJECT
|
||||
BOOLEAN:OBJECT,UINT,FLAGS
|
||||
BOOLEAN:OBJECT,INT,INT
|
||||
BOOLEAN:OBJECT,STRING,STRING,BOXED
|
||||
BOOLEAN:OBJECT,BOXED
|
||||
BOOLEAN:OBJECT,OBJECT,BOXED
|
||||
BOOLEAN:OBJECT,OBJECT,OBJECT
|
||||
BOOLEAN:OBJECT,STRING,STRING
|
||||
BOOLEAN:OBJECT,ENUM
|
||||
BOOLEAN:INT
|
||||
BOOLEAN:INT,INT
|
||||
BOOLEAN:INT,INT,INT
|
||||
BOOLEAN:INT,INT,BOOLEAN,OBJECT
|
||||
BOOLEAN:UINT
|
||||
BOOLEAN:OBJECT,BOXED
|
||||
BOOLEAN:OBJECT,DOUBLE,DOUBLE
|
||||
BOOLEAN:OBJECT,ENUM
|
||||
BOOLEAN:OBJECT,OBJECT,OBJECT
|
||||
BOOLEAN:STRING
|
||||
BOOLEAN:UINT,UINT,FLAGS
|
||||
BOOLEAN:VOID
|
||||
BOOLEAN:BOOLEAN
|
||||
BOOLEAN:BOOLEAN,BOOLEAN,BOOLEAN
|
||||
BOOLEAN:STRING
|
||||
BOOLEAN:POINTER
|
||||
ENUM:ENUM
|
||||
ENUM:VOID
|
||||
ENUM:OBJECT,DOUBLE,DOUBLE
|
||||
FLAGS:DOUBLE,DOUBLE
|
||||
INT:INT
|
||||
INT:OBJECT,OBJECT,POINTER
|
||||
INT:POINTER
|
||||
INT:DOUBLE,DOUBLE
|
||||
OBJECT:BOOLEAN
|
||||
OBJECT:DOUBLE,DOUBLE
|
||||
OBJECT:OBJECT
|
||||
OBJECT:VOID
|
||||
STRING:DOUBLE
|
||||
STRING:STRING
|
||||
VOID:BOOLEAN,BOOLEAN,BOOLEAN
|
||||
VOID:BOXED
|
||||
VOID:BOXED,BOXED
|
||||
VOID:BOXED,BOXED,POINTER
|
||||
VOID:BOXED,ENUM
|
||||
VOID:BOXED,OBJECT
|
||||
VOID:BOXED,STRING,INT
|
||||
VOID:BOXED,UINT
|
||||
VOID:BOXED,UINT,FLAGS
|
||||
VOID:DOUBLE,DOUBLE
|
||||
VOID:DOUBLE,DOUBLE,ENUM,ENUM
|
||||
VOID:DOUBLE,DOUBLE,UINT,BOXED
|
||||
VOID:ENUM,BOOLEAN
|
||||
VOID:ENUM,DOUBLE
|
||||
VOID:ENUM,ENUM
|
||||
VOID:ENUM,FLOAT
|
||||
VOID:ENUM,FLOAT,BOOLEAN
|
||||
VOID:ENUM,INT
|
||||
VOID:ENUM,INT,BOOLEAN
|
||||
VOID:ENUM,INT,BOOLEAN,BOOLEAN
|
||||
VOID:ENUM,INT,INT
|
||||
VOID:ENUM,OBJECT
|
||||
VOID:ENUM,STRING
|
||||
VOID:INT,BOOLEAN
|
||||
VOID:INT,DOUBLE,DOUBLE
|
||||
VOID:INT,INT
|
||||
VOID:INT,INT,BOXED
|
||||
VOID:INT,INT,INT
|
||||
VOID:OBJECT,BOOLEAN
|
||||
VOID:OBJECT,BOXED
|
||||
VOID:OBJECT,BOXED,BOXED
|
||||
VOID:OBJECT,BOXED,BOOLEAN,BOOLEAN
|
||||
VOID:OBJECT,ENUM
|
||||
VOID:OBJECT,BOXED,BOXED
|
||||
VOID:OBJECT,FLAGS
|
||||
VOID:OBJECT,INT
|
||||
VOID:OBJECT,INT,OBJECT
|
||||
VOID:OBJECT,INT,INT
|
||||
VOID:OBJECT,INT,OBJECT
|
||||
VOID:OBJECT,OBJECT
|
||||
VOID:OBJECT,OBJECT,BOOLEAN
|
||||
VOID:OBJECT,POINTER
|
||||
VOID:OBJECT,OBJECT,BOXED,STRING
|
||||
VOID:OBJECT,OBJECT,OBJECT
|
||||
VOID:OBJECT,POINTER,INT
|
||||
VOID:OBJECT,STRING
|
||||
VOID:OBJECT,STRING,STRING
|
||||
VOID:OBJECT,UINT
|
||||
VOID:OBJECT,UINT,FLAGS
|
||||
VOID:OBJECT,STRING
|
||||
VOID:OBJECT,OBJECT,STRING
|
||||
VOID:OBJECT,OBJECT,OBJECT
|
||||
VOID:OBJECT,OBJECT,BOXED,STRING
|
||||
VOID:OBJECT,OBJECT,POINTER,POINTER
|
||||
VOID:POINTER,INT
|
||||
VOID:POINTER,BOOLEAN
|
||||
VOID:POINTER,POINTER,BOOLEAN,BOOLEAN
|
||||
VOID:POINTER,POINTER,POINTER
|
||||
VOID:POINTER,UINT
|
||||
VOID:STRING,BOXED
|
||||
VOID:STRING,STRING
|
||||
VOID:STRING,STRING,STRING
|
||||
VOID:STRING,INT,POINTER
|
||||
VOID:STRING,UINT,FLAGS
|
||||
VOID:STRING,STRING
|
||||
VOID:STRING,UINT,FLAGS,UINT
|
||||
VOID:UINT,FLAGS,BOXED
|
||||
VOID:UINT,STRING
|
||||
VOID:UINT,BOXED,UINT,FLAGS,FLAGS
|
||||
VOID:UINT,OBJECT,UINT,FLAGS,FLAGS
|
||||
VOID:UINT,STRING,UINT
|
||||
VOID:UINT,UINT
|
||||
VOID:UINT,UINT,FLAGS
|
||||
OBJECT:OBJECT,INT,INT
|
||||
VOID:OBJECT,STRING,POINTER,POINTER
|
||||
INT:INT
|
||||
VOID:POINTER,STRING,INT
|
||||
INT:OBJECT,OBJECT,POINTER
|
||||
|
||||
@@ -317,6 +317,11 @@ gtk_overlay_class_init (GtkOverlayClass *klass)
|
||||
|
||||
klass->get_child_position = gtk_overlay_get_child_position;
|
||||
|
||||
/**
|
||||
* GtkOverlay:child: (attributes org.gtk.Property.get=gtk_overlay_get_child org.gtk.Property.set=gtk_overlay_set_child)
|
||||
*
|
||||
* The main child widget.
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_CHILD,
|
||||
g_param_spec_object ("child", NULL, NULL,
|
||||
|
||||
@@ -568,6 +568,9 @@ gtk_paned_class_init (GtkPanedClass *class)
|
||||
_gtk_marshal_BOOLEAN__BOOLEAN,
|
||||
G_TYPE_BOOLEAN, 1,
|
||||
G_TYPE_BOOLEAN);
|
||||
g_signal_set_va_marshaller (signals[CYCLE_CHILD_FOCUS],
|
||||
G_TYPE_FROM_CLASS (object_class),
|
||||
_gtk_marshal_BOOLEAN__BOOLEANv);
|
||||
|
||||
/**
|
||||
* GtkPaned::toggle-handle-focus:
|
||||
@@ -588,6 +591,9 @@ gtk_paned_class_init (GtkPanedClass *class)
|
||||
NULL, NULL,
|
||||
_gtk_marshal_BOOLEAN__VOID,
|
||||
G_TYPE_BOOLEAN, 0);
|
||||
g_signal_set_va_marshaller (signals[TOGGLE_HANDLE_FOCUS],
|
||||
G_TYPE_FROM_CLASS (object_class),
|
||||
_gtk_marshal_BOOLEAN__VOIDv);
|
||||
|
||||
/**
|
||||
* GtkPaned::move-handle:
|
||||
@@ -607,6 +613,9 @@ gtk_paned_class_init (GtkPanedClass *class)
|
||||
_gtk_marshal_BOOLEAN__ENUM,
|
||||
G_TYPE_BOOLEAN, 1,
|
||||
GTK_TYPE_SCROLL_TYPE);
|
||||
g_signal_set_va_marshaller (signals[MOVE_HANDLE],
|
||||
G_TYPE_FROM_CLASS (object_class),
|
||||
_gtk_marshal_BOOLEAN__ENUMv);
|
||||
|
||||
/**
|
||||
* GtkPaned::cycle-handle-focus:
|
||||
@@ -629,6 +638,9 @@ gtk_paned_class_init (GtkPanedClass *class)
|
||||
_gtk_marshal_BOOLEAN__BOOLEAN,
|
||||
G_TYPE_BOOLEAN, 1,
|
||||
G_TYPE_BOOLEAN);
|
||||
g_signal_set_va_marshaller (signals[CYCLE_HANDLE_FOCUS],
|
||||
G_TYPE_FROM_CLASS (object_class),
|
||||
_gtk_marshal_BOOLEAN__BOOLEANv);
|
||||
|
||||
/**
|
||||
* GtkPaned::accept-position:
|
||||
@@ -650,6 +662,9 @@ gtk_paned_class_init (GtkPanedClass *class)
|
||||
NULL, NULL,
|
||||
_gtk_marshal_BOOLEAN__VOID,
|
||||
G_TYPE_BOOLEAN, 0);
|
||||
g_signal_set_va_marshaller (signals[ACCEPT_POSITION],
|
||||
G_TYPE_FROM_CLASS (object_class),
|
||||
_gtk_marshal_BOOLEAN__VOIDv);
|
||||
|
||||
/**
|
||||
* GtkPaned::cancel-position:
|
||||
@@ -673,6 +688,9 @@ gtk_paned_class_init (GtkPanedClass *class)
|
||||
NULL, NULL,
|
||||
_gtk_marshal_BOOLEAN__VOID,
|
||||
G_TYPE_BOOLEAN, 0);
|
||||
g_signal_set_va_marshaller (signals[CANCEL_POSITION],
|
||||
G_TYPE_FROM_CLASS (object_class),
|
||||
_gtk_marshal_BOOLEAN__VOIDv);
|
||||
|
||||
/* F6 and friends */
|
||||
gtk_widget_class_add_binding_signal (widget_class,
|
||||
|
||||
+10
-9
@@ -244,15 +244,16 @@ gtk_path_bar_class_init (GtkPathBarClass *path_bar_class)
|
||||
|
||||
path_bar_signals [PATH_CLICKED] =
|
||||
g_signal_new (I_("path-clicked"),
|
||||
G_OBJECT_CLASS_TYPE (gobject_class),
|
||||
G_SIGNAL_RUN_FIRST,
|
||||
G_STRUCT_OFFSET (GtkPathBarClass, path_clicked),
|
||||
NULL, NULL,
|
||||
_gtk_marshal_VOID__OBJECT_OBJECT_BOOLEAN,
|
||||
G_TYPE_NONE, 3,
|
||||
G_TYPE_FILE,
|
||||
G_TYPE_FILE,
|
||||
G_TYPE_BOOLEAN);
|
||||
G_OBJECT_CLASS_TYPE (gobject_class),
|
||||
G_SIGNAL_RUN_FIRST,
|
||||
G_STRUCT_OFFSET (GtkPathBarClass, path_clicked),
|
||||
NULL, NULL,
|
||||
_gtk_marshal_VOID__OBJECT_OBJECT_BOOLEAN,
|
||||
G_TYPE_NONE, 3,
|
||||
G_TYPE_FILE, G_TYPE_FILE, G_TYPE_BOOLEAN);
|
||||
g_signal_set_va_marshaller (path_bar_signals[PATH_CLICKED],
|
||||
G_OBJECT_CLASS_TYPE (gobject_class),
|
||||
_gtk_marshal_VOID__OBJECT_OBJECT_BOOLEANv);
|
||||
|
||||
gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BIN_LAYOUT);
|
||||
gtk_widget_class_set_css_name (widget_class, "pathbar");
|
||||
|
||||
+17
-4
@@ -4141,8 +4141,10 @@ gtk_places_sidebar_class_init (GtkPlacesSidebarClass *class)
|
||||
NULL, NULL,
|
||||
_gtk_marshal_VOID__OBJECT_FLAGS,
|
||||
G_TYPE_NONE, 2,
|
||||
G_TYPE_OBJECT,
|
||||
GTK_TYPE_PLACES_OPEN_FLAGS);
|
||||
G_TYPE_OBJECT, GTK_TYPE_PLACES_OPEN_FLAGS);
|
||||
g_signal_set_va_marshaller (places_sidebar_signals[OPEN_LOCATION],
|
||||
G_OBJECT_CLASS_TYPE (gobject_class),
|
||||
_gtk_marshal_VOID__OBJECT_FLAGSv);
|
||||
|
||||
/*
|
||||
* GtkPlacesSidebar::show-error-message:
|
||||
@@ -4163,8 +4165,10 @@ gtk_places_sidebar_class_init (GtkPlacesSidebarClass *class)
|
||||
NULL, NULL,
|
||||
_gtk_marshal_VOID__STRING_STRING,
|
||||
G_TYPE_NONE, 2,
|
||||
G_TYPE_STRING,
|
||||
G_TYPE_STRING);
|
||||
G_TYPE_STRING, G_TYPE_STRING);
|
||||
g_signal_set_va_marshaller (places_sidebar_signals[SHOW_ERROR_MESSAGE],
|
||||
G_OBJECT_CLASS_TYPE (gobject_class),
|
||||
_gtk_marshal_VOID__STRING_STRINGv);
|
||||
|
||||
/*
|
||||
* GtkPlacesSidebar::show-enter-location:
|
||||
@@ -4216,6 +4220,9 @@ gtk_places_sidebar_class_init (GtkPlacesSidebarClass *class)
|
||||
GDK_TYPE_DRAG_ACTION, 2,
|
||||
G_TYPE_OBJECT,
|
||||
GDK_TYPE_FILE_LIST);
|
||||
g_signal_set_va_marshaller (places_sidebar_signals[DRAG_ACTION_REQUESTED],
|
||||
G_OBJECT_CLASS_TYPE (gobject_class),
|
||||
_gtk_marshal_INT__OBJECT_OBJECT_POINTERv);
|
||||
|
||||
/*
|
||||
* GtkPlacesSidebar::drag-action-ask:
|
||||
@@ -4237,6 +4244,9 @@ gtk_places_sidebar_class_init (GtkPlacesSidebarClass *class)
|
||||
_gtk_marshal_INT__INT,
|
||||
GDK_TYPE_DRAG_ACTION, 1,
|
||||
GDK_TYPE_DRAG_ACTION);
|
||||
g_signal_set_va_marshaller (places_sidebar_signals[DRAG_ACTION_ASK],
|
||||
G_OBJECT_CLASS_TYPE (gobject_class),
|
||||
_gtk_marshal_INT__INTv);
|
||||
|
||||
/*
|
||||
* GtkPlacesSidebar::drag-perform-drop:
|
||||
@@ -4263,6 +4273,9 @@ gtk_places_sidebar_class_init (GtkPlacesSidebarClass *class)
|
||||
G_TYPE_OBJECT,
|
||||
GDK_TYPE_FILE_LIST,
|
||||
GDK_TYPE_DRAG_ACTION);
|
||||
g_signal_set_va_marshaller (places_sidebar_signals[DRAG_PERFORM_DROP],
|
||||
G_OBJECT_CLASS_TYPE (gobject_class),
|
||||
_gtk_marshal_VOID__OBJECT_POINTER_INTv);
|
||||
|
||||
/*
|
||||
* GtkPlacesSidebar::show-other-locations-with-flags:
|
||||
|
||||
@@ -2266,6 +2266,9 @@ gtk_places_view_class_init (GtkPlacesViewClass *klass)
|
||||
G_TYPE_NONE, 2,
|
||||
G_TYPE_STRING,
|
||||
G_TYPE_STRING);
|
||||
g_signal_set_va_marshaller (places_view_signals [SHOW_ERROR_MESSAGE],
|
||||
G_TYPE_FROM_CLASS (object_class),
|
||||
_gtk_marshal_VOID__STRING_STRINGv);
|
||||
|
||||
properties[PROP_LOADING] =
|
||||
g_param_spec_boolean ("loading", NULL, NULL,
|
||||
|
||||
+14
-13
@@ -129,6 +129,7 @@
|
||||
#include "gtkroundedboxprivate.h"
|
||||
#include "gsk/gskroundedrectprivate.h"
|
||||
#include "gtkcssshadowvalueprivate.h"
|
||||
#include "gtkcsscornervalueprivate.h"
|
||||
|
||||
#include "gdk/gdksurfaceprivate.h"
|
||||
|
||||
@@ -1017,8 +1018,7 @@ gtk_popover_unrealize (GtkWidget *widget)
|
||||
g_signal_handlers_disconnect_by_func (priv->surface, surface_render, widget);
|
||||
g_signal_handlers_disconnect_by_func (priv->surface, surface_event, widget);
|
||||
gdk_surface_set_widget (priv->surface, NULL);
|
||||
gdk_surface_destroy (priv->surface);
|
||||
g_clear_object (&priv->surface);
|
||||
g_clear_pointer (&priv->surface, gdk_surface_destroy);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
@@ -1197,6 +1197,16 @@ gtk_popover_finalize (GObject *object)
|
||||
G_OBJECT_CLASS (gtk_popover_parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
static double
|
||||
get_border_radius (GtkWidget *widget)
|
||||
{
|
||||
GtkCssStyle *style = gtk_css_node_get_style (gtk_widget_get_css_node (widget));
|
||||
|
||||
/* FIXME this is a very crude interpretation of border radius */
|
||||
return MAX (_gtk_css_corner_value_get_x (style->border->border_top_left_radius, 100),
|
||||
_gtk_css_corner_value_get_y (style->border->border_top_left_radius, 100));
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_popover_get_gap_coords (GtkPopover *popover,
|
||||
int *initial_x_out,
|
||||
@@ -1231,7 +1241,7 @@ gtk_popover_get_gap_coords (GtkPopover *popover,
|
||||
pos = priv->final_position;
|
||||
|
||||
style = gtk_css_node_get_style (gtk_widget_get_css_node (priv->contents_widget));
|
||||
border_radius = _gtk_css_number_value_get (style->border->border_top_left_radius, 100);
|
||||
border_radius = round (get_border_radius (widget));
|
||||
border_top = _gtk_css_number_value_get (style->border->border_top_width, 100);
|
||||
border_right = _gtk_css_number_value_get (style->border->border_right_width, 100);
|
||||
border_bottom = _gtk_css_number_value_get (style->border->border_bottom_width, 100);
|
||||
@@ -1430,15 +1440,6 @@ gtk_popover_update_shape (GtkPopover *popover)
|
||||
gtk_native_update_opaque_region (GTK_NATIVE (popover), priv->contents_widget, TRUE, TRUE, 0);
|
||||
}
|
||||
|
||||
static int
|
||||
get_border_radius (GtkWidget *widget)
|
||||
{
|
||||
GtkCssStyle *style;
|
||||
|
||||
style = gtk_css_node_get_style (gtk_widget_get_css_node (widget));
|
||||
return round (_gtk_css_number_value_get (style->border->border_top_left_radius, 100));
|
||||
}
|
||||
|
||||
static int
|
||||
get_minimal_size (GtkPopover *popover,
|
||||
GtkOrientation orientation)
|
||||
@@ -1449,7 +1450,7 @@ get_minimal_size (GtkPopover *popover,
|
||||
int tail_gap_width = priv->has_arrow ? TAIL_GAP_WIDTH : 0;
|
||||
int min_width, min_height;
|
||||
|
||||
minimal_size = 2 * get_border_radius (GTK_WIDGET (priv->contents_widget));
|
||||
minimal_size = 2 * round (get_border_radius (GTK_WIDGET (priv->contents_widget)));
|
||||
pos = priv->position;
|
||||
|
||||
if ((orientation == GTK_ORIENTATION_HORIZONTAL && POS_IS_VERTICAL (pos)) ||
|
||||
|
||||
+34
-16
@@ -27,6 +27,7 @@
|
||||
|
||||
#include "gtkprintoperation-private.h"
|
||||
#include "gtkmarshalers.h"
|
||||
#include "gdk/gdkmarshalers.h"
|
||||
#include <glib/gi18n-lib.h>
|
||||
#include "gtkprivate.h"
|
||||
#include "deprecated/gtkmessagedialog.h"
|
||||
@@ -821,13 +822,15 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
|
||||
*/
|
||||
signals[PAGINATE] =
|
||||
g_signal_new (I_("paginate"),
|
||||
G_TYPE_FROM_CLASS (gobject_class),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (GtkPrintOperationClass, paginate),
|
||||
paginate_accumulator, NULL,
|
||||
_gtk_marshal_BOOLEAN__OBJECT,
|
||||
G_TYPE_BOOLEAN, 1, GTK_TYPE_PRINT_CONTEXT);
|
||||
|
||||
G_TYPE_FROM_CLASS (gobject_class),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (GtkPrintOperationClass, paginate),
|
||||
paginate_accumulator, NULL,
|
||||
_gdk_marshal_BOOLEAN__OBJECT,
|
||||
G_TYPE_BOOLEAN, 1, GTK_TYPE_PRINT_CONTEXT);
|
||||
g_signal_set_va_marshaller (signals[PAGINATE],
|
||||
G_TYPE_FROM_CLASS (gobject_class),
|
||||
_gdk_marshal_BOOLEAN__OBJECTv);
|
||||
|
||||
/**
|
||||
* GtkPrintOperation::request-page-setup:
|
||||
@@ -844,15 +847,18 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
|
||||
*/
|
||||
signals[REQUEST_PAGE_SETUP] =
|
||||
g_signal_new (I_("request-page-setup"),
|
||||
G_TYPE_FROM_CLASS (gobject_class),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (GtkPrintOperationClass, request_page_setup),
|
||||
NULL, NULL,
|
||||
_gtk_marshal_VOID__OBJECT_INT_OBJECT,
|
||||
G_TYPE_NONE, 3,
|
||||
GTK_TYPE_PRINT_CONTEXT,
|
||||
G_TYPE_INT,
|
||||
GTK_TYPE_PAGE_SETUP);
|
||||
G_TYPE_FROM_CLASS (gobject_class),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (GtkPrintOperationClass, request_page_setup),
|
||||
NULL, NULL,
|
||||
_gtk_marshal_VOID__OBJECT_INT_OBJECT,
|
||||
G_TYPE_NONE, 3,
|
||||
GTK_TYPE_PRINT_CONTEXT,
|
||||
G_TYPE_INT,
|
||||
GTK_TYPE_PAGE_SETUP);
|
||||
g_signal_set_va_marshaller (signals[REQUEST_PAGE_SETUP],
|
||||
G_TYPE_FROM_CLASS (gobject_class),
|
||||
_gtk_marshal_VOID__OBJECT_INT_OBJECTv);
|
||||
|
||||
/**
|
||||
* GtkPrintOperation::draw-page:
|
||||
@@ -922,6 +928,9 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
|
||||
G_TYPE_NONE, 2,
|
||||
GTK_TYPE_PRINT_CONTEXT,
|
||||
G_TYPE_INT);
|
||||
g_signal_set_va_marshaller (signals[DRAW_PAGE],
|
||||
G_TYPE_FROM_CLASS (gobject_class),
|
||||
_gtk_marshal_VOID__OBJECT_INTv);
|
||||
|
||||
/**
|
||||
* GtkPrintOperation::end-print:
|
||||
@@ -989,6 +998,9 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
|
||||
custom_widget_accumulator, NULL,
|
||||
_gtk_marshal_OBJECT__VOID,
|
||||
G_TYPE_OBJECT, 0);
|
||||
g_signal_set_va_marshaller (signals[CREATE_CUSTOM_WIDGET],
|
||||
G_TYPE_FROM_CLASS (gobject_class),
|
||||
_gtk_marshal_OBJECT__VOIDv);
|
||||
|
||||
/**
|
||||
* GtkPrintOperation::update-custom-widget:
|
||||
@@ -1010,6 +1022,9 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
|
||||
NULL, NULL,
|
||||
_gtk_marshal_VOID__OBJECT_OBJECT_OBJECT,
|
||||
G_TYPE_NONE, 3, GTK_TYPE_WIDGET, GTK_TYPE_PAGE_SETUP, GTK_TYPE_PRINT_SETTINGS);
|
||||
g_signal_set_va_marshaller (signals[UPDATE_CUSTOM_WIDGET],
|
||||
G_TYPE_FROM_CLASS (gobject_class),
|
||||
_gtk_marshal_VOID__OBJECT_OBJECT_OBJECTv);
|
||||
|
||||
/**
|
||||
* GtkPrintOperation::custom-widget-apply:
|
||||
@@ -1070,6 +1085,9 @@ gtk_print_operation_class_init (GtkPrintOperationClass *class)
|
||||
GTK_TYPE_PRINT_OPERATION_PREVIEW,
|
||||
GTK_TYPE_PRINT_CONTEXT,
|
||||
GTK_TYPE_WINDOW);
|
||||
g_signal_set_va_marshaller (signals[PREVIEW],
|
||||
G_TYPE_FROM_CLASS (gobject_class),
|
||||
_gtk_marshal_BOOLEAN__OBJECT_OBJECT_OBJECTv);
|
||||
|
||||
/**
|
||||
* GtkPrintOperation:default-page-setup: (attributes org.gtk.Property.get=gtk_print_operation_get_default_page_setup org.gtk.Property.set=gtk_print_operation_set_default_page_setup)
|
||||
|
||||
@@ -73,6 +73,8 @@ gtk_print_operation_preview_base_init (gpointer g_iface)
|
||||
|
||||
if (!initialized)
|
||||
{
|
||||
unsigned int id;
|
||||
|
||||
/**
|
||||
* GtkPrintOperationPreview::ready:
|
||||
* @preview: the object on which the signal is emitted
|
||||
@@ -104,15 +106,18 @@ gtk_print_operation_preview_base_init (gpointer g_iface)
|
||||
* according to @page_setup and set up a suitable cairo
|
||||
* context, using [method@Gtk.PrintContext.set_cairo_context].
|
||||
*/
|
||||
g_signal_new (I_("got-page-size"),
|
||||
GTK_TYPE_PRINT_OPERATION_PREVIEW,
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (GtkPrintOperationPreviewIface, got_page_size),
|
||||
NULL, NULL,
|
||||
_gtk_marshal_VOID__OBJECT_OBJECT,
|
||||
G_TYPE_NONE, 2,
|
||||
GTK_TYPE_PRINT_CONTEXT,
|
||||
GTK_TYPE_PAGE_SETUP);
|
||||
id = g_signal_new (I_("got-page-size"),
|
||||
GTK_TYPE_PRINT_OPERATION_PREVIEW,
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (GtkPrintOperationPreviewIface, got_page_size),
|
||||
NULL, NULL,
|
||||
_gtk_marshal_VOID__OBJECT_OBJECT,
|
||||
G_TYPE_NONE, 2,
|
||||
GTK_TYPE_PRINT_CONTEXT,
|
||||
GTK_TYPE_PAGE_SETUP);
|
||||
g_signal_set_va_marshaller (id,
|
||||
GTK_TYPE_PRINT_OPERATION_PREVIEW,
|
||||
_gtk_marshal_VOID__OBJECT_OBJECTv);
|
||||
|
||||
initialized = TRUE;
|
||||
}
|
||||
|
||||
@@ -365,6 +365,9 @@ gtk_range_class_init (GtkRangeClass *class)
|
||||
G_TYPE_BOOLEAN, 2,
|
||||
GTK_TYPE_SCROLL_TYPE,
|
||||
G_TYPE_DOUBLE);
|
||||
g_signal_set_va_marshaller (signals[CHANGE_VALUE],
|
||||
G_TYPE_FROM_CLASS (gobject_class),
|
||||
_gtk_marshal_BOOLEAN__ENUM_DOUBLEv);
|
||||
|
||||
g_object_class_override_property (gobject_class, PROP_ORIENTATION, "orientation");
|
||||
|
||||
|
||||
@@ -781,6 +781,9 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class)
|
||||
G_TYPE_BOOLEAN, 2,
|
||||
GTK_TYPE_SCROLL_TYPE,
|
||||
G_TYPE_BOOLEAN);
|
||||
g_signal_set_va_marshaller (signals[SCROLL_CHILD],
|
||||
G_TYPE_FROM_CLASS (gobject_class),
|
||||
_gtk_marshal_BOOLEAN__ENUM_BOOLEANv);
|
||||
|
||||
/**
|
||||
* GtkScrolledWindow::move-focus-out:
|
||||
|
||||
@@ -352,6 +352,9 @@ gtk_shortcuts_section_class_init (GtkShortcutsSectionClass *klass)
|
||||
_gtk_marshal_BOOLEAN__INT,
|
||||
G_TYPE_BOOLEAN, 1,
|
||||
G_TYPE_INT);
|
||||
g_signal_set_va_marshaller (signals[CHANGE_CURRENT_PAGE],
|
||||
G_TYPE_FROM_CLASS (object_class),
|
||||
_gtk_marshal_BOOLEAN__INTv);
|
||||
|
||||
gtk_widget_class_add_binding_signal (widget_class,
|
||||
GDK_KEY_Page_Up, 0,
|
||||
|
||||
+8
-4
@@ -479,6 +479,9 @@ gtk_spin_button_class_init (GtkSpinButtonClass *class)
|
||||
_gtk_marshal_INT__POINTER,
|
||||
G_TYPE_INT, 1,
|
||||
G_TYPE_POINTER);
|
||||
g_signal_set_va_marshaller (spinbutton_signals[INPUT],
|
||||
G_TYPE_FROM_CLASS (gobject_class),
|
||||
_gtk_marshal_INT__POINTERv);
|
||||
|
||||
/**
|
||||
* GtkSpinButton::output:
|
||||
@@ -516,6 +519,9 @@ gtk_spin_button_class_init (GtkSpinButtonClass *class)
|
||||
_gtk_boolean_handled_accumulator, NULL,
|
||||
_gtk_marshal_BOOLEAN__VOID,
|
||||
G_TYPE_BOOLEAN, 0);
|
||||
g_signal_set_va_marshaller (spinbutton_signals[OUTPUT],
|
||||
G_TYPE_FROM_CLASS (gobject_class),
|
||||
_gtk_marshal_BOOLEAN__VOIDv);
|
||||
|
||||
/**
|
||||
* GtkSpinButton::value-changed:
|
||||
@@ -996,7 +1002,6 @@ gtk_spin_button_init (GtkSpinButton *spin_button)
|
||||
{
|
||||
GtkEventController *controller;
|
||||
GtkGesture *gesture;
|
||||
GtkLayoutManager *layout;
|
||||
|
||||
spin_button->adjustment = NULL;
|
||||
spin_button->timer = 0;
|
||||
@@ -1012,9 +1017,6 @@ gtk_spin_button_init (GtkSpinButton *spin_button)
|
||||
spin_button->snap_to_ticks = FALSE;
|
||||
spin_button->width_chars = -1;
|
||||
|
||||
layout = gtk_widget_get_layout_manager (GTK_WIDGET (spin_button));
|
||||
gtk_box_layout_set_baseline_child (GTK_BOX_LAYOUT (layout), 1);
|
||||
|
||||
gtk_widget_update_orientation (GTK_WIDGET (spin_button), GTK_ORIENTATION_HORIZONTAL);
|
||||
|
||||
spin_button->entry = gtk_text_new ();
|
||||
@@ -1217,11 +1219,13 @@ gtk_spin_button_set_orientation (GtkSpinButton *spin,
|
||||
{
|
||||
/* Current orientation of the box is vertical! */
|
||||
gtk_widget_insert_after (spin->up_button, GTK_WIDGET (spin), spin->down_button);
|
||||
gtk_box_layout_set_baseline_child (layout_manager, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Current orientation of the box is horizontal! */
|
||||
gtk_widget_insert_before (spin->up_button, GTK_WIDGET (spin), spin->entry);
|
||||
gtk_box_layout_set_baseline_child (layout_manager, 1);
|
||||
}
|
||||
|
||||
g_object_notify (G_OBJECT (spin), "orientation");
|
||||
|
||||
@@ -1038,6 +1038,9 @@ gtk_text_class_init (GtkTextClass *class)
|
||||
GTK_TYPE_MOVEMENT_STEP,
|
||||
G_TYPE_INT,
|
||||
G_TYPE_BOOLEAN);
|
||||
g_signal_set_va_marshaller (signals[MOVE_CURSOR],
|
||||
G_OBJECT_CLASS_TYPE (gobject_class),
|
||||
_gtk_marshal_VOID__ENUM_INT_BOOLEANv);
|
||||
|
||||
/**
|
||||
* GtkText::insert-at-cursor:
|
||||
@@ -1089,6 +1092,9 @@ gtk_text_class_init (GtkTextClass *class)
|
||||
G_TYPE_NONE, 2,
|
||||
GTK_TYPE_DELETE_TYPE,
|
||||
G_TYPE_INT);
|
||||
g_signal_set_va_marshaller (signals[DELETE_FROM_CURSOR],
|
||||
G_OBJECT_CLASS_TYPE (gobject_class),
|
||||
_gtk_marshal_VOID__ENUM_INTv);
|
||||
|
||||
/**
|
||||
* GtkText::backspace:
|
||||
|
||||
+18
-13
@@ -25,6 +25,7 @@
|
||||
#include "gtkgesturedrag.h"
|
||||
#include "gtkgizmoprivate.h"
|
||||
#include "gtkmarshalers.h"
|
||||
#include "gdk/gdkmarshalers.h"
|
||||
#include "gtknativeprivate.h"
|
||||
#include "gtkprivatetypebuiltins.h"
|
||||
#include "gtkrendericonprivate.h"
|
||||
@@ -280,8 +281,7 @@ gtk_text_handle_unrealize (GtkWidget *widget)
|
||||
g_signal_handlers_disconnect_by_func (handle->surface, surface_mapped_changed, widget);
|
||||
|
||||
gdk_surface_set_widget (handle->surface, NULL);
|
||||
gdk_surface_destroy (handle->surface);
|
||||
g_clear_object (&handle->surface);
|
||||
g_clear_pointer (&handle->surface, gdk_surface_destroy);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -363,24 +363,29 @@ gtk_text_handle_class_init (GtkTextHandleClass *klass)
|
||||
|
||||
signals[HANDLE_DRAGGED] =
|
||||
g_signal_new (I_("handle-dragged"),
|
||||
G_OBJECT_CLASS_TYPE (object_class),
|
||||
G_SIGNAL_RUN_LAST, 0,
|
||||
NULL, NULL,
|
||||
_gtk_marshal_VOID__INT_INT,
|
||||
G_TYPE_NONE, 2,
|
||||
G_OBJECT_CLASS_TYPE (object_class),
|
||||
G_SIGNAL_RUN_LAST, 0,
|
||||
NULL, NULL,
|
||||
_gdk_marshal_VOID__INT_INT,
|
||||
G_TYPE_NONE, 2,
|
||||
G_TYPE_INT, G_TYPE_INT);
|
||||
g_signal_set_va_marshaller (signals[HANDLE_DRAGGED],
|
||||
G_OBJECT_CLASS_TYPE (object_class),
|
||||
_gdk_marshal_VOID__INT_INTv);
|
||||
|
||||
signals[DRAG_STARTED] =
|
||||
g_signal_new (I_("drag-started"),
|
||||
G_OBJECT_CLASS_TYPE (object_class),
|
||||
G_SIGNAL_RUN_LAST, 0,
|
||||
NULL, NULL,
|
||||
G_OBJECT_CLASS_TYPE (object_class),
|
||||
G_SIGNAL_RUN_LAST, 0,
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
G_TYPE_NONE, 0, G_TYPE_NONE);
|
||||
|
||||
signals[DRAG_FINISHED] =
|
||||
g_signal_new (I_("drag-finished"),
|
||||
G_OBJECT_CLASS_TYPE (object_class),
|
||||
G_SIGNAL_RUN_LAST, 0,
|
||||
NULL, NULL,
|
||||
G_OBJECT_CLASS_TYPE (object_class),
|
||||
G_SIGNAL_RUN_LAST, 0,
|
||||
NULL, NULL,
|
||||
NULL,
|
||||
G_TYPE_NONE, 0, G_TYPE_NONE);
|
||||
|
||||
|
||||
@@ -272,6 +272,8 @@ gtk_text_layout_class_init (GtkTextLayoutClass *klass)
|
||||
G_TYPE_OBJECT,
|
||||
G_TYPE_INT,
|
||||
G_TYPE_INT);
|
||||
g_signal_set_va_marshaller (signals[ALLOCATE_CHILD], G_TYPE_FROM_CLASS (klass),
|
||||
_gtk_marshal_VOID__OBJECT_INT_INTv);
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@@ -240,8 +240,7 @@ gtk_tooltip_window_unrealize (GtkWidget *widget)
|
||||
g_signal_handlers_disconnect_by_func (window->surface, surface_render, widget);
|
||||
g_signal_handlers_disconnect_by_func (window->surface, surface_event, widget);
|
||||
gdk_surface_set_widget (window->surface, NULL);
|
||||
gdk_surface_destroy (window->surface);
|
||||
g_clear_object (&window->surface);
|
||||
g_clear_pointer (&window->surface, gdk_surface_destroy);
|
||||
}
|
||||
|
||||
|
||||
|
||||
+17
-7
@@ -277,13 +277,14 @@ G_GNUC_END_IGNORE_DEPRECATIONS
|
||||
* Since: 4.10
|
||||
*/
|
||||
void
|
||||
gtk_uri_launcher_launch (GtkUriLauncher *self,
|
||||
GtkWindow *parent,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
gtk_uri_launcher_launch (GtkUriLauncher *self,
|
||||
GtkWindow *parent,
|
||||
GCancellable *cancellable,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
{
|
||||
GTask *task;
|
||||
GError *error = NULL;
|
||||
|
||||
g_return_if_fail (GTK_IS_URI_LAUNCHER (self));
|
||||
|
||||
@@ -299,6 +300,15 @@ gtk_uri_launcher_launch (GtkUriLauncher *self,
|
||||
return;
|
||||
}
|
||||
|
||||
if (!g_uri_is_valid (self->uri, G_URI_FLAGS_NONE, &error))
|
||||
{
|
||||
g_task_return_new_error (task,
|
||||
GTK_DIALOG_ERROR, GTK_DIALOG_ERROR_FAILED,
|
||||
"%s is not a valid uri: %s", self->uri, error->message);
|
||||
g_error_free (error);
|
||||
return;
|
||||
}
|
||||
|
||||
#ifndef G_OS_WIN32
|
||||
if (gtk_openuri_portal_is_available ())
|
||||
gtk_openuri_portal_open_uri_async (self->uri, parent, cancellable, open_done, task);
|
||||
@@ -325,8 +335,8 @@ G_GNUC_END_IGNORE_DEPRECATIONS
|
||||
*/
|
||||
gboolean
|
||||
gtk_uri_launcher_launch_finish (GtkUriLauncher *self,
|
||||
GAsyncResult *result,
|
||||
GError **error)
|
||||
GAsyncResult *result,
|
||||
GError **error)
|
||||
{
|
||||
g_return_val_if_fail (GTK_IS_URI_LAUNCHER (self), FALSE);
|
||||
g_return_val_if_fail (g_task_is_valid (result, self), FALSE);
|
||||
|
||||
+12
-12
@@ -1890,7 +1890,7 @@ gtk_widget_class_init (GtkWidgetClass *klass)
|
||||
* @keyboard_mode: %TRUE if the tooltip was triggered using the keyboard
|
||||
* @tooltip: a `GtkTooltip`
|
||||
*
|
||||
* Emitted when the widgets tooltip is about to be shown.
|
||||
* Emitted when the widget’s tooltip is about to be shown.
|
||||
*
|
||||
* This happens when the [property@Gtk.Widget:has-tooltip] property
|
||||
* is %TRUE and the hover timeout has expired with the cursor hovering
|
||||
@@ -10239,8 +10239,8 @@ gtk_widget_do_pick (GtkWidget *widget,
|
||||
gsk_transform_unref (transform);
|
||||
graphene_point3d_init (&p0, x, y, 0);
|
||||
graphene_point3d_init (&p1, x, y, 1);
|
||||
graphene_matrix_transform_point3d (&inv, &p0, &p0);
|
||||
graphene_matrix_transform_point3d (&inv, &p1, &p1);
|
||||
gsk_matrix_transform_point3d (&inv, &p0, &p0);
|
||||
gsk_matrix_transform_point3d (&inv, &p1, &p1);
|
||||
if (fabs (p0.z - p1.z) < 1.f / 4096)
|
||||
continue;
|
||||
|
||||
@@ -10644,7 +10644,7 @@ gtk_widget_set_overflow (GtkWidget *widget,
|
||||
* gtk_widget_get_overflow: (attributes org.gtk.Method.get_property=overflow)
|
||||
* @widget: a `GtkWidget`
|
||||
*
|
||||
* Returns the widgets overflow value.
|
||||
* Returns the widget’s overflow value.
|
||||
*
|
||||
* Returns: The widget's overflow.
|
||||
**/
|
||||
@@ -10932,7 +10932,7 @@ _gtk_widget_peek_style_context (GtkWidget *widget)
|
||||
* The returned object is guaranteed to be the same
|
||||
* for the lifetime of @widget.
|
||||
*
|
||||
* Returns: (transfer none): the widgets `GtkStyleContext`
|
||||
* Returns: (transfer none): the widget’s `GtkStyleContext`
|
||||
*
|
||||
* Deprecated: 4.10: Style contexts will be removed in GTK 5
|
||||
*/
|
||||
@@ -12070,7 +12070,7 @@ gtk_widget_observe_controllers (GtkWidget *widget)
|
||||
* gtk_widget_get_first_child:
|
||||
* @widget: a `GtkWidget`
|
||||
*
|
||||
* Returns the widgets first child.
|
||||
* Returns the widget’s first child.
|
||||
*
|
||||
* This API is primarily meant for widget implementations.
|
||||
*
|
||||
@@ -12090,7 +12090,7 @@ gtk_widget_get_first_child (GtkWidget *widget)
|
||||
* gtk_widget_get_last_child:
|
||||
* @widget: a `GtkWidget`
|
||||
*
|
||||
* Returns the widgets last child.
|
||||
* Returns the widget’s last child.
|
||||
*
|
||||
* This API is primarily meant for widget implementations.
|
||||
*
|
||||
@@ -12110,7 +12110,7 @@ gtk_widget_get_last_child (GtkWidget *widget)
|
||||
* gtk_widget_get_next_sibling:
|
||||
* @widget: a `GtkWidget`
|
||||
*
|
||||
* Returns the widgets next sibling.
|
||||
* Returns the widget’s next sibling.
|
||||
*
|
||||
* This API is primarily meant for widget implementations.
|
||||
*
|
||||
@@ -12130,7 +12130,7 @@ gtk_widget_get_next_sibling (GtkWidget *widget)
|
||||
* gtk_widget_get_prev_sibling:
|
||||
* @widget: a `GtkWidget`
|
||||
*
|
||||
* Returns the widgets previous sibling.
|
||||
* Returns the widget’s previous sibling.
|
||||
*
|
||||
* This API is primarily meant for widget implementations.
|
||||
*
|
||||
@@ -12960,7 +12960,7 @@ gtk_widget_get_css_name (GtkWidget *self)
|
||||
*
|
||||
* Adds a style class to @widget.
|
||||
*
|
||||
* After calling this function, the widgets style will match
|
||||
* After calling this function, the widget’s style will match
|
||||
* for @css_class, according to CSS matching rules.
|
||||
*
|
||||
* Use [method@Gtk.Widget.remove_css_class] to remove the
|
||||
@@ -13099,11 +13099,11 @@ gtk_widget_set_css_classes (GtkWidget *widget,
|
||||
* @widget: a `GtkWidget`
|
||||
* @color: (out): return location for the color
|
||||
*
|
||||
* Gets the current foreground color for the widgets
|
||||
* Gets the current foreground color for the widget’s
|
||||
* CSS style.
|
||||
*
|
||||
* This function should only be used in snapshot
|
||||
* implementations that need need to do custom
|
||||
* implementations that need to do custom
|
||||
* drawing with the foreground color.
|
||||
*
|
||||
* Since: 4.10
|
||||
|
||||
+25
-1
@@ -17,6 +17,8 @@
|
||||
|
||||
#include "gtkwidgetprivate.h"
|
||||
#include "gtknative.h"
|
||||
#include "gtkboxlayout.h"
|
||||
#include "gtkorientable.h"
|
||||
|
||||
typedef struct _CompareInfo CompareInfo;
|
||||
|
||||
@@ -434,7 +436,29 @@ gtk_widget_focus_sort (GtkWidget *widget,
|
||||
{
|
||||
case GTK_DIR_TAB_FORWARD:
|
||||
case GTK_DIR_TAB_BACKWARD:
|
||||
focus_sort_tab (widget, direction, focus_order);
|
||||
{
|
||||
GtkLayoutManager *layout = gtk_widget_get_layout_manager (widget);
|
||||
if (GTK_IS_BOX_LAYOUT (layout))
|
||||
{
|
||||
GtkOrientation orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (layout));
|
||||
if (orientation == GTK_ORIENTATION_HORIZONTAL)
|
||||
{
|
||||
if (direction == GTK_DIR_TAB_FORWARD)
|
||||
focus_sort_left_right (widget, GTK_DIR_RIGHT, focus_order);
|
||||
else
|
||||
focus_sort_left_right (widget, GTK_DIR_LEFT, focus_order);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (direction == GTK_DIR_TAB_FORWARD)
|
||||
focus_sort_up_down (widget, GTK_DIR_DOWN, focus_order);
|
||||
else
|
||||
focus_sort_up_down (widget, GTK_DIR_UP, focus_order);
|
||||
}
|
||||
}
|
||||
else
|
||||
focus_sort_tab (widget, direction, focus_order);
|
||||
}
|
||||
break;
|
||||
case GTK_DIR_UP:
|
||||
case GTK_DIR_DOWN:
|
||||
|
||||
+9
-3
@@ -1131,6 +1131,9 @@ gtk_window_class_init (GtkWindowClass *klass)
|
||||
_gtk_marshal_BOOLEAN__BOOLEAN,
|
||||
G_TYPE_BOOLEAN,
|
||||
1, G_TYPE_BOOLEAN);
|
||||
g_signal_set_va_marshaller (window_signals[ENABLE_DEBUGGING],
|
||||
G_TYPE_FROM_CLASS (gobject_class),
|
||||
_gtk_marshal_BOOLEAN__BOOLEANv);
|
||||
|
||||
/**
|
||||
* GtkWindow::close-request:
|
||||
@@ -1146,9 +1149,13 @@ gtk_window_class_init (GtkWindowClass *klass)
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (GtkWindowClass, close_request),
|
||||
_gtk_boolean_handled_accumulator, NULL,
|
||||
NULL,
|
||||
_gtk_marshal_BOOLEAN__VOID,
|
||||
G_TYPE_BOOLEAN,
|
||||
0);
|
||||
g_signal_set_va_marshaller (window_signals[CLOSE_REQUEST],
|
||||
GTK_TYPE_WINDOW,
|
||||
_gtk_marshal_BOOLEAN__VOIDv);
|
||||
|
||||
|
||||
/*
|
||||
* Key bindings
|
||||
@@ -4451,8 +4458,7 @@ gtk_window_unrealize (GtkWidget *widget)
|
||||
GTK_WIDGET_CLASS (gtk_window_parent_class)->unrealize (widget);
|
||||
|
||||
gdk_surface_set_widget (surface, NULL);
|
||||
gdk_surface_destroy (surface);
|
||||
g_clear_object (&priv->surface);
|
||||
g_clear_pointer (&priv->surface, gdk_surface_destroy);
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@@ -260,7 +260,7 @@ update_style (GtkInspectorCssEditor *ce)
|
||||
ce->priv->errors = NULL;
|
||||
|
||||
text = get_current_text (ce->priv->text);
|
||||
gtk_css_provider_load_from_data (ce->priv->provider, text, -1);
|
||||
gtk_css_provider_load_from_string (ce->priv->provider, text);
|
||||
g_free (text);
|
||||
}
|
||||
|
||||
|
||||
@@ -4304,6 +4304,8 @@ shortcuts-section {
|
||||
// shortcut window keys
|
||||
shortcut {
|
||||
border-spacing: 6px;
|
||||
border-radius: 5px;
|
||||
@include focus-ring();
|
||||
}
|
||||
|
||||
shortcut > .keycap {
|
||||
|
||||
@@ -57,6 +57,7 @@
|
||||
<child>
|
||||
<object class="GtkVolumeButton" id="volume_button">
|
||||
<property name="adjustment">volume_adjustment</property>
|
||||
<property name="valign">center</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
|
||||
+8
-10
@@ -1,5 +1,5 @@
|
||||
project('gtk', 'c',
|
||||
version: '4.11.2',
|
||||
version: '4.11.3',
|
||||
default_options: [
|
||||
'buildtype=debugoptimized',
|
||||
'warning_level=1',
|
||||
@@ -7,7 +7,7 @@ project('gtk', 'c',
|
||||
# https://github.com/mesonbuild/meson/issues/2289
|
||||
'c_std=gnu99',
|
||||
],
|
||||
meson_version : '>= 0.60.0',
|
||||
meson_version : '>= 0.63.0',
|
||||
license: 'LGPL-2.1-or-later')
|
||||
|
||||
# keep these numbers in sync with wrap files where there exist
|
||||
@@ -753,7 +753,7 @@ subdir('gdk')
|
||||
subdir('gsk')
|
||||
subdir('gtk')
|
||||
subdir('modules')
|
||||
if get_option('demos')
|
||||
if get_option('build-demos')
|
||||
subdir('demos')
|
||||
endif
|
||||
subdir('tools')
|
||||
@@ -860,7 +860,7 @@ if not meson.is_cross_build()
|
||||
gnome.post_install(
|
||||
glib_compile_schemas: true,
|
||||
gio_querymodules: gio_module_dirs,
|
||||
gtk_update_icon_cache: get_option('demos'),
|
||||
gtk_update_icon_cache: get_option('build-demos'),
|
||||
)
|
||||
else
|
||||
message('Not executing post-install steps automatically when cross compiling')
|
||||
@@ -880,9 +880,9 @@ endif
|
||||
|
||||
#### Summary ####
|
||||
|
||||
summary('Display backends', display_backends)
|
||||
summary('Print backends', print_backends)
|
||||
summary('Media backends', media_backends)
|
||||
summary('Display backends', display_backends, section: 'Components')
|
||||
summary('Print backends', print_backends, section: 'Components')
|
||||
summary('Media backends', media_backends, section: 'Components')
|
||||
|
||||
summary('Vulkan support', vulkan_dep.found(), section: 'Features')
|
||||
summary('Cloud support', cloudproviders_dep.found(), section: 'Features')
|
||||
@@ -893,7 +893,6 @@ summary('Tracker support', tracker3_dep.found(), section: 'Features')
|
||||
summary('Compiler', cc.get_id(), section: 'Toolchain')
|
||||
summary('Linker', cc.get_linker_id(), section: 'Toolchain')
|
||||
|
||||
# Build
|
||||
summary('Debugging', get_option('debug'), section: 'Build')
|
||||
summary('Optimization', get_option('optimization'), section: 'Build')
|
||||
summary('Introspection', build_gir, section: 'Build')
|
||||
@@ -901,10 +900,9 @@ summary('Documentation', get_option('gtk_doc'), section: 'Build')
|
||||
summary('Man pages', get_option('man-pages'), section: 'Build')
|
||||
summary('Testsuite', get_option('build-testsuite'), section: 'Build')
|
||||
summary('Tests', get_option('build-tests'), section: 'Build')
|
||||
summary('Demos', get_option('demos'), section: 'Build')
|
||||
summary('Demos', get_option('build-demos'), section: 'Build')
|
||||
summary('Examples', get_option('build-examples'), section: 'Build')
|
||||
|
||||
# Directories
|
||||
summary('prefix', gtk_prefix, section: 'Directories')
|
||||
summary('includedir', gtk_includedir, section: 'Directories')
|
||||
summary('libdir', gtk_libdir, section: 'Directories')
|
||||
|
||||
+13
-2
@@ -108,7 +108,13 @@ option('introspection',
|
||||
|
||||
# Demos, examples and tests
|
||||
|
||||
option('demos',
|
||||
option('demo-profile',
|
||||
type: 'combo',
|
||||
choices: [ 'default', 'devel' ],
|
||||
value: 'default',
|
||||
description : 'Profile to use for demos')
|
||||
|
||||
option('build-demos',
|
||||
type: 'boolean',
|
||||
value: true,
|
||||
description : 'Build demo programs')
|
||||
@@ -117,7 +123,12 @@ option('profile',
|
||||
type: 'combo',
|
||||
choices: [ 'default', 'devel' ],
|
||||
value: 'default',
|
||||
description : 'Profile to use for demos')
|
||||
deprecated: 'demo-profile')
|
||||
|
||||
option('demos',
|
||||
type: 'boolean',
|
||||
value: true,
|
||||
deprecated: 'build-demos')
|
||||
|
||||
option('build-testsuite',
|
||||
type: 'boolean',
|
||||
|
||||
@@ -22,8 +22,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gtk master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gtk/-/issues/\n"
|
||||
"POT-Creation-Date: 2023-03-28 09:37+0000\n"
|
||||
"PO-Revision-Date: 2023-03-28 11:35+0200\n"
|
||||
"POT-Creation-Date: 2023-05-12 13:13+0000\n"
|
||||
"PO-Revision-Date: 2023-05-12 15:04+0200\n"
|
||||
"Last-Translator: Guillaume Bernard <associations@guillaume-bernard.fr>\n"
|
||||
"Language-Team: GNOME French Team <gnomefr@traduc.org>\n"
|
||||
"Language: fr\n"
|
||||
@@ -61,7 +61,7 @@ msgstr "Impossible de fournir le contenu comme « %s »"
|
||||
msgid "Cannot provide contents as %s"
|
||||
msgstr "Impossible de fournir le contenu comme %s"
|
||||
|
||||
#: gdk/gdkdisplay.c:154 gdk/gdkglcontext.c:435
|
||||
#: gdk/gdkdisplay.c:154 gdk/gdkglcontext.c:434
|
||||
msgid "The current backend does not support OpenGL"
|
||||
msgstr "Le moteur actuel ne gère pas OpenGL"
|
||||
|
||||
@@ -123,27 +123,27 @@ msgstr ""
|
||||
msgid "No compatible formats to transfer contents."
|
||||
msgstr "Aucun format compatible pour le transfert du contenu."
|
||||
|
||||
#: gdk/gdkglcontext.c:394 gdk/x11/gdkglcontext-glx.c:618
|
||||
#: gdk/gdkglcontext.c:393 gdk/x11/gdkglcontext-glx.c:618
|
||||
msgid "No GL API allowed."
|
||||
msgstr "Aucune API GL autorisée."
|
||||
|
||||
#: gdk/gdkglcontext.c:418 gdk/win32/gdkglcontext-win32-wgl.c:611
|
||||
#: gdk/gdkglcontext.c:417 gdk/win32/gdkglcontext-win32-wgl.c:611
|
||||
#: gdk/x11/gdkglcontext-glx.c:652
|
||||
msgid "Unable to create a GL context"
|
||||
msgstr "Impossible de créer un contexte GL"
|
||||
|
||||
#: gdk/gdkglcontext.c:1286
|
||||
#: gdk/gdkglcontext.c:1276
|
||||
msgid "Anything but OpenGL ES disabled via GDK_DEBUG"
|
||||
msgstr "Tout sauf OpenGL ES est désactivé via GTK_DEBUG"
|
||||
|
||||
#: gdk/gdkglcontext.c:1295
|
||||
#: gdk/gdkglcontext.c:1285
|
||||
#, c-format
|
||||
msgid "Application does not support %s API"
|
||||
msgstr "L’application ne prend pas en charge l’API %s"
|
||||
|
||||
#. translators: This is about OpenGL backend names, like
|
||||
#. * "Trying to use X11 GLX, but EGL is already in use"
|
||||
#: gdk/gdkglcontext.c:1841
|
||||
#: gdk/gdkglcontext.c:1831
|
||||
#, c-format
|
||||
msgid "Trying to use %s, but %s is already in use"
|
||||
msgstr "Tentative d’utilisation de %s, mais %s est déjà utilisé"
|
||||
@@ -577,7 +577,7 @@ msgid "Reading data failed at row %d"
|
||||
msgstr "La lecture des données a échoué à la ligne %d"
|
||||
|
||||
#: gdk/macos/gdkmacospasteboard.c:211 gdk/wayland/gdkclipboard-wayland.c:240
|
||||
#: gdk/wayland/gdkdrop-wayland.c:208 gdk/wayland/gdkprimary-wayland.c:336
|
||||
#: gdk/wayland/gdkdrop-wayland.c:208 gdk/wayland/gdkprimary-wayland.c:343
|
||||
#: gdk/win32/gdkdrop-win32.c:1018 gdk/win32/gdkdrop-win32.c:1063
|
||||
#: gdk/x11/gdkclipboard-x11.c:805 gdk/x11/gdkdrop-x11.c:235
|
||||
msgid "No compatible transfer format found"
|
||||
@@ -1100,7 +1100,7 @@ msgid "Pick a Font"
|
||||
msgstr "Choisissez une police"
|
||||
|
||||
#: gtk/deprecated/gtkfontbutton.c:597 gtk/gtkfilechooserwidget.c:3884
|
||||
#: gtk/gtkfontdialogbutton.c:115 gtk/inspector/visual.ui:170
|
||||
#: gtk/gtkfontdialogbutton.c:115 gtk/inspector/visual.ui:169
|
||||
msgid "Font"
|
||||
msgstr "Police"
|
||||
|
||||
@@ -1748,6 +1748,11 @@ msgctxt "accessibility"
|
||||
msgid "window"
|
||||
msgstr "fenêtre"
|
||||
|
||||
#: gtk/gtkaccessible.c:833
|
||||
msgctxt "accessibility"
|
||||
msgid "toggle button"
|
||||
msgstr "bouton à deux états"
|
||||
|
||||
#: gtk/gtkalertdialog.c:668 gtk/gtkcustompaperunixdialog.c:328
|
||||
#: gtk/gtkmessagedialog.c:166 gtk/ui/gtkassistant.ui:40
|
||||
msgid "_Close"
|
||||
@@ -2317,7 +2322,7 @@ msgid "If you delete an item, it will be permanently lost."
|
||||
msgstr "Si vous supprimez un élément, il sera définitivement perdu."
|
||||
|
||||
#: gtk/gtkfilechooserwidget.c:1174 gtk/gtkfilechooserwidget.c:1802
|
||||
#: gtk/gtklabel.c:5658 gtk/gtktext.c:6099 gtk/gtktextview.c:8999
|
||||
#: gtk/gtklabel.c:5679 gtk/gtktext.c:6117 gtk/gtktextview.c:9021
|
||||
msgid "_Delete"
|
||||
msgstr "_Supprimer"
|
||||
|
||||
@@ -2393,7 +2398,7 @@ msgstr "Dossier personnel"
|
||||
|
||||
#. this is the header for the location column in the print dialog
|
||||
#: gtk/gtkfilechooserwidget.c:2232 gtk/inspector/css-node-tree.ui:76
|
||||
#: gtk/ui/gtkfilechooserwidget.ui:239 gtk/ui/gtkprintunixdialog.ui:114
|
||||
#: gtk/ui/gtkfilechooserwidget.ui:239 gtk/ui/gtkprintunixdialog.ui:111
|
||||
msgid "Location"
|
||||
msgstr "Emplacement"
|
||||
|
||||
@@ -2629,35 +2634,35 @@ msgstr "Variations de caractères"
|
||||
msgid "OpenGL context creation failed"
|
||||
msgstr "La création de contexte OpenGL a échoué"
|
||||
|
||||
#: gtk/gtklabel.c:5655 gtk/gtktext.c:6087 gtk/gtktextview.c:8987
|
||||
#: gtk/gtklabel.c:5676 gtk/gtktext.c:6105 gtk/gtktextview.c:9009
|
||||
msgid "Cu_t"
|
||||
msgstr "Co_uper"
|
||||
|
||||
#: gtk/gtklabel.c:5656 gtk/gtktext.c:6091 gtk/gtktextview.c:8991
|
||||
#: gtk/gtklabel.c:5677 gtk/gtktext.c:6109 gtk/gtktextview.c:9013
|
||||
msgid "_Copy"
|
||||
msgstr "_Copier"
|
||||
|
||||
#: gtk/gtklabel.c:5657 gtk/gtktext.c:6095 gtk/gtktextview.c:8995
|
||||
#: gtk/gtklabel.c:5678 gtk/gtktext.c:6113 gtk/gtktextview.c:9017
|
||||
msgid "_Paste"
|
||||
msgstr "C_oller"
|
||||
|
||||
#: gtk/gtklabel.c:5663 gtk/gtktext.c:6108 gtk/gtktextview.c:9020
|
||||
#: gtk/gtklabel.c:5684 gtk/gtktext.c:6126 gtk/gtktextview.c:9042
|
||||
msgid "Select _All"
|
||||
msgstr "_Tout sélectionner"
|
||||
|
||||
#: gtk/gtklabel.c:5668
|
||||
#: gtk/gtklabel.c:5689
|
||||
msgid "_Open Link"
|
||||
msgstr "_Ouvrir le lien"
|
||||
|
||||
#: gtk/gtklabel.c:5672
|
||||
#: gtk/gtklabel.c:5693
|
||||
msgid "Copy _Link Address"
|
||||
msgstr "Copier l’_adresse du lien"
|
||||
|
||||
#: gtk/gtklinkbutton.c:255
|
||||
#: gtk/gtklinkbutton.c:256
|
||||
msgid "_Copy URL"
|
||||
msgstr "_Copier l’URL"
|
||||
|
||||
#: gtk/gtklinkbutton.c:544
|
||||
#: gtk/gtklinkbutton.c:563
|
||||
msgid "Invalid URI"
|
||||
msgstr "URI non valide"
|
||||
|
||||
@@ -2709,6 +2714,16 @@ msgctxt "short time format"
|
||||
msgid "%d:%02d"
|
||||
msgstr "%d:%02d"
|
||||
|
||||
#: gtk/gtkmediacontrols.c:412
|
||||
msgctxt "media controls tooltip"
|
||||
msgid "Stop"
|
||||
msgstr "Arrêter"
|
||||
|
||||
#: gtk/gtkmediacontrols.c:417 gtk/ui/gtkmediacontrols.ui:28
|
||||
msgctxt "media controls tooltip"
|
||||
msgid "Play"
|
||||
msgstr "Lecture"
|
||||
|
||||
#: gtk/gtkmessagedialog.c:162 gtk/gtkmessagedialog.c:180
|
||||
#: gtk/gtkprintbackend.c:639 gtk/gtkwindow.c:6159
|
||||
msgid "_OK"
|
||||
@@ -2887,7 +2902,7 @@ msgstr ""
|
||||
" Bas : %s %s"
|
||||
|
||||
#: gtk/gtkpagesetupunixdialog.c:785 gtk/ui/gtkpagesetupunixdialog.ui:5
|
||||
#: gtk/ui/gtkprintunixdialog.ui:709
|
||||
#: gtk/ui/gtkprintunixdialog.ui:706
|
||||
msgid "Page Setup"
|
||||
msgstr "Mise en page"
|
||||
|
||||
@@ -3008,7 +3023,7 @@ msgstr "Ce nom est déjà pris"
|
||||
#: gtk/gtkplacessidebar.c:2302 gtk/inspector/actions.ui:19
|
||||
#: gtk/inspector/css-node-tree.ui:22 gtk/inspector/prop-list.ui:24
|
||||
#: gtk/ui/gtkfilechooserwidget.ui:176 gtk/ui/gtkfilechooserwidget.ui:645
|
||||
#: gtk/ui/gtkprintunixdialog.ui:83
|
||||
#: gtk/ui/gtkprintunixdialog.ui:80
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
@@ -3585,19 +3600,19 @@ msgctxt "accessibility"
|
||||
msgid "Sidebar"
|
||||
msgstr "Panneau latéral"
|
||||
|
||||
#: gtk/gtktext.c:6113 gtk/gtktextview.c:9025
|
||||
#: gtk/gtktext.c:6131 gtk/gtktextview.c:9047
|
||||
msgid "Insert _Emoji"
|
||||
msgstr "Insérer un _émoji"
|
||||
|
||||
#: gtk/gtktextview.c:9007
|
||||
#: gtk/gtktextview.c:9029
|
||||
msgid "_Undo"
|
||||
msgstr "Ann_uler"
|
||||
|
||||
#: gtk/gtktextview.c:9011
|
||||
#: gtk/gtktextview.c:9033
|
||||
msgid "_Redo"
|
||||
msgstr "_Rétablir"
|
||||
|
||||
#: gtk/gtktreeexpander.c:189 gtk/inspector/misc-info.ui:287
|
||||
#: gtk/gtktreeexpander.c:189 gtk/inspector/misc-info.ui:254
|
||||
msgid "Expand"
|
||||
msgstr "Étendre"
|
||||
|
||||
@@ -3667,11 +3682,11 @@ msgstr "Attribut"
|
||||
msgid "Value"
|
||||
msgstr "Valeur"
|
||||
|
||||
#: gtk/inspector/action-editor.c:123
|
||||
#: gtk/inspector/action-editor.c:127
|
||||
msgid "Activate"
|
||||
msgstr "Activer"
|
||||
|
||||
#: gtk/inspector/action-editor.c:135
|
||||
#: gtk/inspector/action-editor.c:139
|
||||
msgid "Set State"
|
||||
msgstr "Définir l’état"
|
||||
|
||||
@@ -3679,16 +3694,16 @@ msgstr "Définir l’état"
|
||||
msgid "Enabled"
|
||||
msgstr "Activé"
|
||||
|
||||
#: gtk/inspector/actions.ui:41
|
||||
#: gtk/inspector/actions.ui:42
|
||||
msgid "Parameter Type"
|
||||
msgstr "Type de paramètre"
|
||||
|
||||
#: gtk/inspector/actions.ui:52 gtk/inspector/css-node-tree.ui:41
|
||||
#: gtk/inspector/misc-info.ui:121
|
||||
#: gtk/inspector/actions.ui:53 gtk/inspector/css-node-tree.ui:41
|
||||
#: gtk/inspector/misc-info.ui:108
|
||||
msgid "State"
|
||||
msgstr "État"
|
||||
|
||||
#: gtk/inspector/clipboard.c:211 gtk/inspector/misc-info.ui:278
|
||||
#: gtk/inspector/clipboard.c:211 gtk/inspector/misc-info.ui:245
|
||||
msgid "Show"
|
||||
msgstr "Afficher"
|
||||
|
||||
@@ -3711,15 +3726,15 @@ msgctxt "clipboard"
|
||||
msgid "remote"
|
||||
msgstr "distant"
|
||||
|
||||
#: gtk/inspector/clipboard.ui:31
|
||||
#: gtk/inspector/clipboard.ui:30
|
||||
msgid "Drag and hold here"
|
||||
msgstr "Glisser et maintenir ici"
|
||||
|
||||
#: gtk/inspector/clipboard.ui:75 gtk/inspector/window.ui:574
|
||||
#: gtk/inspector/clipboard.ui:71 gtk/inspector/window.ui:574
|
||||
msgid "Clipboard"
|
||||
msgstr "Presse-papiers"
|
||||
|
||||
#: gtk/inspector/clipboard.ui:114
|
||||
#: gtk/inspector/clipboard.ui:107
|
||||
msgid "Primary"
|
||||
msgstr "Principal"
|
||||
|
||||
@@ -3836,71 +3851,71 @@ msgstr "Aucune"
|
||||
msgid "IM Context is hardcoded by GTK_IM_MODULE"
|
||||
msgstr "Le contexte de méthode de saisie est fixé par GTK_IM_MODULE"
|
||||
|
||||
#: gtk/inspector/general.ui:32
|
||||
#: gtk/inspector/general.ui:31
|
||||
msgid "GTK Version"
|
||||
msgstr "Version de GTK"
|
||||
|
||||
#: gtk/inspector/general.ui:58
|
||||
#: gtk/inspector/general.ui:57
|
||||
msgid "GDK Backend"
|
||||
msgstr "Moteur GDK"
|
||||
|
||||
#: gtk/inspector/general.ui:84
|
||||
#: gtk/inspector/general.ui:83
|
||||
msgid "GSK Renderer"
|
||||
msgstr "Moteur de rendu GSK"
|
||||
|
||||
#: gtk/inspector/general.ui:110
|
||||
#: gtk/inspector/general.ui:109
|
||||
msgid "Pango Fontmap"
|
||||
msgstr "Carte des polices Pango"
|
||||
|
||||
#: gtk/inspector/general.ui:136
|
||||
#: gtk/inspector/general.ui:135
|
||||
msgid "Media Backend"
|
||||
msgstr "Moteur de média"
|
||||
|
||||
#: gtk/inspector/general.ui:162
|
||||
#: gtk/inspector/general.ui:161
|
||||
msgid "Input Method"
|
||||
msgstr "Méthode de saisie"
|
||||
|
||||
#: gtk/inspector/general.ui:202
|
||||
#: gtk/inspector/general.ui:198
|
||||
msgid "Application ID"
|
||||
msgstr "ID d’application"
|
||||
|
||||
#: gtk/inspector/general.ui:228
|
||||
#: gtk/inspector/general.ui:224
|
||||
msgid "Resource Path"
|
||||
msgstr "Chemin de ressource"
|
||||
|
||||
#: gtk/inspector/general.ui:268 gtk/ui/gtkplacesview.ui:67
|
||||
#: gtk/inspector/general.ui:261 gtk/ui/gtkplacesview.ui:67
|
||||
msgid "Prefix"
|
||||
msgstr "Préfixe"
|
||||
|
||||
#: gtk/inspector/general.ui:470
|
||||
#: gtk/inspector/general.ui:460
|
||||
msgid "Display"
|
||||
msgstr "Affichage"
|
||||
|
||||
#: gtk/inspector/general.ui:497
|
||||
#: gtk/inspector/general.ui:487
|
||||
msgid "RGBA Visual"
|
||||
msgstr "Visuel RGBA"
|
||||
|
||||
#: gtk/inspector/general.ui:523
|
||||
#: gtk/inspector/general.ui:513
|
||||
msgid "Composited"
|
||||
msgstr "Composé"
|
||||
|
||||
#: gtk/inspector/general.ui:575
|
||||
#: gtk/inspector/general.ui:559
|
||||
msgid "GL Version"
|
||||
msgstr "Version de GL"
|
||||
|
||||
#: gtk/inspector/general.ui:625
|
||||
#: gtk/inspector/general.ui:609
|
||||
msgid "GL Vendor"
|
||||
msgstr "Fournisseur GL"
|
||||
|
||||
#: gtk/inspector/general.ui:665
|
||||
#: gtk/inspector/general.ui:646
|
||||
msgid "Vulkan Device"
|
||||
msgstr "Périphérique Vulkan"
|
||||
|
||||
#: gtk/inspector/general.ui:692
|
||||
#: gtk/inspector/general.ui:673
|
||||
msgid "Vulkan API version"
|
||||
msgstr "Version d’API Vulkan"
|
||||
|
||||
#: gtk/inspector/general.ui:719
|
||||
#: gtk/inspector/general.ui:700
|
||||
msgid "Vulkan driver version"
|
||||
msgstr "Version du pilote Vulkan"
|
||||
|
||||
@@ -3924,90 +3939,90 @@ msgstr "Cible"
|
||||
msgid "Icon"
|
||||
msgstr "Icône"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:32
|
||||
#: gtk/inspector/misc-info.ui:31
|
||||
msgid "Address"
|
||||
msgstr "Adresse"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:62 gtk/inspector/prop-list.ui:35
|
||||
#: gtk/inspector/misc-info.ui:57 gtk/inspector/prop-list.ui:35
|
||||
#: gtk/inspector/statistics.ui:36 gtk/ui/gtkfilechooserwidget.ui:339
|
||||
msgid "Type"
|
||||
msgstr "Type"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:91
|
||||
#: gtk/inspector/misc-info.ui:82
|
||||
msgid "Reference Count"
|
||||
msgstr "Comptage de références"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:151
|
||||
#: gtk/inspector/misc-info.ui:134
|
||||
msgid "Direction"
|
||||
msgstr "Direction"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:181
|
||||
#: gtk/inspector/misc-info.ui:160
|
||||
msgid "Buildable ID"
|
||||
msgstr "ID constructible"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:211
|
||||
#: gtk/inspector/misc-info.ui:186
|
||||
msgid "Mnemonic Label"
|
||||
msgstr "Étiquette mnémonique"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:240
|
||||
#: gtk/inspector/misc-info.ui:211
|
||||
msgid "Request Mode"
|
||||
msgstr "Mode de requête"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:269
|
||||
#: gtk/inspector/misc-info.ui:236
|
||||
msgid "Measure map"
|
||||
msgstr "Carte de mesure"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:338
|
||||
#: gtk/inspector/misc-info.ui:297
|
||||
msgid "Allocation"
|
||||
msgstr "Allocation"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:367
|
||||
#: gtk/inspector/misc-info.ui:322
|
||||
msgid "Baseline"
|
||||
msgstr "Ligne de base"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:396
|
||||
#: gtk/inspector/misc-info.ui:347
|
||||
msgid "Surface"
|
||||
msgstr "Surface"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:415 gtk/inspector/misc-info.ui:454
|
||||
#: gtk/inspector/misc-info.ui:493 gtk/inspector/prop-editor.c:1150
|
||||
#: gtk/inspector/misc-info.ui:366 gtk/inspector/misc-info.ui:401
|
||||
#: gtk/inspector/misc-info.ui:436 gtk/inspector/prop-editor.c:1150
|
||||
#: gtk/inspector/prop-editor.c:1533 gtk/inspector/window.ui:396
|
||||
msgid "Properties"
|
||||
msgstr "Propriétés"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:435
|
||||
#: gtk/inspector/misc-info.ui:382
|
||||
msgid "Renderer"
|
||||
msgstr "Moteur de rendu"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:474
|
||||
#: gtk/inspector/misc-info.ui:417
|
||||
msgid "Frame Clock"
|
||||
msgstr "Horloge d’images"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:513
|
||||
#: gtk/inspector/misc-info.ui:452
|
||||
msgid "Tick Callback"
|
||||
msgstr "Fonction de rappel de tic"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:543
|
||||
#: gtk/inspector/misc-info.ui:478
|
||||
msgid "Frame Count"
|
||||
msgstr "Nombre d’images"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:572
|
||||
#: gtk/inspector/misc-info.ui:503
|
||||
msgid "Frame Rate"
|
||||
msgstr "Fréquence d’image"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:601
|
||||
#: gtk/inspector/misc-info.ui:528
|
||||
msgid "Mapped"
|
||||
msgstr "Mappé"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:631
|
||||
#: gtk/inspector/misc-info.ui:554
|
||||
msgid "Realized"
|
||||
msgstr "Réalisé"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:661
|
||||
#: gtk/inspector/misc-info.ui:580
|
||||
msgid "Is Toplevel"
|
||||
msgstr "De premier niveau"
|
||||
|
||||
#: gtk/inspector/misc-info.ui:691
|
||||
#: gtk/inspector/misc-info.ui:606
|
||||
msgid "Child Visible"
|
||||
msgstr "Enfant visible"
|
||||
|
||||
@@ -4266,99 +4281,99 @@ msgstr "Le thème est figé par GTK_THEME"
|
||||
msgid "Backend does not support window scaling"
|
||||
msgstr "Le moteur ne gère pas la mise à l’échelle des fenêtres"
|
||||
|
||||
#: gtk/inspector/visual.ui:35
|
||||
#: gtk/inspector/visual.ui:34
|
||||
msgid "GTK Theme"
|
||||
msgstr "Thème GTK"
|
||||
|
||||
#: gtk/inspector/visual.ui:59
|
||||
#: gtk/inspector/visual.ui:58
|
||||
msgid "Dark Variant"
|
||||
msgstr "Variante sombre"
|
||||
|
||||
#: gtk/inspector/visual.ui:84
|
||||
#: gtk/inspector/visual.ui:83
|
||||
msgid "Cursor Theme"
|
||||
msgstr "Thème de curseur"
|
||||
|
||||
#: gtk/inspector/visual.ui:109
|
||||
#: gtk/inspector/visual.ui:108
|
||||
msgid "Cursor Size"
|
||||
msgstr "Taille de curseur"
|
||||
|
||||
#: gtk/inspector/visual.ui:145
|
||||
#: gtk/inspector/visual.ui:144
|
||||
msgid "Icon Theme"
|
||||
msgstr "Thème d’icônes"
|
||||
|
||||
#: gtk/inspector/visual.ui:195
|
||||
#: gtk/inspector/visual.ui:194
|
||||
msgid "Font Scale"
|
||||
msgstr "Mise à l’échelle des polices"
|
||||
|
||||
#: gtk/inspector/visual.ui:240
|
||||
#: gtk/inspector/visual.ui:239
|
||||
msgid "Text Direction"
|
||||
msgstr "Direction du texte"
|
||||
|
||||
#: gtk/inspector/visual.ui:255
|
||||
#: gtk/inspector/visual.ui:254
|
||||
msgid "Left-to-Right"
|
||||
msgstr "De gauche à droite"
|
||||
|
||||
#: gtk/inspector/visual.ui:256
|
||||
#: gtk/inspector/visual.ui:255
|
||||
msgid "Right-to-Left"
|
||||
msgstr "De droite à gauche"
|
||||
|
||||
#: gtk/inspector/visual.ui:274
|
||||
#: gtk/inspector/visual.ui:273
|
||||
msgid "Window Scaling"
|
||||
msgstr "Mise à l’échelle des fenêtres"
|
||||
|
||||
#: gtk/inspector/visual.ui:307
|
||||
#: gtk/inspector/visual.ui:306
|
||||
msgid "Animations"
|
||||
msgstr "Animations"
|
||||
|
||||
#: gtk/inspector/visual.ui:332
|
||||
#: gtk/inspector/visual.ui:331
|
||||
msgid "Slowdown"
|
||||
msgstr "Ralenti"
|
||||
|
||||
#: gtk/inspector/visual.ui:390
|
||||
#: gtk/inspector/visual.ui:385
|
||||
msgid "Show fps overlay"
|
||||
msgstr "Afficher la superposition IPS"
|
||||
|
||||
#: gtk/inspector/visual.ui:415
|
||||
#: gtk/inspector/visual.ui:410
|
||||
msgid "Show Graphic Updates"
|
||||
msgstr "Afficher les mises à jour graphiques"
|
||||
|
||||
#: gtk/inspector/visual.ui:440
|
||||
#: gtk/inspector/visual.ui:435
|
||||
msgid "Show Fallback Rendering"
|
||||
msgstr "Afficher le rendu de recours"
|
||||
|
||||
#: gtk/inspector/visual.ui:465
|
||||
#: gtk/inspector/visual.ui:460
|
||||
msgid "Show Baselines"
|
||||
msgstr "Afficher les lignes de base"
|
||||
|
||||
#: gtk/inspector/visual.ui:493
|
||||
#: gtk/inspector/visual.ui:488
|
||||
msgid "Show Layout Borders"
|
||||
msgstr "Afficher les bords de l’agencement"
|
||||
|
||||
#: gtk/inspector/visual.ui:550
|
||||
#: gtk/inspector/visual.ui:545
|
||||
msgid "CSS Padding"
|
||||
msgstr "Remplissage CSS"
|
||||
|
||||
#: gtk/inspector/visual.ui:560
|
||||
#: gtk/inspector/visual.ui:555
|
||||
msgid "CSS Border"
|
||||
msgstr "Bordure CSS"
|
||||
|
||||
#: gtk/inspector/visual.ui:570
|
||||
#: gtk/inspector/visual.ui:565
|
||||
msgid "CSS Margin"
|
||||
msgstr "Marge CSS"
|
||||
|
||||
#: gtk/inspector/visual.ui:580
|
||||
#: gtk/inspector/visual.ui:575
|
||||
msgid "Widget Margin"
|
||||
msgstr "Marge du composant graphique"
|
||||
|
||||
#: gtk/inspector/visual.ui:615
|
||||
#: gtk/inspector/visual.ui:610
|
||||
msgid "Show Focus"
|
||||
msgstr "Montrer le focus"
|
||||
|
||||
#: gtk/inspector/visual.ui:654
|
||||
#: gtk/inspector/visual.ui:645
|
||||
msgid "Simulate Touchscreen"
|
||||
msgstr "Simuler l’écran tactile"
|
||||
|
||||
#: gtk/inspector/visual.ui:689
|
||||
#: gtk/inspector/visual.ui:676
|
||||
msgid "Inspect Inspector"
|
||||
msgstr "Inspecter l’inspecteur"
|
||||
|
||||
@@ -4418,7 +4433,7 @@ msgstr "Objet collatéral suivant"
|
||||
msgid "Miscellaneous"
|
||||
msgstr "Divers"
|
||||
|
||||
#: gtk/inspector/window.ui:407 gtk/ui/gtkprintunixdialog.ui:393
|
||||
#: gtk/inspector/window.ui:407 gtk/ui/gtkprintunixdialog.ui:390
|
||||
msgid "Layout"
|
||||
msgstr "Agencement"
|
||||
|
||||
@@ -6034,7 +6049,6 @@ msgid "Services"
|
||||
msgstr "Services"
|
||||
|
||||
#: gtk/ui/gtkapplication-quartz.ui:25
|
||||
#, c-format
|
||||
msgid "Hide %s"
|
||||
msgstr "Masquer %s"
|
||||
|
||||
@@ -6047,7 +6061,6 @@ msgid "Show All"
|
||||
msgstr "Tout afficher"
|
||||
|
||||
#: gtk/ui/gtkapplication-quartz.ui:42
|
||||
#, c-format
|
||||
msgid "Quit %s"
|
||||
msgstr "Quitter %s"
|
||||
|
||||
@@ -6213,7 +6226,7 @@ msgstr "Aucune police trouvée"
|
||||
msgid "_Format for:"
|
||||
msgstr "_Formaté pour :"
|
||||
|
||||
#: gtk/ui/gtkpagesetupunixdialog.ui:51 gtk/ui/gtkprintunixdialog.ui:635
|
||||
#: gtk/ui/gtkpagesetupunixdialog.ui:51 gtk/ui/gtkprintunixdialog.ui:632
|
||||
msgid "_Paper size:"
|
||||
msgstr "_Taille du papier :"
|
||||
|
||||
@@ -6221,19 +6234,19 @@ msgstr "_Taille du papier :"
|
||||
msgid "_Orientation:"
|
||||
msgstr "_Orientation :"
|
||||
|
||||
#: gtk/ui/gtkpagesetupunixdialog.ui:98 gtk/ui/gtkprintunixdialog.ui:675
|
||||
#: gtk/ui/gtkpagesetupunixdialog.ui:98 gtk/ui/gtkprintunixdialog.ui:672
|
||||
msgid "Portrait"
|
||||
msgstr "Portrait"
|
||||
|
||||
#: gtk/ui/gtkpagesetupunixdialog.ui:109 gtk/ui/gtkprintunixdialog.ui:677
|
||||
#: gtk/ui/gtkpagesetupunixdialog.ui:109 gtk/ui/gtkprintunixdialog.ui:674
|
||||
msgid "Reverse portrait"
|
||||
msgstr "Portrait inversé"
|
||||
|
||||
#: gtk/ui/gtkpagesetupunixdialog.ui:121 gtk/ui/gtkprintunixdialog.ui:676
|
||||
#: gtk/ui/gtkpagesetupunixdialog.ui:121 gtk/ui/gtkprintunixdialog.ui:673
|
||||
msgid "Landscape"
|
||||
msgstr "Paysage"
|
||||
|
||||
#: gtk/ui/gtkpagesetupunixdialog.ui:132 gtk/ui/gtkprintunixdialog.ui:678
|
||||
#: gtk/ui/gtkpagesetupunixdialog.ui:132 gtk/ui/gtkprintunixdialog.ui:675
|
||||
msgid "Reverse landscape"
|
||||
msgstr "Paysage inversé"
|
||||
|
||||
@@ -6274,31 +6287,31 @@ msgid "Enter server address…"
|
||||
msgstr "Saisir l’adresse du serveur…"
|
||||
|
||||
#. this is the header for the printer status column in the print dialog
|
||||
#: gtk/ui/gtkprintunixdialog.ui:145
|
||||
#: gtk/ui/gtkprintunixdialog.ui:142
|
||||
msgid "Status"
|
||||
msgstr "État"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:199
|
||||
#: gtk/ui/gtkprintunixdialog.ui:196
|
||||
msgid "Range"
|
||||
msgstr "Plage"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:212
|
||||
#: gtk/ui/gtkprintunixdialog.ui:209
|
||||
msgid "_All Pages"
|
||||
msgstr "_Toutes les pages"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:224
|
||||
#: gtk/ui/gtkprintunixdialog.ui:221
|
||||
msgid "C_urrent Page"
|
||||
msgstr "Page act_uelle"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:237
|
||||
#: gtk/ui/gtkprintunixdialog.ui:234
|
||||
msgid "Se_lection"
|
||||
msgstr "Sé_lection"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:250
|
||||
#: gtk/ui/gtkprintunixdialog.ui:247
|
||||
msgid "Pag_es:"
|
||||
msgstr "Pag_es :"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:251 gtk/ui/gtkprintunixdialog.ui:264
|
||||
#: gtk/ui/gtkprintunixdialog.ui:248 gtk/ui/gtkprintunixdialog.ui:261
|
||||
msgid ""
|
||||
"Specify one or more page ranges,\n"
|
||||
" e.g. 1–3, 7, 11"
|
||||
@@ -6306,107 +6319,107 @@ msgstr ""
|
||||
"Indiquez une ou plusieurs intervalles de pages,\n"
|
||||
"p. ex. 1-3, 7, 11"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:287
|
||||
#: gtk/ui/gtkprintunixdialog.ui:284
|
||||
msgid "Copies"
|
||||
msgstr "Copies"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:302
|
||||
#: gtk/ui/gtkprintunixdialog.ui:299
|
||||
msgid "Copie_s:"
|
||||
msgstr "Copie_s :"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:325
|
||||
#: gtk/ui/gtkprintunixdialog.ui:322
|
||||
msgid "C_ollate"
|
||||
msgstr "_Rassembler"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:336
|
||||
#: gtk/ui/gtkprintunixdialog.ui:333
|
||||
msgid "_Reverse"
|
||||
msgstr "Inve_rser"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:366
|
||||
#: gtk/ui/gtkprintunixdialog.ui:363
|
||||
msgid "General"
|
||||
msgstr "Général"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:408
|
||||
#: gtk/ui/gtkprintunixdialog.ui:405
|
||||
msgid "T_wo-sided:"
|
||||
msgstr "_Recto verso :"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:430
|
||||
#: gtk/ui/gtkprintunixdialog.ui:427
|
||||
msgid "Pages per _side:"
|
||||
msgstr "Pages par _côté :"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:454
|
||||
#: gtk/ui/gtkprintunixdialog.ui:451
|
||||
msgid "Page or_dering:"
|
||||
msgstr "Or_dre des pages :"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:477
|
||||
#: gtk/ui/gtkprintunixdialog.ui:474
|
||||
msgid "_Only print:"
|
||||
msgstr "Imprimer _seulement :"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:493
|
||||
#: gtk/ui/gtkprintunixdialog.ui:490
|
||||
msgid "All sheets"
|
||||
msgstr "Toutes les pages"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:494
|
||||
#: gtk/ui/gtkprintunixdialog.ui:491
|
||||
msgid "Even sheets"
|
||||
msgstr "Pages paires"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:495
|
||||
#: gtk/ui/gtkprintunixdialog.ui:492
|
||||
msgid "Odd sheets"
|
||||
msgstr "Pages impaires"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:509
|
||||
#: gtk/ui/gtkprintunixdialog.ui:506
|
||||
msgid "Sc_ale:"
|
||||
msgstr "É_chelle :"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:554
|
||||
#: gtk/ui/gtkprintunixdialog.ui:551
|
||||
msgid "Paper"
|
||||
msgstr "Papier"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:569
|
||||
#: gtk/ui/gtkprintunixdialog.ui:566
|
||||
msgid "Paper _type:"
|
||||
msgstr "_Type de papier :"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:591
|
||||
#: gtk/ui/gtkprintunixdialog.ui:588
|
||||
msgid "Paper _source:"
|
||||
msgstr "_Source du papier :"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:613
|
||||
#: gtk/ui/gtkprintunixdialog.ui:610
|
||||
msgid "Output t_ray:"
|
||||
msgstr "_Bac de sortie :"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:658
|
||||
#: gtk/ui/gtkprintunixdialog.ui:655
|
||||
msgid "Or_ientation:"
|
||||
msgstr "Or_ientation :"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:732
|
||||
#: gtk/ui/gtkprintunixdialog.ui:729
|
||||
msgid "Job Details"
|
||||
msgstr "Détails de la tâche"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:747
|
||||
#: gtk/ui/gtkprintunixdialog.ui:744
|
||||
msgid "Pri_ority:"
|
||||
msgstr "_Priorité :"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:768
|
||||
#: gtk/ui/gtkprintunixdialog.ui:765
|
||||
msgid "_Billing info:"
|
||||
msgstr "Informations de _facturation :"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:801
|
||||
#: gtk/ui/gtkprintunixdialog.ui:798
|
||||
msgid "Print Document"
|
||||
msgstr "Impression du document"
|
||||
|
||||
#. this is one of the choices for the print at option in the print dialog
|
||||
#: gtk/ui/gtkprintunixdialog.ui:814
|
||||
#: gtk/ui/gtkprintunixdialog.ui:811
|
||||
msgid "_Now"
|
||||
msgstr "_Maintenant"
|
||||
|
||||
#. this is one of the choices for the print at option in the print dialog. It also serves as the label for an entry that allows the user to enter a time.
|
||||
#: gtk/ui/gtkprintunixdialog.ui:828
|
||||
#: gtk/ui/gtkprintunixdialog.ui:825
|
||||
msgid "A_t:"
|
||||
msgstr "_À :"
|
||||
|
||||
#. Ability to parse the am/pm format depends on actual locale. You can remove the am/pm values below for your locale if they are not supported.
|
||||
#: gtk/ui/gtkprintunixdialog.ui:830 gtk/ui/gtkprintunixdialog.ui:832
|
||||
#: gtk/ui/gtkprintunixdialog.ui:848 gtk/ui/gtkprintunixdialog.ui:850
|
||||
#: gtk/ui/gtkprintunixdialog.ui:827 gtk/ui/gtkprintunixdialog.ui:829
|
||||
#: gtk/ui/gtkprintunixdialog.ui:845 gtk/ui/gtkprintunixdialog.ui:847
|
||||
msgid ""
|
||||
"Specify the time of print,\n"
|
||||
" e.g. 15∶30, 2∶35 pm, 14∶15∶20, 11∶46∶30 am, 4 pm"
|
||||
@@ -6415,52 +6428,52 @@ msgstr ""
|
||||
" par ex. 15:30, 14:15:20, etc."
|
||||
|
||||
#. this is one of the choices for the print at option in the print dialog. It means that the print job will not be printed until it explicitly gets 'released'.
|
||||
#: gtk/ui/gtkprintunixdialog.ui:862
|
||||
#: gtk/ui/gtkprintunixdialog.ui:859
|
||||
msgid "On _hold"
|
||||
msgstr "En _attente"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:864 gtk/ui/gtkprintunixdialog.ui:865
|
||||
#: gtk/ui/gtkprintunixdialog.ui:861 gtk/ui/gtkprintunixdialog.ui:862
|
||||
msgid "Hold the job until it is explicitly released"
|
||||
msgstr "Suspend la tâche jusqu’à ce qu’elle soit explicitement libérée"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:892
|
||||
#: gtk/ui/gtkprintunixdialog.ui:889
|
||||
msgid "Add Cover Page"
|
||||
msgstr "Ajout d’une page de couverture"
|
||||
|
||||
#. this is the label used for the option in the print dialog that controls the front cover page.
|
||||
#: gtk/ui/gtkprintunixdialog.ui:907
|
||||
#: gtk/ui/gtkprintunixdialog.ui:904
|
||||
msgid "Be_fore:"
|
||||
msgstr "A_vant :"
|
||||
|
||||
#. this is the label used for the option in the print dialog that controls the back cover page.
|
||||
#: gtk/ui/gtkprintunixdialog.ui:928
|
||||
#: gtk/ui/gtkprintunixdialog.ui:925
|
||||
msgid "_After:"
|
||||
msgstr "A_près :"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:957
|
||||
#: gtk/ui/gtkprintunixdialog.ui:954
|
||||
msgid "Job"
|
||||
msgstr "Tâche"
|
||||
|
||||
#. This will appear as a tab label in the print dialog.
|
||||
#: gtk/ui/gtkprintunixdialog.ui:987
|
||||
#: gtk/ui/gtkprintunixdialog.ui:984
|
||||
msgid "Image Quality"
|
||||
msgstr "Qualité de l’image"
|
||||
|
||||
#. This will appear as a tab label in the print dialog.
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1016
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1013
|
||||
msgid "Color"
|
||||
msgstr "Couleur"
|
||||
|
||||
#. This will appear as a tab label in the print dialog. It's a typographical term, as in "Binding and finishing"
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1045
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1042
|
||||
msgid "Finishing"
|
||||
msgstr "Finalisation"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1074
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1071
|
||||
msgid "Advanced"
|
||||
msgstr "Avancé"
|
||||
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1090
|
||||
#: gtk/ui/gtkprintunixdialog.ui:1087
|
||||
msgid "Some of the settings in the dialog conflict"
|
||||
msgstr "Certains paramètres dans la boîte de dialogue sont en conflit"
|
||||
|
||||
|
||||
@@ -146,6 +146,13 @@ foreach t: gtk_tests
|
||||
)
|
||||
endforeach
|
||||
|
||||
executable('testroundedrect',
|
||||
sources: [ 'testroundedrect.c' ],
|
||||
include_directories: [confinc, gdkinc],
|
||||
c_args: test_args + common_cflags,
|
||||
dependencies: [libgtk_static_dep, libm],
|
||||
)
|
||||
|
||||
if libsysprof_dep.found()
|
||||
executable('testperf',
|
||||
sources: 'testperf.c',
|
||||
|
||||
@@ -0,0 +1,312 @@
|
||||
#include <gtk/gtk.h>
|
||||
#include <gtk/css/gtkcssparserprivate.h>
|
||||
#include <gsk/gskroundedrectprivate.h>
|
||||
|
||||
#define TEST_TYPE_WIDGET (test_widget_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (TestWidget, test_widget, TEST, WIDGET, GtkWidget)
|
||||
|
||||
struct _TestWidget
|
||||
{
|
||||
GtkWidget parent_instance;
|
||||
|
||||
GskRoundedRect rect1;
|
||||
GskRoundedRect rect2;
|
||||
GskRoundedRect rect3;
|
||||
GskRoundedRectIntersection result;
|
||||
};
|
||||
|
||||
struct _TestWidgetClass
|
||||
{
|
||||
GtkWidgetClass parent_class;
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE (TestWidget, test_widget, GTK_TYPE_WIDGET)
|
||||
|
||||
static void
|
||||
test_widget_init (TestWidget *self)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
test_widget_measure (GtkWidget *widget,
|
||||
GtkOrientation orientation,
|
||||
int for_size,
|
||||
int *minimum,
|
||||
int *natural,
|
||||
int *minimum_baseline,
|
||||
int *natural_baseline)
|
||||
{
|
||||
TestWidget *self = TEST_WIDGET (widget);
|
||||
|
||||
if (orientation == GTK_ORIENTATION_VERTICAL)
|
||||
*minimum = *natural = MAX (self->rect1.bounds.origin.x + self->rect1.bounds.size.width,
|
||||
self->rect2.bounds.origin.x + self->rect2.bounds.size.width);
|
||||
else
|
||||
*minimum = *natural = MAX (self->rect1.bounds.origin.y + self->rect1.bounds.size.height,
|
||||
self->rect2.bounds.origin.y + self->rect2.bounds.size.height);
|
||||
}
|
||||
|
||||
static void
|
||||
test_widget_snapshot (GtkWidget *widget,
|
||||
GtkSnapshot *snapshot)
|
||||
{
|
||||
TestWidget *self = TEST_WIDGET (widget);
|
||||
float widths[4] = { 1, 1, 1, 1 };
|
||||
GdkRGBA colors1[4];
|
||||
GdkRGBA colors2[4];
|
||||
GdkRGBA colors3[4];
|
||||
GskRoundedRect rect3;
|
||||
|
||||
gdk_rgba_parse (&colors1[0], "red");
|
||||
colors1[1] = colors1[2] = colors1[3] = colors1[0];
|
||||
|
||||
gdk_rgba_parse (&colors2[0], "blue");
|
||||
colors2[1] = colors2[2] = colors2[3] = colors2[0];
|
||||
|
||||
gdk_rgba_parse (&colors3[0], "magenta");
|
||||
colors3[1] = colors3[2] = colors3[3] = colors3[0];
|
||||
|
||||
gtk_snapshot_append_border (snapshot, &self->rect1, widths, colors1);
|
||||
gtk_snapshot_append_border (snapshot, &self->rect2, widths, colors2);
|
||||
|
||||
switch (gsk_rounded_rect_intersect (&self->rect1, &self->rect2, &rect3))
|
||||
{
|
||||
case GSK_INTERSECTION_NONEMPTY:
|
||||
gtk_snapshot_append_border (snapshot, &rect3, widths, colors3);
|
||||
break;
|
||||
default:
|
||||
;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
test_widget_class_init (TestWidgetClass *class)
|
||||
{
|
||||
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class);
|
||||
|
||||
widget_class->snapshot = test_widget_snapshot;
|
||||
widget_class->measure = test_widget_measure;
|
||||
}
|
||||
|
||||
static GtkWidget *
|
||||
test_widget_new (void)
|
||||
{
|
||||
return g_object_new (TEST_TYPE_WIDGET, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
update_intersection (TestWidget *self)
|
||||
{
|
||||
self->result = gsk_rounded_rect_intersect (&self->rect1, &self->rect2, &self->rect3);
|
||||
}
|
||||
|
||||
static void
|
||||
test_widget_set_rect1 (TestWidget *self,
|
||||
GskRoundedRect *rect)
|
||||
{
|
||||
self->rect1 = *rect;
|
||||
update_intersection (self);
|
||||
gtk_widget_queue_resize (GTK_WIDGET (self));
|
||||
}
|
||||
|
||||
static void
|
||||
test_widget_set_rect2 (TestWidget *self,
|
||||
GskRoundedRect *rect)
|
||||
{
|
||||
self->rect2 = *rect;
|
||||
update_intersection (self);
|
||||
gtk_widget_queue_resize (GTK_WIDGET (self));
|
||||
}
|
||||
|
||||
static gboolean
|
||||
parse_rect (GtkCssParser *parser,
|
||||
graphene_rect_t *out_rect)
|
||||
{
|
||||
double numbers[4];
|
||||
|
||||
if (!gtk_css_parser_consume_number (parser, &numbers[0]) ||
|
||||
!gtk_css_parser_consume_number (parser, &numbers[1]) ||
|
||||
!gtk_css_parser_consume_number (parser, &numbers[2]) ||
|
||||
!gtk_css_parser_consume_number (parser, &numbers[3]))
|
||||
return FALSE;
|
||||
|
||||
graphene_rect_init (out_rect, numbers[0], numbers[1], numbers[2], numbers[3]);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
parse_rounded_rect (GtkCssParser *parser,
|
||||
GskRoundedRect *out_rect)
|
||||
{
|
||||
graphene_rect_t r;
|
||||
graphene_size_t corners[4];
|
||||
double d;
|
||||
guint i;
|
||||
|
||||
if (!parse_rect (parser, &r))
|
||||
return FALSE;
|
||||
|
||||
if (!gtk_css_parser_try_delim (parser, '/'))
|
||||
{
|
||||
gsk_rounded_rect_init_from_rect (out_rect, &r, 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
if (!gtk_css_parser_has_number (parser))
|
||||
break;
|
||||
if (!gtk_css_parser_consume_number (parser, &d))
|
||||
return FALSE;
|
||||
corners[i].width = d;
|
||||
}
|
||||
|
||||
if (i == 0)
|
||||
{
|
||||
gtk_css_parser_error_syntax (parser, "Expected a number");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* The magic (i - 1) >> 1 below makes it take the correct value
|
||||
* according to spec. Feel free to check the 4 cases
|
||||
*/
|
||||
for (; i < 4; i++)
|
||||
corners[i].width = corners[(i - 1) >> 1].width;
|
||||
if (gtk_css_parser_try_delim (parser, '/'))
|
||||
{
|
||||
gtk_css_parser_consume_token (parser);
|
||||
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
if (!gtk_css_parser_has_number (parser))
|
||||
break;
|
||||
if (!gtk_css_parser_consume_number (parser, &d))
|
||||
return FALSE;
|
||||
corners[i].height = d;
|
||||
}
|
||||
|
||||
if (i == 0)
|
||||
{
|
||||
gtk_css_parser_error_syntax (parser, "Expected a number");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
for (; i < 4; i++)
|
||||
corners[i].height = corners[(i - 1) >> 1].height;
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i = 0; i < 4; i++)
|
||||
corners[i].height = corners[i].width;
|
||||
}
|
||||
|
||||
gsk_rounded_rect_init (out_rect, &r, &corners[0], &corners[1], &corners[2], &corners[3]);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static GtkWidget *label;
|
||||
|
||||
static void
|
||||
update_label (GtkLabel *label,
|
||||
GskRoundedRectIntersection result)
|
||||
{
|
||||
const char *labels[] = {
|
||||
"Empty", "Not empty", "Not representable", "Who knows"
|
||||
};
|
||||
|
||||
gtk_label_set_label (label, labels[result]);
|
||||
}
|
||||
|
||||
static void
|
||||
activate1_cb (GtkEntry *entry, TestWidget *test)
|
||||
{
|
||||
GtkCssParser *parser;
|
||||
const char *text;
|
||||
GBytes *bytes;
|
||||
GskRoundedRect rect;
|
||||
|
||||
text = gtk_editable_get_text (GTK_EDITABLE (entry));
|
||||
bytes = g_bytes_new_static (text, strlen (text) + 1);
|
||||
parser = gtk_css_parser_new_for_bytes (bytes, NULL, NULL, NULL, NULL);
|
||||
|
||||
if (parse_rounded_rect (parser, &rect))
|
||||
{
|
||||
test_widget_set_rect1 (test, &rect);
|
||||
update_label (GTK_LABEL (label), test->result);
|
||||
}
|
||||
|
||||
gtk_css_parser_unref (parser);
|
||||
g_bytes_unref (bytes);
|
||||
}
|
||||
|
||||
static void
|
||||
activate2_cb (GtkEntry *entry, TestWidget *test)
|
||||
{
|
||||
GtkCssParser *parser;
|
||||
const char *text;
|
||||
GBytes *bytes;
|
||||
GskRoundedRect rect;
|
||||
|
||||
text = gtk_editable_get_text (GTK_EDITABLE (entry));
|
||||
bytes = g_bytes_new_static (text, strlen (text) + 1);
|
||||
parser = gtk_css_parser_new_for_bytes (bytes, NULL, NULL, NULL, NULL);
|
||||
|
||||
if (parse_rounded_rect (parser, &rect))
|
||||
{
|
||||
test_widget_set_rect2 (test, &rect);
|
||||
update_label (GTK_LABEL (label), test->result);
|
||||
}
|
||||
|
||||
gtk_css_parser_unref (parser);
|
||||
g_bytes_unref (bytes);
|
||||
}
|
||||
|
||||
int
|
||||
main (int argc, char *argv[])
|
||||
{
|
||||
GtkWidget *window;
|
||||
GtkWidget *box;
|
||||
GtkWidget *grid;
|
||||
GtkWidget *entry1;
|
||||
GtkWidget *entry2;
|
||||
GtkWidget *test;
|
||||
|
||||
gtk_init ();
|
||||
|
||||
window = gtk_window_new ();
|
||||
gtk_window_set_default_size (GTK_WINDOW (window), 600, 400);
|
||||
|
||||
box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
|
||||
gtk_window_set_child (GTK_WINDOW (window), box);
|
||||
|
||||
grid = gtk_grid_new ();
|
||||
gtk_box_append (GTK_BOX (box), grid);
|
||||
|
||||
test = test_widget_new ();
|
||||
gtk_widget_set_hexpand (test, TRUE);
|
||||
gtk_widget_set_vexpand (test, TRUE);
|
||||
gtk_widget_set_halign (test, GTK_ALIGN_CENTER);
|
||||
gtk_widget_set_valign (test, GTK_ALIGN_CENTER);
|
||||
gtk_box_append (GTK_BOX (box), test);
|
||||
|
||||
entry1 = gtk_entry_new ();
|
||||
g_signal_connect (entry1, "activate", G_CALLBACK (activate1_cb), test);
|
||||
gtk_grid_attach (GTK_GRID (grid), entry1, 0, 0, 1, 1);
|
||||
|
||||
entry2 = gtk_entry_new ();
|
||||
g_signal_connect (entry2, "activate", G_CALLBACK (activate2_cb), test);
|
||||
gtk_grid_attach (GTK_GRID (grid), entry2, 0, 1, 1, 1);
|
||||
|
||||
label = gtk_label_new ("");
|
||||
gtk_grid_attach (GTK_GRID (grid), label, 0, 2, 1, 1);
|
||||
|
||||
gtk_window_present (GTK_WINDOW (window));
|
||||
|
||||
while (g_list_model_get_n_items (gtk_window_get_toplevels ()) > 0)
|
||||
g_main_context_iteration (NULL, FALSE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
+5
-2
@@ -25,10 +25,13 @@ gtk_css_provider_load_data_not_null_terminated (void)
|
||||
{
|
||||
GtkCssProvider *p;
|
||||
const char data[3] = {'*', '{', '}'};
|
||||
GBytes *bytes;
|
||||
|
||||
p = gtk_css_provider_new();
|
||||
p = gtk_css_provider_new ();
|
||||
|
||||
gtk_css_provider_load_from_data(p, data, sizeof (data));
|
||||
bytes = g_bytes_new_static (data, sizeof (data));
|
||||
gtk_css_provider_load_from_bytes (p, bytes);
|
||||
g_bytes_unref (bytes);
|
||||
|
||||
g_object_unref (p);
|
||||
}
|
||||
|
||||
@@ -21,3 +21,7 @@ e {
|
||||
f {
|
||||
font-family: Macaroni, Spaghetti, Sans;
|
||||
}
|
||||
|
||||
g {
|
||||
font-family: Macaroni al dente, Tomato sauce;
|
||||
}
|
||||
|
||||
@@ -21,3 +21,7 @@ e {
|
||||
f {
|
||||
font-family: "Macaroni", "Spaghetti", "Sans";
|
||||
}
|
||||
|
||||
g {
|
||||
font-family: "Macaroni al dente", "Tomato sauce";
|
||||
}
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
* {
|
||||
font-feature-settings: "";
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
font-features-invalid1.css:2:26-28: error: GTK_CSS_PARSER_ERROR_UNKNOWN_VALUE
|
||||
@@ -0,0 +1,3 @@
|
||||
* {
|
||||
font-feature-settings: "abc\A" 1;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
font-features-invalid2.css:2:26-33: error: GTK_CSS_PARSER_ERROR_UNKNOWN_VALUE
|
||||
@@ -0,0 +1,3 @@
|
||||
* {
|
||||
font-feature-settings: dlig;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
font-features-invalid3.css:2:26-30: error: GTK_CSS_PARSER_ERROR_SYNTAX
|
||||
@@ -0,0 +1,19 @@
|
||||
a {
|
||||
font-feature-settings: initial;
|
||||
}
|
||||
|
||||
b {
|
||||
font-feature-settings: inherit;
|
||||
}
|
||||
|
||||
c {
|
||||
font-feature-settings: unset;
|
||||
}
|
||||
|
||||
e {
|
||||
font-feature-settings: normal;
|
||||
}
|
||||
|
||||
f {
|
||||
font-feature-settings: "dlig", "c2sc" off, "swsh" 2;
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
a {
|
||||
font-feature-settings: initial;
|
||||
}
|
||||
|
||||
b {
|
||||
font-feature-settings: inherit;
|
||||
}
|
||||
|
||||
c {
|
||||
font-feature-settings: unset;
|
||||
}
|
||||
|
||||
e {
|
||||
font-feature-settings: normal;
|
||||
}
|
||||
|
||||
f {
|
||||
font-feature-settings: "dlig" 1, "c2sc" 0, "swsh" 2;
|
||||
}
|
||||
@@ -17,3 +17,9 @@ d {
|
||||
e {
|
||||
font-variant: small-caps;
|
||||
}
|
||||
|
||||
f {
|
||||
font-variant-ligatures: common-ligatures discretionary-ligatures;
|
||||
font-variant-numeric: lining-nums tabular-nums diagonal-fractions;
|
||||
font-variant-east-asian: simplified;
|
||||
}
|
||||
|
||||
@@ -42,3 +42,9 @@ e {
|
||||
font-variant-numeric: initial;
|
||||
font-variant-position: initial;
|
||||
}
|
||||
|
||||
f {
|
||||
font-variant-east-asian: simplified;
|
||||
font-variant-ligatures: common-ligatures discretionary-ligatures;
|
||||
font-variant-numeric: lining-nums tabular-nums diagonal-fractions;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
a {
|
||||
font-weight: 0;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
font-weight-invalid.css:2:16-17: error: GTK_CSS_PARSER_ERROR_UNKNOWN_VALUE
|
||||
@@ -0,0 +1,3 @@
|
||||
a {
|
||||
font-weight: 0;
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
a {
|
||||
font-weight: 1001;
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user