Timm Bäder
692ed4f994
gl renderer: Refactor render op builder
2018-12-02 14:17:18 +01:00
Timm Bäder
ad759307f8
gl renderer: Add more node types to print_render_node_tree
...
debugging ++
2018-12-02 13:39:55 +01:00
Timm Bäder
fb6adaaa62
window: Don't try to size-allocate unmapped popovers
...
The gtk_widget_size_allocate call won't do anything anyway.
2018-12-02 13:25:43 +01:00
Timm Bäder
58a4ae94e9
gl renderer: Use ops_transform_bounds_modelview in more places
2018-12-02 13:25:43 +01:00
Timm Bäder
9df9087a13
gl renderer: Add NodeSample
...
As a quick way of checking what a particular sample of nodes (e.g. all
offset node children) are made up of.
2018-12-02 13:25:43 +01:00
Timm Bäder
f8df527c68
sizerequest: Directly query new request_mode
...
We are already inside the function that populates the size request
cache, so do it here instead of implicitly in get_request_mode.
2018-12-02 13:25:43 +01:00
Timm Bäder
71512cf9ad
gl renderer: Move geometry calculation further down
...
We don't need it above, so move it to where it belongs.
2018-12-02 13:25:43 +01:00
Timm Bäder
79cc8fb261
gl renderer: Apply offset with scale
2018-12-02 13:25:43 +01:00
Timm Bäder
2831dbb110
gl renderer: Refactor add_offscreen_ops
...
Use a graphene_rect_t for the node bounds instead of 4 floats.
This makes it simpler to pass the size in without the offset applied.
2018-12-02 13:25:43 +01:00
Timm Bäder
933acb3682
gl renderer: Add offscreen ops without offset applied
...
When doing color matrix nodes. This fixes color matrix node with scale =
2.
2018-12-02 13:25:43 +01:00
Timm Bäder
574ebafa46
gl renderer: Reset offset when rendering offscreen
...
We want to apply the offset to the rendered texture, not to the
offscreen-rendered content.
2018-12-02 13:25:43 +01:00
Timm Bäder
74dd05b45e
gl renderer: add render ops for dumping the framebuffer
...
So offscreen rendering can be properly debugged.
2018-12-02 13:25:43 +01:00
Timm Bäder
3eb2cef421
gl renderer: Set the render region as initial clip
...
So we avoid creating render ops for things outside of it.
2018-12-02 13:25:43 +01:00
Timm Bäder
94745241c2
GdkGLContext: Fix damage computation with buffer_age
...
As per the spec:
> The back buffer can
> either be reported as invalid (has an age of 0) or it may be
> reported to contain the contents from n frames prior to the
> current frame.
So a buffer age of 1 means that the buffer was used in the last frame.
We were handling buffer_age==1 the same as buffer_age==0, i.e. we
returned the full damage for the surface.
[1] https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_buffer_age.txt
2018-12-02 13:25:43 +01:00
Timm Bäder
538491efa1
gl renderer: Fix only_translation check
2018-12-02 13:25:43 +01:00
Matthias Clasen
6f8c4f873d
Merge branch 'force-emoji' into 'master'
...
Force emoji presentation
See merge request GNOME/gtk!431
2018-11-30 21:38:02 +00:00
Matthias Clasen
7a4e9fa4d3
Force emoji presentation
...
Append a variation selector to the Emoji sequences,
to force Emoji presentation. Without this, some
Emoji come out with text presentation by default.
Closes: Pango #334
2018-11-30 16:20:44 -05:00
Jakub Steiner
f3c704b82e
Adwaita: updated switch control
...
- might be nasty to hide labels with CSS. We can fix properly later.
- the blue border seesm aliased when :checked
2018-11-30 20:55:00 +01:00
Jakub Steiner
8921c868a5
Adwaita: shade buttons
...
- it was a bit too flat
2018-11-29 21:56:45 +01:00
Jakub Steiner
3f8598baa4
Adwaita: button tweaks
...
- step back on toning down the borders. Flatness !> legibility.
- darker active state for light
- draw gradinets from bottom up, to keep px sized shading regardless
of button size.
2018-11-29 20:19:41 +01:00
Jakub Steiner
b5fd7b3211
Adwaita: headerbar backdrop state
2018-11-29 14:34:53 +01:00
Jakub Steiner
e9fe9410e0
Adwaita: sync headerbar styling for devel mode
2018-11-29 13:12:44 +01:00
Timm Bäder
904fd5f1fc
Remove gtk_widget_intersect
...
It's been broken for quite a while now and doesn't make sense anymore
these days.
2018-11-29 11:14:26 +01:00
Timm Bäder
f598836d6c
popover: Don't recalculate position if unmapped
2018-11-29 08:50:18 +01:00
Timm Bäder
5907ff694f
gl renderer: Render non-trivial transforms to a texture
...
This way we can e.g. render rotated clips, borders, etc.
2018-11-29 08:50:18 +01:00
Timm Bäder
7c020bfaaa
inspect-button: Remove custom pick() implementation
...
This was added to work around the fact that pick() does not look at
insensitive widgets at all, but the replacement didn't properly work
either.
2018-11-29 08:50:18 +01:00
Timm Bäder
2bd02d9185
popover: Get rid of a gtk_widget_get_allocation call
...
Use _compute_bounds instead.
2018-11-29 08:50:18 +01:00
Timm Bäder
c0cf592336
gl renderer: Cache offscreen textures per node, not size
2018-11-29 08:50:16 +01:00
Timm Bäder
12378f0afa
gl renderer: Expand matrix metadata extraction
...
Instead of getting the translation x/y everytime we use the modelview,
get it once, when extracting the metadata. Do the same with the scale.
And save if the matrix is "simple" at all, i.e. if it only consists of a
translation and/or scale. This will be helpful later when we start
drawing transformed nodes on textures.
2018-11-29 08:23:42 +01:00
Timm Bäder
5ea211bbb1
Revert "gldriver: Don't create surfaces to upload textures"
...
This reverts commit 6466e53bfc
.
This breaks GtkGLArea.
2018-11-29 07:39:11 +01:00
Timm Bäder
c17c18f1ae
widget: Remove one translate_coordinates copy
...
Just use the double version in the integer version.
2018-11-29 07:39:11 +01:00
Jakub Steiner
dbde7b68c0
Adwaita: flatten the headerbar again
2018-11-28 20:28:56 +01:00
Jakub Steiner
a26edd59d1
Adwaita: tune button & hederbar colors
2018-11-28 14:22:21 +01:00
Mohammed Sadiq
dcd21e12cd
texttag: Replace gtk3-demo reference with gtk4-demo
2018-11-28 16:51:45 +05:30
Jakub Steiner
e5efc84eda
Adwaita: buttons & headerbars
...
- tone down the bottom border contrast (increase bottom lightness,
decrease overall lightness)
- darken headerbars slightly (might require darkening wm colors when
dust settles)
2018-11-28 00:16:20 +01:00
Matthias Clasen
8035969860
Merge branch 'master-escape-included-svg' into 'master'
...
(#1471 ): base64-encode included SVGs to avoid mis-escaped characters
Closes #1471
See merge request GNOME/gtk!430
2018-11-27 20:25:28 +00:00
Federico Mena Quintero
e5f9bf2e9b
( #1471 ): base64-encode included SVGs to avoid mis-escaped characters
...
We wrap SVG data from icons within another SVG with extra styling
information. The wrapped SVG may contain characters that cannot be
part of a data: URL (https://fetch.spec.whatwg.org/#data-urls ).
Librsvg 2.45 got more strict in its parsing of data: URLs; whereas
previously it ignored '#' characters in them, now it considers them to
be the start of a fragment identifier, which is not allowed in data:
URLs anyway.
To avoid unallowed characters, we now create a data: URL with a
base-64 encoded SVG.
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1471
2018-11-27 13:57:21 -06:00
Timm Bäder
0be4d31217
headerbar: Remove superfluous parentheses
2018-11-27 06:06:28 +01:00
Timm Bäder
eebb849760
widget: Query CSS values later in size_allocate
...
Move it below the "this widget only changed its position" check.
2018-11-27 06:00:30 +01:00
Timm Bäder
f92745aacf
widget: Save baseline without CSS values applied
...
Similar to what we do with width/height.
2018-11-27 05:59:47 +01:00
Timm Bäder
7aee30bfc2
adwaita: icon-shadow -> -gtk-icon-shadow
2018-11-27 05:41:53 +01:00
Timm Bäder
ef751bc809
gl renderer: Use stack to keep track of modelview matrix
...
So we can avoid calculating metadata for matrices all the time.
2018-11-27 05:39:27 +01:00
Timm Bäder
fe49f83982
colorplane: Convert crosshair rendering to snapshot
...
This is slightly different than the cairo version since the
half-transparent lines now overlap but nobody can see that anyway.
2018-11-27 05:37:38 +01:00
Timm Bäder
059d9376da
colorscale: Cache hue texture
...
Otherwise we regenerate a new one on every snapshot() call.
2018-11-27 05:37:38 +01:00
Timm Bäder
6466e53bfc
gldriver: Don't create surfaces to upload textures
2018-11-27 05:37:38 +01:00
Timm Bäder
b7963a06ab
widget: Parent widgets may also consume motions
...
This is important when the target widget of an event is not the one that
would otherwise receive the gesture. For example, the GtkSwitch
implementation currently attaches a pan gesture to the switch itself,
but the target widget below the pointer might be the switch slider or
label.
See #1465
2018-11-27 05:37:38 +01:00
Timm Bäder
eeeefb40c7
switch: Shorten size_allocate impl a bit
2018-11-27 05:37:38 +01:00
Jakub Steiner
97d8676b40
Adwaita: help fullcolor app icons
...
- draw a large dropshadow for aboutboxes
- draw an outline for low res
See issues #1434 and #1445 .
2018-11-26 17:33:28 +01:00
Jakub Steiner
6e28d004ae
Adwaita: tone down broders, buttons
...
- very contrasty lines feel dated in today's flat world
- tone down the contrast a little
2018-11-23 17:32:46 +01:00
Jakub Steiner
8d7bf3ad0c
Adwaita: list buttons
...
- tone down buttons when inside lists
Fixes issue #1473
2018-11-22 13:24:49 +01:00