| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Textures that are backed by an fbo need to be read
out upside down. OpenGL, you are amazing.
|
| |
|
|\
| |
| |
| |
| | |
treestore: Document the fact that iter is modified by the function, in a machine-readable fashion.
See merge request GNOME/gtk!2613
|
| |
| |
| |
| |
| |
| |
| |
| | |
annotation
"inout" for the parameter ITER passed. This means that bindings would misjudge what
the function does. In the case of guile-gi, it would be misjudged for a predicate,
see gulie-gi bug 87.
|
|\ \
| | |
| | |
| | |
| | | |
gdk/wayland: Replace gtk-primary-selection with primary-selection-unstable-v1
See merge request GNOME/gtk!2630
|
| |/
| |
| |
| |
| |
| | |
The later is the public upstream version, while identical implementation wise.
https://gitlab.gnome.org/GNOME/gtk/-/issues/2591
|
|\ \
| | |
| | |
| | |
| | | |
gsk: Avoid downloading GL textures when possible
See merge request GNOME/gtk!2628
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I found that the gears demo was spending 40% cpu
downloading a GL texture every frame, only to
upload it again to another context.
While the GSK rendering and the GtkGLArea use different
GL contexts, they are (usually) connected by sharing data
with the same global context, so we can just use the
texture without the download/upload dance. This brings
gears down to < 10% cpu.
|
|\ \
| |/
|/|
| |
| | |
fontchooser: Fix builds without PangoFT2
See merge request GNOME/gtk!2629
|
|/
|
|
|
|
|
|
|
|
|
| |
Currently, only if PangoFT2 is present and used it is supported
to retrieve the languages that are supported by a particular font.
If we don't have PangoFT2, remove the language filtering and the
sample text selection.
Based on earlier work by Chun-wei Fan, see
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/2614
|
|\
| |
| |
| |
| | |
GtkTreeviewColumn: don't focus-on-click header buttons
See merge request GNOME/gtk!1806
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
currently when mouse clicking on a column header
to sort it it is grabbing keyboard focus, this
should not happen, keyboard focus should remain
where it was before. This can be seen on the
GtkFileChooser widget, when having the keyboard
focus on the file list items and clicking on a
column header to sort it the keyboard focus is
now on the header.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Copy the format conversion code from GdkMemoryTexture
so we can produce all formats, and test them all.
The upload fast paths assume that the stride is a
multiple of four, so some of the padding values cause
it to fail. Apart from that, things seem to work for
all combinations.
|
|\ \
| | |
| | |
| | |
| | | |
Matthiasc/for master
See merge request GNOME/gtk!2626
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Create textures with various characteristics (alpha, premultiplication,
stride) that trigger different code paths in the gl texture upload
function, and show the resulting images. If all goes well, they all
should look the same.
On my system, this tests texture upload for memory formats
GDK_MEMORY_B8G8R8A8_PREMULTIPLIED, GDK_MEMORY_R8G8B8A8, and
GDK_MEMORY_R8G8B8, and it works with both gl and gles.
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
More texture upload fixes
Closes #3198
See merge request GNOME/gtk!2624
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In some cases, with bpp == 3 and a rowstride
that is divisible by 4, we were passing invalid
parameters to GL.
Fixes: #3198
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | | |
gl: Make debug spew more complete
Closes #3197
See merge request GNOME/gtk!2623
|
| | |
| | |
| | |
| | |
| | |
| | | |
The GdkPopup:autohide property was mis-documented.
Fixes: #3197
|
| | |
| | |
| | |
| | |
| | | |
List GL_EXT_unpack_subimage among the extensions
we check for.
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | | |
Make GtkBuildable vfunc accessor functions private
Closes #3191
See merge request GNOME/gtk!2619
|
| | |
| | |
| | |
| | | |
https://gitlab.gnome.org/GNOME/gtk/-/issues/3191
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
With the exception of gtk_buildable_get_id(), those are only used
to construct objects from XML descriptions, which is functionality
internal to GTK.
The API is therefore unlikely to be missed, and keeping it internal
means they can no longer unintentionally shadow object methods in
bindings with less namespacing; for example it's currently ambiguous
whether `infoBar.add_child()` refers to gtk_info_bar_add_child() or
gtk_buildable_add_child().
https://gitlab.gnome.org/GNOME/gtk/-/issues/3191
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
GtkBuildable's get_name()/set_name() methods may shadow
GtkWidget's methods. Avoid that by renaming the API to
get_buildable_id()/set_buildable_id(), which also reflects
the name of the XML attribute the API refers to.
https://gitlab.gnome.org/GNOME/gtk/-/issues/3191
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | | |
gl: Fix RGB uploads
Closes #3194
See merge request GNOME/gtk!2620
|
| | |
| | |
| | |
| | |
| | | |
Reset GL_UNPACK_ALIGNMENT to its initial value of 4 after
changing it for a glTexImage2D call.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
I don't really know what to say, other than:
OpenGL is terrible
Fixes: #3194
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
columnview: Simplify column constructors
See merge request GNOME/gtk!2622
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Drop gtk_column_view_column_new_with_factory and
just make gtk_column_view_column_new accept a
nullable factory. This follows what we've been
doing elsewhere.
Update all callers.
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | | |
Wip/carlosg/for master
Closes #3125 and #3121
See merge request GNOME/gtk!2621
|
| | |
| | |
| | |
| | | |
This is now only toggled around, may be cleaned up.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The priv->in_button state that used to be relied upon for pointer
events has been reduced over time to a broken state, since the button
does not track crossing events anymore.
Make the coordinate-based checks apply for pointer events too, besides
touch events. This fixes GtkButton mistakenly emitting ::clicked with
pointer button releases outside the widget.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3121
|
| | |
| | |
| | |
| | |
| | | |
We still want the drag gesture (and text selection) to work. Avoid claiming
the gesture early, like it's done in the pointer case.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Claiming early makes the contents unable to react to the touch press
event. Do this on GtkGestureDrag::update past a threshold, so the
child widget(s) can claim before the scrolledwindow does.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3125
|
|/ /
| |
| |
| |
| |
| | |
This API is kinda stuck in the GdkEvent days, we now negotiate ownership
of the input sequence via GtkGestures. Remove it as it reflects a way to
work that was not exactly accurate and it will turn plainly wrong soon.
|
|\ \
| | |
| | |
| | |
| | | |
Fix uploads of textures in GLES (and make texture uploads better)
See merge request GNOME/gtk!2616
|
| | |
| | |
| | |
| | |
| | |
| | | |
There is nothing really special about this code, its just a helper for
uploading pixel data to opengl, and we're not really in the business
of doing opengl-specific helper functions.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Do custom uploads rather than using gdk_cairo_surface_upload_to_gl(),
because this way we avoids a roundtrip (memcpy and possibly conversion)
to the cairo image surface format.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The gdk-pixbuf non-rgba format can be directly uploaded without
conversion.
The rgba format needs alpha premultiplication though, which is not
supported by GL during upload.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
GLES doesn't support the GL_BGRA + GL_UNSIGNED_INT_24_8 hack that
we use on desktop OpenGL to upload textures directly in the cairo
pixel format. This adds the required conversions to all the places
that currently need it.
We also add a data_format to the internal gdk_gl_context_upload_texture()
function to make it clearer what the format are. Currently it is always
the cairo image surface format, but eventually we want to support other
formats so that we can avoid some of the unnecessary conversions we do.
Also, the current gdk_gl_context_upload_texture() code always converts
to a cairo format and uploads that like we did before. Later commits
will allow this to use other upload formats that gl supports to avoid
conversions.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is the default OpenGL format, and in fact the only pixel format
that GLES supports uploading as. Actually, the premultiplied part is
really just about how we use the textures, but all textures in GTK
are premultiplied.
|
| | |
| | |
| | |
| | | |
We only have one implementation, so why do all this vfunc work?
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
Wip/baedert/for master
See merge request GNOME/gtk!2617
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If we just parse a color, like image(#FFF), avoid allocating the
GPtrArray to store images. This happens in Adwaita for background images
of backdrop buttons. We save around 70 GPtrArrays this way.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
6 is still plenty according to my market research.
Should help with #2624
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
That used to generate a critical error message.
Also free() the data.
|