Commit Graph

56644 Commits

Author SHA1 Message Date
Matthias Clasen
3487ebe4fd remove tests that no longer work 2019-02-21 19:46:38 -05:00
Matthias Clasen
f57e66cf37 overlay: Drop the index child property
And don't allow reordering children.
2019-02-21 19:43:33 -05:00
Matthias Clasen
1818f5589d overlay: Drop the blur support
This was really just a demo of what gsk can do.
It can be done with public api, and has been moved
to gtk-demo.
2019-02-21 19:39:42 -05:00
Matthias Clasen
d291dff0ac gtk-demo: Fix the decorative overlay example
The decorations are appearing as 16x16, which is not
the intention. Use a GtkPicture instead.
2019-02-21 19:38:58 -05:00
Matthias Clasen
b70cd64d6d gtk-demo: Move the blur demo code here
We want to remove this from the GtkOverlay code.
2019-02-21 19:31:41 -05:00
Benjamin Otte
e8b5056940 And another keybinding leftover 2019-02-22 00:07:35 +01:00
Matthias Clasen
6711aa2a4e More css key bindings removal
One more :(
2019-02-21 17:36:29 -05:00
Matthias Clasen
ae47ec1c3b more css keybinding removal 2019-02-21 17:22:37 -05:00
Benjamin Otte
14444826c1 docs: Fix typo
:(
2019-02-21 23:00:36 +01:00
Benjamin Otte
46cb221220 Remove support for -gtk-key-bindings: css property
This is no longer used.
2019-02-21 21:49:09 +01:00
Benjamin Otte
dfc1673653 docs: Use the same name in different files
Otherwise gtk-doc gets confused.
2019-02-21 20:44:17 +01:00
Matthias Clasen
b64f852d60 Remove docs for css keybindings
This functionality has been removed.
2019-02-21 13:56:56 -05:00
Matthias Clasen
12442bd1bf Remove support for -gtk-key-bindings: css property
This is no longer used.
2019-02-21 13:56:56 -05:00
Timm Bäder
0ae7c30105 Add & use GTK_CSS_AFFECTS_TRANSFORM
This avoids invalidating the size of all widgets when updating CSS
transforms.

In theory, we don't even have to allocate the widget itself, because we
didn't change its size. But we have no way to track that.
2019-02-21 19:47:28 +01:00
Timm Bäder
fd318a17a4 widget: Apply CSS transform in gtk_widget_allocate() 2019-02-21 19:47:28 +01:00
Timm Bäder
e2b9f3258e css: Add transform style property 2019-02-21 19:47:28 +01:00
Benjamin Otte
ad58dd5cf5 csstransform: Create a GtkTransform
Stop creating graphene_matrix_t's.
2019-02-21 19:47:28 +01:00
Benjamin Otte
4052bb2535 snapshot: Remove the old APIs
It's all using transforms now.
2019-02-21 19:47:28 +01:00
Benjamin Otte
d8482edaf5 layoutoverlay: Use new snapshot transforms 2019-02-21 19:47:28 +01:00
Benjamin Otte
baefee17c5 fpsoverlay: Use new snapshot transforms 2019-02-21 19:47:28 +01:00
Benjamin Otte
751ef5b5b9 widgetpaintable: Use new snapshot transforms 2019-02-21 19:47:28 +01:00
Benjamin Otte
5965ead5a7 widget: Use new snapshot transforms 2019-02-21 19:47:28 +01:00
Benjamin Otte
5fc446dabf treeview: Use new snapshot transforms 2019-02-21 19:47:28 +01:00
Benjamin Otte
70100d888a textview: Use new snapshot transforms 2019-02-21 19:47:28 +01:00
Benjamin Otte
380c4ece8d stylecontext: Use new snapshot transforms 2019-02-21 19:47:28 +01:00
Benjamin Otte
6df2023e9d stack: Use new snapshot transforms 2019-02-21 19:47:28 +01:00
Benjamin Otte
f59f4d774b scaler: Use new snapshot transforms 2019-02-21 19:47:28 +01:00
Benjamin Otte
a881cbff3a rendernodepaintable: Use new snapshot transforms 2019-02-21 19:47:28 +01:00
Benjamin Otte
5b10a2929e rendericon: Use new snapshot transforms 2019-02-21 19:47:28 +01:00
Benjamin Otte
b0eceb65d7 renderbackground: Use new snapshot transforms 2019-02-21 19:47:28 +01:00
Benjamin Otte
6e19fb7b36 picture: Use new snapshot transforms 2019-02-21 19:47:28 +01:00
Benjamin Otte
b96e835d9e magnifier: Use new snapshot transforms 2019-02-21 19:47:28 +01:00
Benjamin Otte
65174c7989 image: Use new snapshot transforms 2019-02-21 19:47:28 +01:00
Benjamin Otte
f0795a795b iconview: Use new snapshot transforms 2019-02-21 19:47:28 +01:00
Benjamin Otte
a5a7cdd84b iconhelper: Use new snapshot transforms 2019-02-21 19:47:28 +01:00
Benjamin Otte
6cb8f638d1 cellrenderertoggle: Use new snapshot transforms 2019-02-21 19:47:28 +01:00
Benjamin Otte
50e66d5c0d cellrendererpixbuf: Use new snapshot transforms 2019-02-21 19:47:28 +01:00
Benjamin Otte
efd92f7a9e calendar: Use new snapshot transforms 2019-02-21 19:47:28 +01:00
Benjamin Otte
407307c7e4 puzzlepiece: Use new snapshot transforms 2019-02-21 19:47:28 +01:00
Benjamin Otte
51fac44ba5 snapshot: Introduce transform APIs
Instead of gtk_snapshot_offset(), provide a full set of functions
kept in sync with GtkTransform APIs.

On top of that, add gtk_snapshot_save() and gtk_snapshot_restore()
mirroring cairo_save()/restore() that allow saving a snapshot's
transform state.
2019-02-21 19:47:28 +01:00
Benjamin Otte
2bdc0748e5 snapshot: Remove gtk_snapshot_get_offset()
We use append() functions for everything now, thank you very much.
2019-02-21 19:47:28 +01:00
Benjamin Otte
1ef250f44a snapshot: Add functions to append shadows 2019-02-21 19:47:28 +01:00
Benjamin Otte
0d119f81c8 snapshot: Refactor text rendering
The code didn't change, it was just shuffled around to make the
with_bounds() versions of the text rendering unnecessary and instead
pass through the generic append_node() path.
2019-02-21 19:47:28 +01:00
Benjamin Otte
e1570e9ebc snapshot: Add gtk_snapshot_append_border()
This is adding functions for the remaining render nodes.
2019-02-21 19:47:28 +01:00
Benjamin Otte
4a293aa762 snapshot: Store an actual GtkTransform
Instead of just tracking 2 integer translate_x/y coordinates, tracka a
full GtkTransform.

When creating actual nodes, if the transform is simple enough, just
create the node in a way that makes use of the transform. If the
node, can't represent the transform, just push a transform node instead
and automatically pop that node with the next gtk_snapshot_pop() call.
2019-02-21 19:47:28 +01:00
Benjamin Otte
f0142b9c4b snapshot: Remove dead code
Seems to be leftovers from way too long ago.
2019-02-21 19:47:28 +01:00
Benjamin Otte
6a4bf2b993 gsk: Remove offset nodes
They were a neat idea while they lasted. But now, it's time for
categorized transform nodes, where matrices with
GSK_MATRIX_CATEGORY_2D_TRANSLATE are the exact replacement.

Renderers have not been adapted for this purpose, so they (continue to)
run slow paths.
2019-02-21 19:47:28 +01:00
Benjamin Otte
f5b44c11c8 widget: Store category of widget transform
And pass that category through to the transform node that we create for
it.
2019-02-21 19:47:28 +01:00
Benjamin Otte
c24f32619f widget: Make gtk_widget_allocate() take a GtkTransform
We can reason about GtkTransform way better - and determine its category or
do equality checks.
2019-02-21 19:47:27 +01:00
Benjamin Otte
49d83820a2 gtk: Add GtkTransform
This is a new object (well, boxed type, but I'm calling it object) for
dealing with transform in a more constructive way than graphene_matrix_t
by keeping track of how the transform was created.

This way, reasoning about the transform becomes easier, and we can create
better ways to print it or transition from one transform to another one.

An example of this is that while a 0 degree and a 360degree rotation are
both the identity matrix, doing a transition between the two would cause
a rotation.
2019-02-21 19:47:27 +01:00