Timm Bäder
1d26879fa5
tests: Add testtexture
...
a test that simply loads a given file as a texture and renders it.
2018-03-20 09:40:10 +01:00
Timm Bäder
0124740fa0
gl renderer: Support large textures
...
By tiling them.
2018-03-20 09:40:10 +01:00
Timm Bäder
3f367277fe
snapshot: Limit cairo nodes to clip region
...
In certain cases, we might create large cairo nodes, resulting in
surfaces so large, cairo can't handle them. Fix this by limiting the
cairo node to the current clip region.
2018-03-20 09:40:10 +01:00
Timm Bäder
4240119d64
gl renderer: add basic code to support texture tiling
2018-03-20 09:40:10 +01:00
Timm Bäder
a9fec38680
rendernode: Don't use gdk_texture_download_surface
...
It can't handle the texture sizes we'd like to support
2018-03-20 09:40:10 +01:00
Timm Bäder
22780044ec
rendernode: Don't use gdk_texture_download_surface
...
It can't handle the texture sizes we'd like to support
2018-03-20 09:37:59 +01:00
Timm Bäder
4353ad224f
rendernode: Check cairo surface status after creation
2018-03-20 09:37:59 +01:00
Timm Bäder
85eef63b32
inspector: Use the attach widget as menu parent object
...
Fixes #101
2018-03-20 09:37:59 +01:00
Timm Bäder
9e9db8607b
Revert "gl renderer: Limit texture node size to clip"
...
This reverts commit 0234e8e2c9
.
This broke partially clipped-away nodes when they are being transformed,
e.g. by a rotation
2018-03-20 09:37:59 +01:00
Timm Bäder
8ef2b10f70
gldriver: Name driver instances 'self'
2018-03-20 09:37:59 +01:00
Timm Bäder
50ffa86d18
progressbar: Remove priv pointer
2018-03-20 09:37:59 +01:00
Timm Bäder
2210078a64
progressbar: Remove snapshot implementation
2018-03-20 09:37:59 +01:00
Timm Bäder
25ab5b9f0b
levelbar: Remove priv pointer
2018-03-20 09:37:59 +01:00
Timm Bäder
f261bf2fc6
switch: Avoid a gtk_widget_get_clip call
...
Since we get the correct clip anyway from the gtk_widget_size_allocate
call above.
2018-03-20 09:37:59 +01:00
Timm Bäder
922b2cf99a
grid: Remove child list
...
Save the child info using g_object_set_qdata and just use the widget's
built-in child list for everthing else. This is especially simple for
GtkGrid since it has never supported reordering its child widgets.
2018-03-20 09:37:59 +01:00
Timm Bäder
c8b0c55284
paned: Remove priv pointer
2018-03-20 09:37:59 +01:00
Timm Bäder
93aa5ce167
container: Don't use forall() in compute_expand
...
Use the widget list instead, which saves some code.
2018-03-20 09:37:58 +01:00
Timm Bäder
781400f6d3
container: Don't use forall() in get_request_mode
...
We can just use the widget child list, which save some code.
2018-03-20 09:37:58 +01:00
Rico Tzschichholz
f7326ff828
texture: Fix documentation block of gdk_texture_download
2018-03-19 20:31:15 +01:00
Daniel Boles
a15080c640
gdkrgba: Add a missing apostrophe in a doc comment
2018-03-19 15:14:20 +00:00
Quentin Glidic
f431e28ce3
gtkimcontextsimple.c: Use X11_DATA_PREFIX only on X11
...
Unlike what commit d01ea18dc3
says, X11 is
not a requirement for Wayland, so a Wayland-only build is possible. We
just use the same logic as other non-X11 platforms.
https://bugzilla.gnome.org/show_bug.cgi?id=784615
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
2018-03-19 11:39:47 +01:00
Benjamin Otte
1a1373779f
mediafile: Improve error message
...
We are using media plugins these days, so this is not a compile-time
issue.
2018-03-19 00:28:20 +01:00
Benjamin Otte
2aee39d12c
video: Add gtk_video_get_file()
...
That function was missing.
2018-03-19 00:28:20 +01:00
Rico Tzschichholz
158df3c1bb
gtk: Fix some g-i annotations warnings
2018-03-18 21:47:10 +01:00
Piotr Drąg
f1e1e9a71e
Update POTFILES.in
2018-03-18 21:12:29 +01:00
Benjamin Otte
04a3b8b6df
mediastream: Add gtk_media_stream_realize/unrealize()
...
This allows widget to attach their streams to GdkWindow(s)
The idea is to allow attaching a stream to windowing system(s) so the
stream can make use of its resources, in particular GL contexts.
I am however unsure what to attach to:
- GtkWindow
- GdkWindow
- GtkWidget
- GskRenderer
Each of these provide advantages and disadvantages.
So I'm very much open to better suggestions.
2018-03-18 21:01:23 +01:00
Benjamin Otte
09a21f1cd2
build: Make GStreamer backend the default
...
Instead of compiling without media backend by default, we now use the
GStreamer backend.
This means that CI now requires gstreamer support.
2018-03-18 21:01:23 +01:00
Benjamin Otte
0f4ab5862a
gtk-demo: Add a simple video player example
...
For now, it's impossible to unfullscreen. Somebody should figure out a
way to do this.
2018-03-18 21:01:23 +01:00
Benjamin Otte
2362e4d41e
gtk: Add a GStreamer implementation of GtkMediaFile
2018-03-18 21:01:23 +01:00
Benjamin Otte
182f39aba7
demos: Round up the paintable demos with a media stream
2018-03-18 21:01:23 +01:00
Benjamin Otte
3d9cb477aa
demos: Add an animated paintable demo
...
This builds on the paintable demo.
2018-03-18 21:01:23 +01:00
Benjamin Otte
357175f0b1
gtk-demo: Add paintable demo
2018-03-18 21:01:23 +01:00
Benjamin Otte
b410b48eed
demos: Add a video benchmark to widgetbowl demo
2018-03-18 21:01:23 +01:00
Benjamin Otte
5bd85058d9
gtk-demo: Add a video example (with controls) to the images demo
2018-03-18 21:01:23 +01:00
Benjamin Otte
7cf6da60da
gtk: Add GtkVideo
...
GtkVideo is a simple video player widget. It probably needs some more
configurability, but it does its job.
2018-03-18 21:01:23 +01:00
Benjamin Otte
9700a98f48
gtk: Add GtkMediaControls
...
This is a basic first implementation of controls for a GtkMediaStream,
modeled after Totem's UI.
2018-03-18 21:01:23 +01:00
Benjamin Otte
800bcb5cb4
gtk: Add ffmpeg implementation of GtkMediaFile
...
This adds a module using ffmpeg to implement the GtkMediaFile interface.
2018-03-18 21:01:23 +01:00
Matthias Clasen
e4338c4d42
mediafile: Turn into an extension point
...
This way, we can support external libraries providing implementations of
GtkMediaFile.
We also add a media backend called 'nomedia' that can be enabled to not
compile any support for GtkMediaFile. This is useful when people want to
statically compile GTK into an application that does not use media.
For now, this option is the default.
We also support a new environment variable GTK_MEDIA that allows
selecting the implementation to use.
GTK_MEDIA=help can be used to get info about the available
implementations.
2018-03-18 21:01:23 +01:00
Benjamin Otte
29cccf5e84
gtk: Add GtkMediaFile
...
GtkMediaFile is an implementation of GtkMediaStream to play back files.
Except it isn't an implementation yet, but only an interface.
2018-03-18 21:01:23 +01:00
Benjamin Otte
4db1a5f5c4
gtk: Add GtkMediaStream
...
GtkMediaStream is the new base class for playback of audio and video
streams.
It implements GdkPaintable for rendering.
2018-03-18 21:01:23 +01:00
Rico Tzschichholz
4642e86284
texture: Fix compilation by avoiding to include not-yet available headers
2018-03-18 20:52:46 +01:00
Benjamin Otte
ea84e974e6
snapshot: Turn into GObject
...
This makes GdkSnapshot the base class for GtkSnapshot and hopefully
stops confusing bindings.
C code should see no difference to before.
2018-03-18 19:21:33 +01:00
Benjamin Otte
abc9b944f9
testsuite: Update C++ keywords test to GTK 3.0.0
2018-03-18 19:20:46 +01:00
Benjamin Otte
87fa7ff314
build: Fix printbackends
...
There's no "auto" option anymore, so remove checks for that option.
2018-03-18 19:08:28 +01:00
Benjamin Otte
6dc29f2852
gltexture: Rename variable
...
Makes docs build happy.
2018-03-18 18:42:20 +01:00
Benjamin Otte
82a99a3643
texture: Expose subclasses as subclasses
...
This is necessary so that bidnings work properly and don't make
gdk_gl_texture_release() a function on GdkTexture.
It also allows code to identify what type of texture they are dealing
with.
Finally, we can now decide to add getters later without screwing
anything up, if we want to allow people to access GL textures directly.
2018-03-18 05:57:07 +01:00
Benjamin Otte
d54ca3c74f
gdk: Add GDK_MEMORY_DEFAULT
...
This is the default memory format.
I added it because it is way better than including a private header and
using GDK_MEMORY_CAIRO_FORMAT_ARGB32.
2018-03-18 05:57:07 +01:00
Benjamin Otte
ee8e42f19b
gdk: Remove gdk_texture_new_from_data()
...
Use gdk_memory_texture_new() instead.
2018-03-18 05:57:07 +01:00
Daniel Boles
41a5e744d8
SpinButton: Desensitise +/- buttons as appropriate
...
The logic for this in 3 got lost in the move from gadgets to widgets. We
must update the sensitivities when :wrap, :value, or the bounds change.
Close: https://gitlab.gnome.org/GNOME/gtk/issues/88
2018-03-17 15:53:50 +00:00
Timm Bäder
a25dcd0f74
snapshot: Fix some indentation
2018-03-17 14:13:42 +01:00