Dz Chen [Fri, 23 Mar 2018 15:55:05 +0000 (23:55 +0800)]
Update zh_CN po and po-properties translations
Daniel Boles [Thu, 22 Mar 2018 20:58:31 +0000 (20:58 +0000)]
Adwaita: Regenerate CSS from SASS
https://gitlab.gnome.org/GNOME/gtk/merge_requests/66 introduced spurious
red/green fore/background.
Also, the GtkVideo stuff didn't get regenerated in.
Daniel Boles [Thu, 22 Mar 2018 20:54:01 +0000 (20:54 +0000)]
Merge branch 'toolbar-spacing-fix' into 'master'
theme: Be more selective when adding margins to toolbar items
See merge request GNOME/gtk!66
Benjamin Otte [Wed, 21 Mar 2018 20:58:08 +0000 (21:58 +0100)]
surface: Make process_updates no longer be a vfunc
Benjamin Otte [Wed, 21 Mar 2018 19:33:20 +0000 (20:33 +0100)]
surface: Remove some unused vfuncs
Benjamin Otte [Wed, 21 Mar 2018 19:15:21 +0000 (20:15 +0100)]
gdk: Remove GdkSurfaceImpl::shape_combine_region vfunc
... and all the implementations.
Input shapes still exist.
Benjamin Otte [Wed, 21 Mar 2018 18:58:49 +0000 (19:58 +0100)]
gdk: Remove a bunch of unused variables
Emmanuele Bassi [Wed, 21 Mar 2018 11:49:24 +0000 (11:49 +0000)]
Reduce the header level in the bug template
Make version and additional information headers use h2, like everything else.
Matthias Clasen [Wed, 21 Mar 2018 11:40:55 +0000 (11:40 +0000)]
Merge branch 'wip/sync-pre-swap-buffers' into 'master'
Synchronize wl_surface state before wl_surface_commit
See merge request GNOME/gtk!75
Alexander Larsson [Wed, 21 Mar 2018 10:49:14 +0000 (11:49 +0100)]
Continue renaming window to surface
This renames a lot of arguments, local variables and functions.
Alexander Larsson [Wed, 21 Mar 2018 08:18:30 +0000 (09:18 +0100)]
GdkSurface: Fix doc comments for remoteve invalidate_children argument
Alexander Larsson [Wed, 21 Mar 2018 08:17:50 +0000 (09:17 +0100)]
broadway: Fix up window -> surface renames
Alexander Larsson [Wed, 21 Mar 2018 08:06:31 +0000 (09:06 +0100)]
Fix up indentation after GdkSurface rename
This fixes up a lot of the indentation issues from the
rename of windows to surfaces, at least the ones in the headers
and many others.
Jonas Ådahl [Wed, 21 Mar 2018 06:08:13 +0000 (14:08 +0800)]
wayland/vulkancontext: Sync surface state before vkQueuePresentKHR
A side effect of vkQueuePresentKHR is the Vulkan implementation calling
wl_surface_commit() on the corresponding Wayland surface. Thus, before
this, we must synchronize the surface state (e.g. opaque region, window
geometry, etc) that changed since last time. Prior to this commit this
was done after calling vkQueuePresentKHR(), causing the surface state to
always correspond to the previous buffer state. As of this commit this
is now done before calling vkQueuePresentKHR(), thus before
wl_surface_commit().
Jonas Ådahl [Wed, 21 Mar 2018 06:01:58 +0000 (14:01 +0800)]
wayland/glcontext: Sync surface state before swapping buffers
A side effect of eglSwapBuffers* is the EGL implementation calling
wl_surface_commit() on the corresponding Wayland surface. Thus, before
swapping buffers, we must synchronize the surface state (e.g. opaque
region, window geometry, etc) that changed since the last buffer swap.
Prior to this commit, this was done after eglSwapBuffers*, causing the
surface state to always correspond to the previous buffer state. As of
this commit this is now done before swapping the buffers, thus before
wl_surface_commit().
Benjamin Otte [Wed, 21 Mar 2018 03:07:37 +0000 (04:07 +0100)]
surface: Simplify gdk_surface_invalidate_region()
Remove duplicate functions and unused arguments.
Functionality is identical otherwise.
Benjamin Otte [Wed, 21 Mar 2018 02:51:29 +0000 (03:51 +0100)]
surface: Stop tracking clip region
It's not needed because we're not using it for anything anymore now that
client-side surfaces aren't drawn anymore.
Benjamin Otte [Wed, 21 Mar 2018 02:42:34 +0000 (03:42 +0100)]
gdk: Remove gdk_surface_shape_combine_region()
If you want transparent region, you can just render them transparent.
If you want input shaping, use gdk_surface_input_shape_combine_region().
Also remove gtk_widget_shape_combine_region().
Benjamin Otte [Wed, 21 Mar 2018 01:57:48 +0000 (02:57 +0100)]
surface: Remove gdk_surface_get_clip_region()
... and gdk_surface_get_visible_region() APIs. They are unused.
Benjamin Otte [Wed, 21 Mar 2018 01:50:37 +0000 (02:50 +0100)]
gdk: Remove unused members from surface struct
Benjamin Otte [Wed, 21 Mar 2018 01:45:43 +0000 (02:45 +0100)]
surface: Stop shaping native children of csw surfaces
We don't have them anymore and they are goig away anyway.
Emmanuele Bassi [Wed, 21 Mar 2018 01:02:23 +0000 (01:02 +0000)]
docs: Drop the 'Contributing' section from the README
We have a whole document for that, and it's up to date with regards to
the GitLab workflow.
Emmanuele Bassi [Wed, 21 Mar 2018 00:59:06 +0000 (00:59 +0000)]
Add a template for bug reports
GitLab issues can use templates to guide users when filing new bug
reports; we should take advantage of this feature.
Emmanuele Bassi [Wed, 21 Mar 2018 00:58:46 +0000 (00:58 +0000)]
docs: Point at the right place for new bugs
We use GitLab issues, now.
Emmanuele Bassi [Wed, 21 Mar 2018 00:45:09 +0000 (00:45 +0000)]
Add a build status badge
Like all cool kids are doing, these days.
Matthias Clasen [Wed, 21 Mar 2018 00:04:20 +0000 (20:04 -0400)]
Add appdata for gtk4-widget-factory
This will let us build a better flatpak for gtk4-widget-factory.
Benjamin Otte [Tue, 20 Mar 2018 23:55:59 +0000 (00:55 +0100)]
surface: Remove GSK_SURFACE_ROOT
Root surface have been dead for a while now, no need to keep the enum
value around.
Emmanuele Bassi [Tue, 20 Mar 2018 23:52:31 +0000 (23:52 +0000)]
Merge branch 'ci-flatpak'
Generate Flatpak bundles for gtk-demo and gtk-widget-factory when
running the CI pipeline, and store them as artifacts on the CI server.
Benjamin Otte [Tue, 20 Mar 2018 23:35:51 +0000 (00:35 +0100)]
surface: Remove gdk_surface_invalidate_maybe_recurse()
This also means we can now get rid of child funcs because they're not
used anymore.
Benjamin Otte [Tue, 20 Mar 2018 22:55:20 +0000 (23:55 +0100)]
surface: Remove gdk_surface_scroll()
It's yet another fancy way to call gdk_surface_invalidate_region().
Also remove the one testgtk test that was still using it.
Benjamin Otte [Tue, 20 Mar 2018 22:04:36 +0000 (23:04 +0100)]
surface: Remove gdk_surface_move_region()
It's just a cute version of gdk_surface_invalidate_region()
these days and people can call that function instead.
Benjamin Otte [Tue, 20 Mar 2018 21:53:13 +0000 (22:53 +0100)]
surface: Remove queue_antiexpose()
... and its implementation in the X11 backend.
GDK does lots of work trying to reduce the region in expose events
so that when the server sends multiple expose events, touching the
same area we can make sure to only redraw stuff once. However:
(1) this is only relevant of there's tons of delay and multiple
expose events get sent
(2) we coalesce multiple events into a single expose event anyway
(3) we do this on the frame clock
But most importantly:
(4) Since the invention of compositing, servers caches all contents
anyway
Benjamin Otte [Tue, 20 Mar 2018 21:32:26 +0000 (22:32 +0100)]
gdk: Remove unused area member from GdkEventExpose
Benjamin Otte [Tue, 20 Mar 2018 21:30:04 +0000 (22:30 +0100)]
gdk: Remove unused count member from GdkEventExpose
Benjamin Otte [Tue, 20 Mar 2018 03:40:09 +0000 (04:40 +0100)]
widget: Remove useless macro
Matthias Clasen [Tue, 20 Mar 2018 23:40:30 +0000 (19:40 -0400)]
Add appdata for gtk4-demo
This will let us build a better flatpak for gtk4-demo.
Emmanuele Bassi [Tue, 20 Mar 2018 16:08:45 +0000 (16:08 +0000)]
ci: Add two flatpak jobs
When building GTK through the CI infrastructure, it would help to have
some ways of testing it; for instance, if we want to verify that theme
changes are useful, or if we want to run the result without necessarily
build it locally.
This is where flatpak comes in handy. By having the CI build a flatpak
buundle, and storing it as an artifact, of the GTK demos, we can easily
point developers and designers to an installable binary that won't break
their system, nor will require development tools and environments to
run.
Emmanuele Bassi [Tue, 20 Mar 2018 16:07:38 +0000 (16:07 +0000)]
Add flatpak builder manifests for our demos
We can use manifests as targets when building GTK inside a flatpak
environment; or we can use them for CI purposes.
Emmanuele Bassi [Tue, 20 Mar 2018 17:20:28 +0000 (17:20 +0000)]
Merge branch 'tests-gdk' into 'master'
gitlab-ci: enable gtk+:gdk tests
See merge request GNOME/gtk!74
Emmanuele Bassi [Tue, 20 Mar 2018 17:00:19 +0000 (17:00 +0000)]
tests: Update renamed symbol
Carlos Garnacho [Tue, 20 Mar 2018 17:03:15 +0000 (17:03 +0000)]
Merge branch 'detect-synaptics-touchpads-v2' into 'master'
x11/xi2: Report touchpads as TOUCHPAD, not MOUSE
See merge request GNOME/gtk!65
Piotr Drąg [Tue, 20 Mar 2018 16:32:35 +0000 (17:32 +0100)]
Update POTFILES.in
Christoph Reiter [Tue, 20 Mar 2018 16:31:38 +0000 (17:31 +0100)]
gitlab-ci: enable gtk+:gdk tests
xvfb doesn't like C.utf8 and returns XLocaleNotSupported.
While (afaik) C.utf8 and C.UTF.8 should be the same thing, and the former
is returned by locale -a on Fedora, switch to C.UTF-8 to make xvfb happy.
This makes gtk+:gdk tests pass.
Alexander Larsson [Tue, 20 Mar 2018 16:16:57 +0000 (16:16 +0000)]
Merge branch 'rename-window-to-surface' into 'master'
Rename window to surface
See merge request GNOME/gtk!72
Matthias Clasen [Tue, 20 Mar 2018 15:46:20 +0000 (15:46 +0000)]
Merge branch 'accessible-role' into 'master'
gtkbuilder: add accessibility role declaration
Closes #109
See merge request GNOME/gtk!69
Benjamin Otte [Tue, 20 Mar 2018 15:36:19 +0000 (15:36 +0000)]
Merge branch 'style-context-null-widget-guard-master' into 'master'
gtkstylecontext: guard against gtk_css_widget_node_get_widget() returning NULL in more places
See merge request GNOME/gtk!71
Matthias Clasen [Tue, 20 Mar 2018 15:33:35 +0000 (15:33 +0000)]
Merge branch 'a11y-fixes' into 'master'
Fix some accessibility issues in demos
Closes #110
See merge request GNOME/gtk!68
Alexander Larsson [Tue, 20 Mar 2018 15:25:50 +0000 (16:25 +0100)]
Convert all references to GdkEvent->surface
Christoph Reiter [Mon, 19 Mar 2018 17:21:25 +0000 (18:21 +0100)]
gtkstylecontext: guard against gtk_css_widget_node_get_widget() returning NULL in more places
When the widget gets finalized it clears the widgetnode and gtk_css_widget_node_get_widget
returns NULL. Guard against gtk_css_widget_node_get_widget() returning NULL like in other
places.
See https://gitlab.gnome.org/GNOME/pygobject/issues/28#note_82862
Alexander Larsson [Tue, 20 Mar 2018 14:40:31 +0000 (15:40 +0100)]
GtkWidget: Continuer rename of widget->surface
This completes the rename manually.
Alexander Larsson [Tue, 20 Mar 2018 14:21:12 +0000 (15:21 +0100)]
GtkWidget: Start renaming widget->window
This is an automated change doing these command:
git sed -f g gtk_widget_set_has_window gtk_widget_set_has_surface
git sed -f g gtk_widget_get_has_window gtk_widget_get_has_surface
git sed -f g gtk_widget_set_parent_window gtk_widget_set_parent_surface
git sed -f g gtk_widget_get_parent_window gtk_widget_get_parent_surface
git sed -f g gtk_widget_set_window gtk_widget_set_surface
git sed -f g gtk_widget_get_window gtk_widget_get_surface
git sed -f g gtk_widget_register_window gtk_widget_register_surface
git sed -f g gtk_widget_unregister_window gtk_widget_unregister_surface
git checkout NEWS*
Alexander Larsson [Tue, 20 Mar 2018 14:14:10 +0000 (15:14 +0100)]
GdkSurface: Rename lots of stuff from window->surface
Mostly these are internal things, but the major public change is
that event.window is now event.surface.
Alexander Larsson [Tue, 20 Mar 2018 11:05:26 +0000 (12:05 +0100)]
GdkSurface: Rename various functions and variables
This is an automatic rename of various things related
to the window->surface rename.
Public symbols changed by this is:
GDK_MODE_WINDOW
gdk_device_get_window_at_position
gdk_device_get_window_at_position_double
gdk_device_get_last_event_window
gdk_display_get_monitor_at_window
gdk_drag_context_get_source_window
gdk_drag_context_get_dest_window
gdk_drag_context_get_drag_window
gdk_draw_context_get_window
gdk_drawing_context_get_window
gdk_gl_context_get_window
gdk_synthesize_window_state
gdk_surface_get_window_type
gdk_x11_display_set_window_scale
gsk_renderer_new_for_window
gsk_renderer_get_window
gtk_text_view_buffer_to_window_coords
gtk_tree_view_convert_widget_to_bin_window_coords
gtk_tree_view_convert_tree_to_bin_window_coords
The commands that generated this are:
git sed -f g "GDK window" "GDK surface"
git sed -f g window_impl surface_impl
(cd gdk; git sed -f g impl_window impl_surface)
git sed -f g WINDOW_IMPL SURFACE_IMPL
git sed -f g GDK_MODE_WINDOW GDK_MODE_SURFACE
git sed -f g gdk_draw_context_get_window gdk_draw_context_get_surface
git sed -f g gdk_drawing_context_get_window gdk_drawing_context_get_surface
git sed -f g gdk_gl_context_get_window gdk_gl_context_get_surface
git sed -f g gsk_renderer_get_window gsk_renderer_get_surface
git sed -f g gsk_renderer_new_for_window gsk_renderer_new_for_surface
(cd gdk; git sed -f g window_type surface_type)
git sed -f g gdk_surface_get_window_type gdk_surface_get_surface_type
git sed -f g window_at_position surface_at_position
git sed -f g event_window event_surface
git sed -f g window_coord surface_coord
git sed -f g window_state surface_state
git sed -f g window_cursor surface_cursor
git sed -f g window_scale surface_scale
git sed -f g window_events surface_events
git sed -f g monitor_at_window monitor_at_surface
git sed -f g window_under_pointer surface_under_pointer
(cd gdk; git sed -f g for_window for_surface)
git sed -f g window_anchor surface_anchor
git sed -f g WINDOW_IS_TOPLEVEL SURFACE_IS_TOPLEVEL
git sed -f g native_window native_surface
git sed -f g source_window source_surface
git sed -f g dest_window dest_surface
git sed -f g drag_window drag_surface
git sed -f g input_window input_surface
git checkout NEWS* po-properties po docs/reference/gtk/migrating-3to4.xml
Alexander Larsson [Tue, 20 Mar 2018 10:46:11 +0000 (11:46 +0100)]
GdkWindow -> GdkSurface: File renames
Rename all *window.[ch] source files.
This is an automatic operation, done by the following commands:
for i in $(git ls-files gdk | grep window); do
git mv $i $(echo $i | sed s/window/surface/);
git sed -f g $(basename $i) $(basename $i | sed s/window/surface/) ;
done
git checkout NEWS* po-properties po
Alexander Larsson [Tue, 20 Mar 2018 10:40:08 +0000 (11:40 +0100)]
GdkWindow -> GdkSurface initial type rename
This renames the GdkWindow class and related classes (impl, backend
subclasses) to surface. Additionally it renames related types:
GdkWindowAttr, GdkWindowPaint, GdkWindowWindowClass, GdkWindowType,
GdkWindowTypeHint, GdkWindowHints, GdkWindowState, GdkWindowEdge
This is an automatic conversion using the below commands:
git sed -f g GdkWindowWindowClass GdkSurfaceSurfaceClass
git sed -f g GdkWindow GdkSurface
git sed -f g "gdk_window\([ _\(\),;]\|$\)" "gdk_surface\1" # Avoid hitting gdk_windowing
git sed -f g "GDK_WINDOW\([ _\(]\|$\)" "GDK_SURFACE\1" # Avoid hitting GDK_WINDOWING
git sed "GDK_\([A-Z]*\)IS_WINDOW\([_ (]\|$\)" "GDK_\1IS_SURFACE\2"
git sed GDK_TYPE_WINDOW GDK_TYPE_SURFACE
git sed -f g GdkPointerWindowInfo GdkPointerSurfaceInfo
git sed -f g "BROADWAY_WINDOW" "BROADWAY_SURFACE"
git sed -f g "broadway_window" "broadway_surface"
git sed -f g "BroadwayWindow" "BroadwaySurface"
git sed -f g "WAYLAND_WINDOW" "WAYLAND_SURFACE"
git sed -f g "wayland_window" "wayland_surface"
git sed -f g "WaylandWindow" "WaylandSurface"
git sed -f g "X11_WINDOW" "X11_SURFACE"
git sed -f g "x11_window" "x11_surface"
git sed -f g "X11Window" "X11Surface"
git sed -f g "WIN32_WINDOW" "WIN32_SURFACE"
git sed -f g "win32_window" "win32_surface"
git sed -f g "Win32Window" "Win32Surface"
git sed -f g "QUARTZ_WINDOW" "QUARTZ_SURFACE"
git sed -f g "quartz_window" "quartz_surface"
git sed -f g "QuartzWindow" "QuartzSurface"
git checkout NEWS* po-properties
Timm Bäder [Tue, 20 Mar 2018 08:19:10 +0000 (09:19 +0100)]
tests: Add testtexture
a test that simply loads a given file as a texture and renders it.
Timm Bäder [Tue, 20 Mar 2018 08:17:26 +0000 (09:17 +0100)]
gl renderer: Support large textures
By tiling them.
Timm Bäder [Mon, 19 Mar 2018 17:52:12 +0000 (18:52 +0100)]
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.
Timm Bäder [Mon, 19 Mar 2018 10:34:01 +0000 (11:34 +0100)]
gl renderer: add basic code to support texture tiling
Timm Bäder [Mon, 19 Mar 2018 08:20:33 +0000 (09:20 +0100)]
rendernode: Don't use gdk_texture_download_surface
It can't handle the texture sizes we'd like to support
Timm Bäder [Mon, 19 Mar 2018 08:20:33 +0000 (09:20 +0100)]
rendernode: Don't use gdk_texture_download_surface
It can't handle the texture sizes we'd like to support
Timm Bäder [Mon, 19 Mar 2018 07:57:40 +0000 (08:57 +0100)]
rendernode: Check cairo surface status after creation
Timm Bäder [Mon, 19 Mar 2018 07:18:45 +0000 (08:18 +0100)]
inspector: Use the attach widget as menu parent object
Fixes #101
Timm Bäder [Mon, 19 Mar 2018 07:08:31 +0000 (08:08 +0100)]
Revert "gl renderer: Limit texture node size to clip"
This reverts commit
0234e8e2c94ff6b0c6f4dfcd0c940910a97eca11.
This broke partially clipped-away nodes when they are being transformed,
e.g. by a rotation
Timm Bäder [Sun, 18 Mar 2018 21:00:01 +0000 (22:00 +0100)]
gldriver: Name driver instances 'self'
Timm Bäder [Sun, 18 Mar 2018 19:51:05 +0000 (20:51 +0100)]
progressbar: Remove priv pointer
Timm Bäder [Sun, 18 Mar 2018 13:00:20 +0000 (14:00 +0100)]
progressbar: Remove snapshot implementation
Timm Bäder [Sun, 18 Mar 2018 12:52:55 +0000 (13:52 +0100)]
levelbar: Remove priv pointer
Timm Bäder [Sat, 17 Mar 2018 19:29:36 +0000 (20:29 +0100)]
switch: Avoid a gtk_widget_get_clip call
Since we get the correct clip anyway from the gtk_widget_size_allocate
call above.
Timm Bäder [Sat, 17 Mar 2018 14:45:35 +0000 (15:45 +0100)]
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.
Timm Bäder [Sat, 17 Mar 2018 14:07:50 +0000 (15:07 +0100)]
paned: Remove priv pointer
Timm Bäder [Sat, 17 Mar 2018 13:59:19 +0000 (14:59 +0100)]
container: Don't use forall() in compute_expand
Use the widget list instead, which saves some code.
Timm Bäder [Sat, 17 Mar 2018 13:54:23 +0000 (14:54 +0100)]
container: Don't use forall() in get_request_mode
We can just use the widget child list, which save some code.
Rico Tzschichholz [Mon, 19 Mar 2018 19:31:15 +0000 (20:31 +0100)]
texture: Fix documentation block of gdk_texture_download
Samuel Thibault [Mon, 19 Mar 2018 15:29:25 +0000 (16:29 +0100)]
Fix some accessibility issues in demos
Fixes #110
Samuel Thibault [Mon, 19 Mar 2018 13:11:16 +0000 (14:11 +0100)]
gtkbuilder: add accessibility role declaration
This allows to override the role declared to the atk stack. For
instance,
<accessibility>
<role type="static"/>
</accessibility>
allows to tell the accessibility stack that a label is just a message in
a message box.
Fixes #109
Daniel Boles [Mon, 19 Mar 2018 15:13:04 +0000 (15:13 +0000)]
gdkrgba: Add a missing apostrophe in a doc comment
Quentin Glidic [Thu, 6 Jul 2017 14:31:46 +0000 (16:31 +0200)]
gtkimcontextsimple.c: Use X11_DATA_PREFIX only on X11
Unlike what commit
d01ea18dc3a9acc98fc133ddb53ddc838e4e18f9 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>
Daniel van Vugt [Fri, 16 Mar 2018 07:40:40 +0000 (15:40 +0800)]
x11/xi2: Report touchpads as TOUCHPAD, not MOUSE
is_touchpad_device() for XI2 was hardcoded to look for libinput only.
Extend it slightly to correctly identify other Xorg touchpad drivers.
https://gitlab.gnome.org/GNOME/gtk/issues/97
Benjamin Otte [Sun, 18 Mar 2018 23:26:29 +0000 (00:26 +0100)]
mediafile: Improve error message
We are using media plugins these days, so this is not a compile-time
issue.
Benjamin Otte [Sun, 18 Mar 2018 23:25:17 +0000 (00:25 +0100)]
video: Add gtk_video_get_file()
That function was missing.
Rico Tzschichholz [Sun, 18 Mar 2018 20:47:10 +0000 (21:47 +0100)]
gtk: Fix some g-i annotations warnings
Piotr Drąg [Sun, 18 Mar 2018 20:12:29 +0000 (21:12 +0100)]
Update POTFILES.in
Benjamin Otte [Sun, 18 Mar 2018 02:20:02 +0000 (03:20 +0100)]
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.
Benjamin Otte [Sun, 4 Mar 2018 14:03:26 +0000 (15:03 +0100)]
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.
Benjamin Otte [Mon, 5 Mar 2018 01:15:29 +0000 (02:15 +0100)]
gtk-demo: Add a simple video player example
For now, it's impossible to unfullscreen. Somebody should figure out a
way to do this.
Benjamin Otte [Fri, 2 Mar 2018 00:56:31 +0000 (01:56 +0100)]
gtk: Add a GStreamer implementation of GtkMediaFile
Benjamin Otte [Tue, 27 Feb 2018 02:58:52 +0000 (03:58 +0100)]
demos: Round up the paintable demos with a media stream
Benjamin Otte [Tue, 27 Feb 2018 02:09:33 +0000 (03:09 +0100)]
demos: Add an animated paintable demo
This builds on the paintable demo.
Benjamin Otte [Tue, 27 Feb 2018 01:28:55 +0000 (02:28 +0100)]
gtk-demo: Add paintable demo
Benjamin Otte [Sat, 24 Feb 2018 22:57:52 +0000 (23:57 +0100)]
demos: Add a video benchmark to widgetbowl demo
Benjamin Otte [Sat, 17 Feb 2018 23:33:17 +0000 (00:33 +0100)]
gtk-demo: Add a video example (with controls) to the images demo
Benjamin Otte [Thu, 1 Mar 2018 03:52:27 +0000 (04:52 +0100)]
gtk: Add GtkVideo
GtkVideo is a simple video player widget. It probably needs some more
configurability, but it does its job.
Benjamin Otte [Mon, 26 Feb 2018 00:32:01 +0000 (01:32 +0100)]
gtk: Add GtkMediaControls
This is a basic first implementation of controls for a GtkMediaStream,
modeled after Totem's UI.
Benjamin Otte [Tue, 27 Feb 2018 22:19:17 +0000 (23:19 +0100)]
gtk: Add ffmpeg implementation of GtkMediaFile
This adds a module using ffmpeg to implement the GtkMediaFile interface.
Matthias Clasen [Thu, 1 Mar 2018 20:46:16 +0000 (21:46 +0100)]
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.
Benjamin Otte [Tue, 27 Feb 2018 16:01:50 +0000 (17:01 +0100)]
gtk: Add GtkMediaFile
GtkMediaFile is an implementation of GtkMediaStream to play back files.
Except it isn't an implementation yet, but only an interface.
Benjamin Otte [Tue, 27 Feb 2018 22:22:26 +0000 (23:22 +0100)]
gtk: Add GtkMediaStream
GtkMediaStream is the new base class for playback of audio and video
streams.
It implements GdkPaintable for rendering.
Rico Tzschichholz [Sun, 18 Mar 2018 19:52:46 +0000 (20:52 +0100)]
texture: Fix compilation by avoiding to include not-yet available headers
Benjamin Otte [Sun, 18 Mar 2018 18:21:33 +0000 (19:21 +0100)]
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.