Ting-Wei Lan
f96c4eb5bb
broadway: Use the correct way to call find_library
...
While broadway currently doesn't build on Windows, it is still better to
avoid using the old and unsupported way to call find_library.
2021-09-26 18:51:13 +08:00
Benjamin Otte
a29474567a
gdk: Remove gdkinternals.h
2021-09-24 22:50:29 +02:00
Benjamin Otte
279f9aa6d3
wayland: Don't include gdkinternals.h
2021-09-24 22:50:29 +02:00
Benjamin Otte
d4f9d38368
win32: Fix gcc warnings
2021-09-24 22:50:29 +02:00
Benjamin Otte
47e0539968
x11: Don't include gdkinternals.h
2021-09-24 22:50:29 +02:00
Benjamin Otte
4e836493cc
macos: Don't include gdkinternals.h
2021-09-24 22:50:29 +02:00
Benjamin Otte
226ecaf9a2
win32: Don't include gdkinternals.h
2021-09-24 22:50:29 +02:00
Benjamin Otte
bcd9a0141a
broadway: Don't include gdkinternals.h
2021-09-24 22:11:57 +02:00
Benjamin Otte
811b5d995b
gdk: Don't include gdkinternals.h in gdk-private.h
2021-09-24 22:11:57 +02:00
Benjamin Otte
c7992884ae
gdk: Remove gdk.h include form gdkframeclockidle.c
2021-09-24 22:11:57 +02:00
Benjamin Otte
39f2bb28de
gdk: Remove gdk.h include from header
2021-09-24 22:11:57 +02:00
Benjamin Otte
78d7cb712e
gdk: Remove gdk.h include from gdk-private.h
2021-09-24 22:11:57 +02:00
Benjamin Otte
d61c71c378
macos: Actually set the vfuncs
2021-09-24 22:11:57 +02:00
Benjamin Otte
23acc993cc
gdk: Make sure only one GL backend is used
...
Creative people managed to create an X11 display and a Wayland display
at once, thereby getting EGL and GLX involved in a fight to the death
over the ownership of the glFoo() symbolspace.
A way to force such a fight with available tools here is (on Wayland)
running something like:
GTK_INSPECTOR_DISPLAY=:1 GTK_DEBUG=interactive gtk4-demo
Related: xdg-desktop-portal-gnome#5
2021-09-24 01:59:37 +02:00
Matthias Clasen
0b9f6985b1
texture: Document constructors as threadsafe
...
We aren't providing async loading apis here,
but we want to allow applications to create
textures in a thread, to avoid blocking the
main thread.
2021-09-21 23:10:53 -04:00
Benjamin Otte
d19f4ad53a
Merge branch 'wip/otte/for-master' into 'master'
...
cssprovider: Be clearer about warnings vs errors
See merge request GNOME/gtk!3980
2021-09-20 05:38:27 +00:00
Benjamin Otte
d17552670c
wayland: Add format hex value to debug print
...
It's how it's listed in the spec, this makes it easier to search.
2021-09-20 07:04:20 +02:00
Matthias Clasen
56e6a51ac0
Merge branch 'delayed-loading' into 'master'
...
gtk-demo: Cosmetics
See merge request GNOME/gtk!3975
2021-09-18 23:02:00 +00:00
Matthias Clasen
c9135546b6
loaders: Add profiler marks
...
These are potentially expensive calls, we
should make sure they show up in profiles.
2021-09-18 17:35:00 -04:00
Timm Bäder
c24b7877a0
gdktiff: Use guint32 instead of int32
...
The latter seems to be deprecated.
2021-09-18 09:00:16 +02:00
Benjamin Otte
1b85b5597b
texture: Implement GIcon and GLoadableIcon
...
This is mainly for feature parity with GdkPixbuf. And it doesn't hurt
anyone (I hope).
2021-09-17 04:31:46 +02:00
Benjamin Otte
fae32846c7
texture: Refactor gdk_texture_new_from_bytes()
...
1. Split into a real loader and a fake one
2. Only try the fake one if the real one doesn't support the file.
2021-09-17 04:31:46 +02:00
Benjamin Otte
b271a94f92
texture: Rework error enum
...
1. Change INSUFFICIENT_MEMORY to TOO_LARGE
GTK crashes on insufficient memory, we don't emit GErrors.
2. Split UNSUPPORTED into UNSUPPORTED_CONTENT and UNSUPPORTED_FORMAT
So we know if you need to find an RPM with a loader or curse and
the weird file.
3. Translate error messages, they are meant for end users.
2021-09-17 03:25:35 +02:00
Matthias Clasen
b226478e8b
Support 16bit formats in the png loader
...
When loading, convert all >8-bit data to
GDK_MEMORY_R16G16B16A16_PREMULTIPLIED.
When saving, save all 8-bit formats as 8-bit RGBA,
and save all >8-bt formats as 16-bit RGBA.
2021-09-17 02:02:51 +02:00
Matthias Clasen
14280b5f5b
contentdeserializer: Use our on jpeg loader
2021-09-17 02:02:51 +02:00
Matthias Clasen
e720f9d35d
Add code to save jpegs
2021-09-17 02:02:51 +02:00
Benjamin Otte
679c93e843
texture: Add private can_load() function
...
... and use it to load textures in gtk_picture_set_from_file().
2021-09-17 00:25:22 +02:00
Benjamin Otte
2d3de8608c
texture: Split out type detection
...
This way, the code using it becomes clearer and we can use it in
multiple places without accidentally doing it wrong (hint: see next
commit).
2021-09-17 00:25:22 +02:00
Benjamin Otte
100b0bf7d9
texture: Remove declaration for nonexisting function
2021-09-17 00:25:22 +02:00
Matthias Clasen
f2ca9ebbd7
texture: Avoid pixbufs when loading resources
...
We can just use our own loaders here now.
2021-09-17 00:25:22 +02:00
Benjamin Otte
b1bb7c3258
texture: Add gdk_texture_save_to_tiff_bytes()
2021-09-17 00:25:22 +02:00
Matthias Clasen
d27bc74481
Use our own loaders for content (de)serialization
...
Use our own loader to (de)serialiaze textures
to and from png and tiff.
We still fall back to gdk-pixbuf for handling all
the other image formats, and for pixbufs.
2021-09-17 00:25:22 +02:00
Matthias Clasen
daf29e174f
Load jpegs without gdk-pixbuf
...
Use our own loader for jpeg files.
2021-09-17 00:25:22 +02:00
Matthias Clasen
729ba8111a
Add code to load jpegs
...
This lets us avoid gdk-pixbuf for loading
textures from the common image formats.
As a consequence, we are now linking against libjpeg.
2021-09-17 00:25:22 +02:00
Matthias Clasen
d30a029689
Add gdk_texture_save_to_tiff
...
This is a companion to gdk_texture_save_to_png, using
the tiff format, which will let us avoid lossy conversion
of HDR data, since we can store floating point data.
2021-09-17 00:25:22 +02:00
Matthias Clasen
f925e12e1d
Load tiffs without gdk-pixbuf
...
This will let us load floating point data, in
the future.
2021-09-17 00:25:22 +02:00
Matthias Clasen
a03594df52
Add code to load and save tiff files
...
Add support for the tiff format, which is flexible
enough to handle all our memory texture formats
without loss.
As a consequence, we are now linking against libtiff.
2021-09-17 00:25:22 +02:00
Matthias Clasen
d7c8f92733
Add gdk_texture_save_to_png_bytes
...
Just expose what we already have available
internally, so e.g. tests can use it without
static linking.
2021-09-17 00:25:22 +02:00
Matthias Clasen
7949aaabb7
Save pngs without cairo
...
Use our own loader for pngs, which will allow
us to save e.g. 16-bit data in the future.
2021-09-17 00:25:22 +02:00
Matthias Clasen
a71877bf99
Load pngs without gdk-pixbuf
...
Use our own loader for pngs, which will allow
us to get e.g. 16-bit data in the future.
2021-09-17 00:25:22 +02:00
Matthias Clasen
f51f7f85eb
Add code to load and save pngs
...
Using libpng instead of the lowest-common-denominator
gdk-pixbuf loader. This will allow us to load >8bit data,
and apply gamma and color correction in the future.
For now, this still just provides RGBA8 data.
As a consequence, we are now linking against libpng.
2021-09-17 00:25:22 +02:00
Matthias Clasen
66031fd00b
texture: Add error enum
2021-09-17 00:25:22 +02:00
Benjamin Otte
75dfb4d63b
API: Add gdk_texture_new_from_filename()
...
There are quite a few places where we can make use of it, in particular
in the testsuite and icontheme.
2021-09-16 23:59:37 +02:00
Benjamin Otte
551f76ea69
gltexture: Fallback in download_float()
...
GLES only allows downloading float if the texture matches specific
criteria and I'm too lazy to determine them, so always fall back.
And the custom stride fallback code isn't necessary, because falling
back does exactly that step already.
2021-09-16 23:59:37 +02:00
Benjamin Otte
a4f3fbbda1
gltexture: Fix download() for GLES
...
GLES can't do glGetTexImage(), so implement a version that does
glReadPixels() on GLES.
2021-09-16 23:59:37 +02:00
Matthias Clasen
9f8d6ff29c
texture: Mention download_float in the docs
2021-09-15 22:00:16 -04:00
Matthias Clasen
1230bce133
Add gdk_texture_new_from_bytes
...
Add this new api, and make gdk_texture_new_from_file
a wrapper around it.
2021-09-15 22:00:09 -04:00
Matthias Clasen
75b45aeabf
Fix memorytexture float conversion
...
This was silently dropping the alpha in one case.
2021-09-15 21:14:59 -04:00
Matthias Clasen
38fce67a9b
Annotate gdk_rgba_to_string as malloc
2021-09-14 16:38:08 -04:00
Matthias Clasen
04ef7055cd
Annotate gdk_drag_action_is_unique as const
2021-09-14 16:38:08 -04:00