Timm Bäder
32783a8187
gtk4-section: Add GtkInfoBar:revealed setter+getter
2017-01-16 17:22:11 +01:00
Benjamin Otte
87497ca2e1
snapshot: Rename gtk_snapshot_translate_2d()
...
It's now called gtk_snapshot_offset().
2017-01-13 14:37:48 +01:00
Benjamin Otte
6055028c96
snapshot: Rename append APIs
...
Instead of having gtk_snapshot_append_foo_node(), just have
gtk_snapshot_append_foo(). Nobody needs to know that this internally
uses nodes.
2017-01-13 04:46:09 +01:00
Benjamin Otte
b58de2d16c
snapshot: Redo pop() API
...
gtk_snapshot_pop() => removed
gtk_snapshot_pop_and_append() => gtk_snapshot_pop()
So now there is no way to get a rendernode out of the snapshotting API
until you gtk_snapshot_finish().
2017-01-13 03:38:36 +01:00
Benjamin Otte
bc3ba68641
snapshot: Add gtk_snapshot_push_blend()
...
and use it for backgrounds.
2017-01-13 03:38:36 +01:00
Benjamin Otte
d9b0685b49
Add gtk_snapshot_push_cross_fade()
...
... and use it.
The function is a bit awkward because it requires 2 calls to
gtk_snapshot_pop(), but once you accept that, it's very convenient to
use, as can be seen by the 2 implementations.
2017-01-13 03:38:36 +01:00
Matthias Clasen
0868757cfd
More filter documentation updates
...
Actually document the filter property, not just -gtk-icon-filter.
2017-01-11 14:07:56 -05:00
Matthias Clasen
5f2a7ed3c1
Correct the -gtk-icon-filter docs
...
I was overlooking that it is possible to specify multiple
functions. Also add a reference to the relevant spec draft.
2017-01-11 13:42:58 -05:00
Matthias Clasen
249a0b1f22
Some updates to the migration guide
2017-01-10 21:21:26 -05:00
Matthias Clasen
8a83362fb8
Document -gtk-icon-filter
...
Not much detail here yet, but the syntax is documented.
2017-01-10 21:21:26 -05:00
Timm Bäder
3d5a62a0c9
actionbar: Add revealed property
...
So we can show and hide it with a transition as well as bind another
property to it.
2017-01-08 14:57:11 +01:00
Benjamin Otte
7ade6e3f46
gdk: Remove testing functions
...
They were unused and unimplemented.
2017-01-08 03:46:30 +01:00
Benjamin Otte
2a9ae1e8df
tests: Remove gtk_widget_send_key()
...
It's unused in GTK.
2017-01-08 03:46:30 +01:00
Benjamin Otte
daf0270f1a
tests: Remove widget find functions
...
They are all unused by GTK.
And other people can write their own find functions if they need any in
their tests.
2017-01-08 03:36:05 +01:00
Benjamin Otte
c1f1dae997
viewport: Remove API to query GdkWindows
2017-01-08 00:48:13 +01:00
Benjamin Otte
d50b73f66d
treeview: Remove gtk_tree_view_get_bin_window()
...
We don't want to expose GdkWindows in the public API.
2017-01-08 00:48:12 +01:00
Timm Bäder
47d4ad71fb
Remove gtk_container_snapshot_child
...
Replace it with the already existing gtk_widget_snapshot_child.
2017-01-07 17:19:30 +01:00
Timm Bäder
5ab2377afa
widget: Remove gtk_widget_style_get_property
2017-01-07 17:19:30 +01:00
Benjamin Otte
b993acfe2c
gsk: Add GskRepeatNode
...
Also add gtk_snapshot_push_repeat() and use that to draw backgrounds.
With that change, CSS background snapshots are created without Cairo
nodes.
2017-01-01 19:53:36 +01:00
Benjamin Otte
2571036c07
gsk: Turn GskTexture into a GObject
2017-01-01 19:53:36 +01:00
Benjamin Otte
8973191278
snapshot: Add gtk_snapshot_push_color_matrix()
...
So far, this is unused.
2016-12-31 02:49:47 +01:00
Benjamin Otte
7540702cf0
gsk: Add GskColorMatrixNode
...
This node essentially implements the feColorMatrix SVG filter. I got the
idea yesterday after looking at the opacity implementation.
It can be used for opacity (not sure if we want to) and to implement a
bunch of the CSS filters.
2016-12-31 02:49:47 +01:00
Benjamin Otte
677c5bdedf
cellrenderer: Move snapshotting down into cell renderers
...
Now that every call to GtkCellArea is a snapshot call and no more cairo
calls are left, move the actual differentiation between Cairo and
Snapshot down to the cell renderer.
2016-12-23 09:23:04 +01:00
Benjamin Otte
4bb0c70c11
gsk: Add docs and error handling to serialization API
2016-12-23 08:11:01 +01:00
Benjamin Otte
5e089c4345
gsk: Add gsk_render_node_write_to_file()
...
For when you're in a debugger and need to have a closer look at this
node...
2016-12-23 08:11:01 +01:00
Benjamin Otte
6c56793147
gsk: Add gsk_texture_download() API
...
Now users can download pixels and make everything slooooooow.
2016-12-23 08:11:01 +01:00
Benjamin Otte
be8c999fe8
docs: Add GskTexture
2016-12-23 08:11:01 +01:00
Benjamin Otte
373e08d6d4
gsk: Add gsk_renderer_render_texture()
...
... and implement it for the Cairo renderer.
It's an API that instructs a renderer to render to a texture.
So far this is mostly meant to be used for testing, but I could imagine
it being useful for rendering DND icons.
2016-12-23 08:11:01 +01:00
Benjamin Otte
735846cc82
gsk: Export gsk_render_node_get_bounds()
...
I'll need it in tests/testsuite soon.
2016-12-23 08:11:00 +01:00
Matthias Clasen
924efd988d
Fixes for the gdk docs
2016-12-21 13:57:16 -05:00
Matthias Clasen
961286b7cd
Make gsk docs build
2016-12-21 13:57:16 -05:00
Alexander Larsson
4ee45b76ca
gsk docs: gsk_render_node_iter_get_type doesn't exist anymore
2016-12-21 14:01:34 +01:00
Benjamin Otte
def94f03e2
debug: Add GTK_DEBUG=snapshot
...
This causes the snapshotting algorithm to dump all widget nodes into
their own container node. We then name that group accordingly (ie
"GtkSwitch<0xdeadbeef>") so you can easily see which node belongs where.
The feature is toggleable in the inspector's visual tab.
There's a few problems with it, becuse GtkSnapshot optimized container
nodes away if they are not needed, so we are losing some widgets...
2016-12-20 19:26:40 +01:00
Benjamin Otte
c4065b9ee0
API: Export gtk_container_snapshot_child()
...
It's equivalent to gtk_container_propagate_draw() and then one is
public, too.
2016-12-20 19:26:40 +01:00
Benjamin Otte
22a657004b
debug: Remove pixel-cache debug categories
...
We have no more pixel cache, so they are kind of useless.
2016-12-20 19:26:40 +01:00
Benjamin Otte
4d9eedafcd
roundedbox: Add gtk_rounded_boxes_init_for_style()
...
Instead of making people intiialize a rectangle and then applying border
radius manually, provide a constructor that does it for them.
While doing that, also allow people to instead request the padding box
or the content box.
Refactor all relevant code to use this new constructor.
2016-12-20 18:01:12 +01:00
Benjamin Otte
95a2a5c54c
gtk: Remove GtkJunctionSides
2016-12-20 18:01:12 +01:00
Benjamin Otte
2034e83a20
gsk: Add GskOutsetShadowNode
2016-12-20 18:01:12 +01:00
Benjamin Otte
fcc1f554d6
gsk: Add GskInsetShadowNode
...
And again lots of shadow code gets copied to GSK. But we're now almost
at a stage where widget-factory does not use cairo nodes anymore.
2016-12-20 18:01:12 +01:00
Benjamin Otte
4fc64ae3dd
gsk: Add contains/intersect functions for GskRoundedRect
...
... and use them.
2016-12-20 18:01:12 +01:00
Benjamin Otte
2480e0d575
gsk: Add GskShadowNode
...
... and make the icon rendering code use it.
This requires moving even more shadow renering code into GSK, but so be
it. At least the "shadows not implemented" warning is now gone!
2016-12-20 18:01:12 +01:00
Benjamin Otte
071c9a8221
API: gdk: Add gdk_rgba_is_clear() and gdk_rgba_is_opaque()
...
I want to use these inside GSK, and I'm not a fan of putting GdkRGBA
APIs into it or duplicating it into GTK.
So public API it is.
2016-12-20 18:01:12 +01:00
Benjamin Otte
15e8a22f08
gsk: Move gtk/gtkcairoblur.c to gsk/gskcairoblur.c
2016-12-20 18:01:11 +01:00
Benjamin Otte
75b76af221
gsk: Add GskBorderNode
...
The node draws a solid CSS border, which can be used to cover everything
but dashed and dotted borders (double, groove, inset, ...).
For different border styles, we overlay multiple nodes and set their
colors to transparent for sides with non-matching styles.
2016-12-20 18:01:11 +01:00
Benjamin Otte
a9809e5d30
gsk: Add gsk_rounded_rect_shrink()
...
... and replace _gtk_rounded_box_grow() and _gtk_rounded_box_shrink()
with it.
2016-12-20 18:01:11 +01:00
Benjamin Otte
30438c6e8b
gsk: Add cross-fade node
...
And implement stack crossfades with it.
2016-12-20 18:01:11 +01:00
Benjamin Otte
e8cd71228a
gsk: Implement linear gradient render nodes
2016-12-20 18:01:11 +01:00
Benjamin Otte
cf520b7a1f
gsk: Add blend nodes
...
Implement blend mode support in GTK background compositing with it.
2016-12-20 18:01:11 +01:00
Benjamin Otte
23e35706b4
gsk: Add support for rounded clip rectangles
...
Also add support to GtkSnapshot, so people can push rounded clips.
2016-12-20 18:01:10 +01:00
Benjamin Otte
59d638a09f
gsk: Add GskRoundedRect
...
It's essentially a port of GtkRoundedBox to graphene.
2016-12-20 18:01:10 +01:00