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
Benjamin Otte
70a1233a28
gsk: Add GskMatrixCategory
...
We'll use that soon.
2019-02-21 19:47:27 +01:00
Matthias Clasen
e5857a760f
Merge branch 'key-themes' into 'master'
...
Key themes
See merge request GNOME/gtk!595
2019-02-21 18:01:31 +00:00
Piotr Drąg
f67ef125f3
Update Polish translation
2019-02-21 18:31:37 +01:00
Matthias Clasen
837d9bf39e
Remove css test for key bindings
2019-02-21 12:29:46 -05:00
Matthias Clasen
96fa1fb5c1
Drop key themes
...
These were an abuse of css, and not very successful
as a concept. We are going to replace bindings with
a new way of doing customizable shortcuts.
2019-02-21 12:22:50 -05:00
Matthias Clasen
a3ae12c0b7
Merge branch 'piotrdrag/rename-gtk-inspector' into 'master'
...
window: Rename GTK+ Inspector in user-visible strings
See merge request GNOME/gtk!598
2019-02-21 17:18:21 +00:00
Piotr Drąg
ffee2d4567
window: Rename GTK+ Inspector in user-visible strings
2019-02-21 17:49:44 +01:00
Matthias Clasen
b1fe5d8f1f
gtk-demo: Fix fallout from the notebook page merge
...
I have overlooked a few places where the child properties
were used. Sorry.
2019-02-21 11:13:53 -05:00
Matthias Clasen
e7824d8f9e
Merge branch 'piotrdrag/typo-assitant' into 'master'
...
assistant: Fix typo in a translatable string
See merge request GNOME/gtk!597
2019-02-21 12:41:50 +00:00
Piotr Drąg
8e97dc03de
assistant: Fix typo in a translatable string
2019-02-21 13:28:37 +01:00
Piotr Drąg
5d208071f5
Update POTFILES.in
2019-02-21 13:17:04 +01:00
Matthias Clasen
eea651d5f9
Add new notebook apis to the docs
2019-02-21 01:11:50 -05:00
Matthias Clasen
888b967d6b
Add more info to the migration guide
...
Mention child metas of GtkAssistant and GtkNotebook.
2019-02-21 01:09:09 -05:00