Lapo Calamandrei
da1348edb4
Adwaita: no rounded corners for solid-csd.
2016-10-29 17:18:58 +02:00
Lapo Calamandrei
670948586a
Adwaita: add more padding to popovers
...
...since Timm stole some.
2016-10-29 17:14:07 +02:00
Benjamin Otte
73cd739e19
API: widget: Remove gtk_widget_is_composited()
...
We don't need to clutter our API with functions that are easily
available elsewhere and effectively unused.
2016-10-29 04:49:47 +02:00
Benjamin Otte
d249e77bcb
API: screen: Remove gdk_screen_is_composited()
...
Switch code to use gdk_display_is_composited() instead.
The new code also doesn't use a vfunc to query the property but rather
requires the backend to call set_composited()/set_rgba() to change the
value.
2016-10-29 04:49:47 +02:00
Benjamin Otte
a334316d5e
API: widget: Remove GtkWidget::composited-changed signal
...
Nobody uses it.
If you need the functionality, listen to display changes on
your widget and then connect to the display's notify::composited.
2016-10-29 04:49:47 +02:00
Benjamin Otte
b69328eb74
inspector: Use the new APIs when displaying information
2016-10-29 04:49:47 +02:00
Timm Bäder
b2a0105234
frame: Get the render node from the gadget
...
So we get a proper css background etc. applied.
2016-10-28 19:33:47 +02:00
Timm Bäder
5c99f7a670
Fix clip of more windowed widgets
2016-10-28 19:33:47 +02:00
Timm Bäder
acbdd5c8f2
Fix clip position of windowed widgets
2016-10-28 17:56:51 +02:00
Timm Bäder
90292b1aa3
modelbutton: Convert to indirect rendering
2016-10-28 16:33:03 +02:00
Timm Bäder
48602e500c
cssgadget: Move gadgets to their allocated position
2016-10-28 16:33:02 +02:00
Timm Bäder
46d80b94a8
switch: Port to indirect rendering
2016-10-28 16:33:02 +02:00
Timm Bäder
8c128f36c5
frame: Use measure() to measure label size
2016-10-28 16:33:02 +02:00
Timm Bäder
82d38e35f8
stack: Use measure() to measure child widget
...
Simpler code this way \o/
2016-10-28 16:33:02 +02:00
Timm Bäder
6eb3d98de0
csswidgetnode: Fix container condition for GtkInvisible
...
... which is a toplevel, but not a container.
2016-10-28 16:33:02 +02:00
Timm Bäder
21a43014ed
menusectionbox: Remove margins
...
So the theme can add the spacing on its own.
2016-10-28 16:33:02 +02:00
Timm Bäder
37e06f19e2
inspector: make use of GtkButton's icon-name property
2016-10-28 16:33:02 +02:00
Timm Bäder
5a64ad4479
toggletoolbutton: Remove unneeded deprecation markers
2016-10-28 16:33:02 +02:00
Matthias Clasen
775b42ef92
Revert "Convert GtkEntry to indirect rendering"
...
This reverts commit 8e29222d95
.
This needs more work - spin buttons need to be converted at
the same time, and we should make sure that text still appears.
2016-10-28 06:47:26 -04:00
Matthias Clasen
8e29222d95
Convert GtkEntry to indirect rendering
...
Warning! This unveils some positioning issue with the secondary icon.
2016-10-27 20:46:08 -04:00
Matthias Clasen
45e83f3d38
Convert GtkIcon to indirect rendering
2016-10-27 20:35:39 -04:00
Benjamin Otte
be8c0b27af
inspector: Don't connect to nonexisting signal
...
The GdkScreen::size-changed signal was removed a while ago.
And because signal changes don't trip the compiler, there are always
leftovers...
2016-10-27 06:14:01 +02:00
Benjamin Otte
48f5df5318
gtk: Add back infrastructure for GTK_DEBUG=updates
...
Includes the ability to turn on updates in the inspector. Animations are
now run via a tick function which allows us to neatly overlay a
semi-transparent red rectangle and fade it out over time.
It also probably enables way more, but somebody with more UI neatness
than me needs to figure out what it eanbles first...
2016-10-27 05:07:23 +02:00
Benjamin Otte
e1e64ac6fc
treeview: Use gtk_widget_queue_draw()
2016-10-27 05:07:23 +02:00
Benjamin Otte
a81c309c39
textview: Use gtk_widget_draw()
2016-10-27 05:07:23 +02:00
Benjamin Otte
0cf4fdcb86
widget: Use gtk_widget_queue_draw()
2016-10-27 05:07:23 +02:00
Benjamin Otte
2ca641edc9
scrolledwindow: Use gtk_widget_queue_draw()
2016-10-27 05:07:23 +02:00
Benjamin Otte
bf64b6aec4
paned: Use gtk_widget_queue_draw()
2016-10-27 05:07:23 +02:00
Benjamin Otte
8202d3fe89
menu: Remove unneeded invalidations
...
The gadgets should take care of those themselves
2016-10-27 05:07:23 +02:00
Benjamin Otte
ef1ba12037
notebook: Use gtk_widget_queue_draw()
2016-10-27 05:07:23 +02:00
Benjamin Otte
1df8b15711
gtk: Remove gdk_window_invalidate() from docs
...
And replace its mentions with gtk_widget_queue_draw().
2016-10-27 05:07:23 +02:00
Benjamin Otte
b9aef64f09
toolitemgroup: Use gtk_widget_queue_draw()
2016-10-27 05:07:23 +02:00
Benjamin Otte
4d4b355d0e
iconview: Use gtk_widget_queue_draw()
2016-10-27 05:07:23 +02:00
Benjamin Otte
ac88153f60
expander: Remove unnecessary redraws
2016-10-27 05:07:23 +02:00
Benjamin Otte
8b76d12f28
drawingarea: Clarify docs
...
Don't use gdk_window_invalidate(), use gtk_widget_queue_draw().
2016-10-27 05:07:23 +02:00
Benjamin Otte
27ab75250c
widget: Redo how gtk_widget_queue_draw() works
...
Before, we would immediately invalidate the GdkWindow of the widget, now
we call the parent's GtkWidgetClass.queue_draw_child() function.
This allows the parent to track redraw queueing of children.
By default GtkWidgetClass.queue_draw_child() will again chain up to its
parent while respecting the GdkWindow hierarchy for clipping.
GtkWindow is then the only widget actually invalidating the GdkWindow.
This essentially moves redraw queueing from GDK to GTK.
2016-10-27 05:07:23 +02:00
Benjamin Otte
77038a9b0b
widget: Inline function into only caller
...
... and remove all the checks that are not needed in this case.
2016-10-27 05:07:23 +02:00
Benjamin Otte
568f1ff301
pixelcache: Remove
...
It's now unused.
2016-10-27 05:03:06 +02:00
Benjamin Otte
a9c05448a8
textview: Get rid of the pixel cache
2016-10-27 05:03:06 +02:00
Benjamin Otte
134165e773
treeview: Remove the pixel cache usage
2016-10-27 05:03:06 +02:00
Matthias Clasen
6861a5d0a4
Spacing fixes for builtin dialogs
...
Replace border-width and padding by margins, in most places.
2016-10-26 20:58:07 -04:00
Matthias Clasen
e2e8231ca9
color chooser: Fix a problem with show-editor=TRUE
...
For some reason we end up allocating the colorplane widget
before it is realized, and then never initialize the surface.
Fix this by explicitly doing it on realize.
https://bugzilla.gnome.org/show_bug.cgi?id=773474
2016-10-26 14:33:07 -04:00
Benjamin Otte
75358e4d8d
applicationwindow: Fix issues with measure vfunc transition
2016-10-26 19:52:02 +02:00
Benjamin Otte
a750f942ac
viewport: Remove pixelcache
...
With the rework for GSK and queueing of redraws pending, the pixel cache
just gets in the way. So we remove it everywhere.
2016-10-26 19:52:02 +02:00
Emmanuele Bassi
da2d91b9b3
build: Update CLEANFILES
...
We use nodist for gir and typelib files, because we expect them to be
rebuilt.
2016-10-26 16:10:35 +01:00
Emmanuele Bassi
b6c749e61c
build: Beautify the GIR post-processing
...
Use AM_V_GEN to silence the command line output.
2016-10-26 15:58:23 +01:00
Alexander Larsson
723b588b5d
Make gdk.la and gsk.la a noninst helper library
...
This merged gtk, gdk and gsk into one library, making it possible to
have internal private APIs between gtk them, as well as producing more
efficient code.
https://bugzilla.gnome.org/show_bug.cgi?id=773100
2016-10-26 16:34:15 +02:00
Benjamin Otte
3fd63e1d67
widget: Improve early exit checks on queue_draw()
...
(1) We don't need to check for realized when we check for mapped right
below.
(2) Empty regions don't need to be drawn.
2016-10-26 16:25:49 +02:00
Jaime Velasco Juan
52c4421bd3
win32 theme: Fix tooltip borders
...
https://bugzilla.gnome.org/show_bug.cgi?id=773221
2016-10-26 16:25:49 +02:00
Jaime Velasco Juan
d1dafbeaef
win32 theme: Fix combobox
...
https://bugzilla.gnome.org/show_bug.cgi?id=773221
2016-10-26 16:25:49 +02:00
Jaime Velasco Juan
16926308a8
win32 theme: Fix column headers
...
https://bugzilla.gnome.org/show_bug.cgi?id=773221
2016-10-26 16:25:49 +02:00
Jaime Velasco Juan
1f340882e2
win32 theme: Fix popup window decorations
...
Windows such as combobox's popup were using toplevel window's borders
https://bugzilla.gnome.org/show_bug.cgi?id=773221
2016-10-26 16:25:49 +02:00
Jaime Velasco Juan
5c6dda0459
gtkwin32theme: delete #if 0 code
...
https://bugzilla.gnome.org/show_bug.cgi?id=773221
2016-10-26 16:25:49 +02:00
Jaime Velasco Juan
a877d2c163
win32 theme: Fix scale widget
...
It was invisible before.
https://bugzilla.gnome.org/show_bug.cgi?id=773221
2016-10-26 16:25:49 +02:00
Jaime Velasco Juan
7e3f9d6f71
win32 theme: No need to create a DC for GetThemePartSize
...
https://bugzilla.gnome.org/show_bug.cgi?id=773221
2016-10-26 16:25:49 +02:00
Jaime Velasco Juan
77ff3ada62
win32 theme: use TS_TRUE in GetThemePartSize
...
Several styles return a size of 0x0px when using TS_DRAW, as
we don't pass a RECT to draw into.
https://bugzilla.gnome.org/show_bug.cgi?id=773221
2016-10-26 16:25:49 +02:00
Jaime Velasco Juan
ed980824c4
win32 theme: Fix scrollbars
...
The fix is only partial, when both scrollbars are visible their ends
overlap.
https://bugzilla.gnome.org/show_bug.cgi?id=773221
2016-10-26 16:25:49 +02:00
Jaime Velasco Juan
ea9b992351
Fix CSS warnings in win32 theme
...
https://bugzilla.gnome.org/show_bug.cgi?id=773221
2016-10-26 16:25:49 +02:00
Jaime Velasco Juan
9a9969b337
Fix tiny fonts in win32 theme
...
broken since df08fc91... (css: always get default font size in pixels)
https://bugzilla.gnome.org/show_bug.cgi?id=773221
2016-10-26 16:25:49 +02:00
Sébastien Wilmet
83dc4c8b39
docs: fix copy/paste errors in the docs of GtkScrolledWindow
...
Trivial commit.
2016-10-26 15:20:25 +02:00
Matthias Clasen
c9ce0bd4ba
Drop x11-specific code from the GTK+ dnd code
...
We were using passive grabs to listen for some individual
keys. Nowadays, the managed dnd code in the x11 backend
does the same.
2016-10-26 05:13:52 -04:00
Chun-wei Fan
2ba64e0b62
MSVC builds: Support MSVC 2013 and later
...
We now need C99 features from the compiler which are only supported by
Visual Studio 2013 and later, so drop the MSVC 2008~2012 projects, and make
the baseline supported Visual Studio version be 2013. Update the build files
as a result.
2016-10-26 16:46:38 +08:00
Felix Riemann
0ca12fabf0
GtkShortcutType: Fix typos in developer documentation
...
https://bugzilla.gnome.org/show_bug.cgi?id=773479
2016-10-25 20:10:41 +02:00
Alexander Larsson
70935f0952
Drop support for offscreen GdkWindows
...
These complicate a lot of GdkWindow internals to implement features
that not a lot of apps use, and will be better achieved using gsk.
So, we just drop it all.
2016-10-25 09:54:37 +02:00
Rico Tzschichholz
16ded8d47b
gdk: Remove deprecated {keyboard,pointer}_{grab,ungrab} API
2016-10-24 10:33:11 +02:00
Rico Tzschichholz
540cfd8580
textiter: Remove deprecated gtk_text_iter_begins_tag
2016-10-24 09:07:32 +02:00
Rico Tzschichholz
8abf05e194
gtk: Update path references from gtk-3.0 to gtk-4.0
2016-10-23 20:22:38 +02:00
Rico Tzschichholz
bdaa2bf531
gtkplacessidebar: Remove deprecated "show-other-locations" signal
2016-10-23 19:13:15 +02:00
Rico Tzschichholz
c15d61df1f
cellrenderertoggle: Fix compile warnings
2016-10-23 19:10:06 +02:00
Rico Tzschichholz
614079ffb0
accessible: Fix compile warnings
2016-10-23 19:09:27 +02:00
Rico Tzschichholz
94058583dc
treeview: Remove stray property enum-entry
2016-10-23 19:08:27 +02:00
Rico Tzschichholz
b5f9343ab4
treeview: Remove deprecated API
2016-10-23 18:23:59 +02:00
Rico Tzschichholz
db8369de1f
cellrenderertoggle: Remove deprecated indicator-size property
2016-10-23 18:23:59 +02:00
Rico Tzschichholz
502e63eddc
stylecontext: Remove deprecated API
2016-10-23 18:23:59 +02:00
Rico Tzschichholz
5c526c9926
gtkplacessidebar: Remove deprecated "show-connect-to-server"
2016-10-23 18:23:59 +02:00
Rico Tzschichholz
f3bc6619eb
Remove deprecated gtk_im_multicontext_append_menuitems
2016-10-23 18:23:59 +02:00
Rico Tzschichholz
88fcbd946a
testutils: Remove deprecated API
2016-10-23 18:23:59 +02:00
Rico Tzschichholz
471d8d6184
Remove deprecated GTK_RELIEF_HALF
2016-10-23 18:23:58 +02:00
Rico Tzschichholz
3c4f6d64cd
quartz: Remove stock API usage
2016-10-23 13:12:00 +02:00
Rico Tzschichholz
24b917165b
Remove stray "stock" references
2016-10-23 13:01:52 +02:00
Rico Tzschichholz
a1b519a102
Removed deprecated GtkIM*Style enums
2016-10-23 12:52:00 +02:00
Rico Tzschichholz
64e63e7977
radiotoolbutton: Remove deprecated API
2016-10-23 12:42:52 +02:00
Rico Tzschichholz
d69f657aec
layout: Remove deprecated API
2016-10-23 12:38:31 +02:00
Rico Tzschichholz
5c5f8f4672
iconsource: Remove stray reference
2016-10-23 11:12:13 +02:00
Rico Tzschichholz
2273f5d28e
iconset: Remove stray references
2016-10-23 11:12:13 +02:00
Rico Tzschichholz
723b4af529
assistant: Remove deprecated API
2016-10-23 11:12:12 +02:00
Rico Tzschichholz
5d41103750
accessible: Drop deprecated connect_widget_destroyed
2016-10-23 11:12:08 +02:00
Timm Bäder
9f47b43f7c
colorbutton: Don't notify nonexistent properties
2016-10-22 21:51:59 +02:00
Timm Bäder
ab467317a1
widget: Add docs for ::measure
2016-10-22 21:40:04 +02:00
Timm Bäder
38f2290479
button: Add Since annotations to icon-name setter/getter
2016-10-22 21:02:34 +02:00
Timm Bäder
a50587b9ec
widget: Really remove get_preferred_xxx vfuncs
2016-10-22 19:40:57 +02:00
Timm Bäder
e2b6044c1b
expander: Remove spacing property
2016-10-22 19:36:58 +02:00
Timm Bäder
85e01b9f39
toolbar: Remove GtkToolbarSpaceStyle
2016-10-22 19:32:45 +02:00
Timm Bäder
a06d34aaff
cellrendererpixbuf: Remove :follow-state
2016-10-22 19:32:25 +02:00
Timm Bäder
6c911c8171
remove GTK_DEBUG_PLUGSOCKET
...
Both GtkPlug and GtkSocket are gone so this doesn't make a lot of sense
anymore.
2016-10-22 19:30:01 +02:00
Timm Bäder
d188912338
icontheme: Remove deprecated API
2016-10-22 19:08:29 +02:00
Timm Bäder
66430e683c
toolpalette: Remove deprecated API
2016-10-22 19:08:29 +02:00
Timm Bäder
9992a616ef
widget: Use ::measure vfunc to measure size
...
Add a new ::measure vfunc similar to GtkCssGadget's that widget
implementations have to override instead of the old get_preferred_width,
get_preferred_height, get_preferred_width_for_height,
get_preferred_height_for_width and
get_preferred_height_and_baseline_for_width.
2016-10-22 19:05:47 +02:00
Timm Bäder
6525b95e25
textview: Remove deprecated GtkScrollable API
2016-10-22 17:02:06 +02:00
Timm Bäder
145387add5
css: Stop parsing GdkColor values
2016-10-22 16:59:47 +02:00
Timm Bäder
5cadbc7084
paned: Don't check handle-size style property
2016-10-22 16:59:47 +02:00
Timm Bäder
2da886dd0e
Remove gtk_cell_view_get_size_of_row
2016-10-22 14:36:22 +02:00
Jonas Ådahl
11b5cfbc50
GtkMenu: Try using gdk_window_move_to_rect() more often
...
With best-effort, try to use gdk_window_move_to_rect() more often, when
all pieces fit together. For the non-legacy paths to be triggered for
when gtk_menu_popup_for_device() or gtk_menu_popup() were used, the
following conditions must be met:
1) There is no custom positioning function specified
2) The menu is attached to a widget (using gtk_menu_attach_to_widget())
3) There is a associated grab device
https://bugzilla.gnome.org/show_bug.cgi?id=772922
2016-10-21 11:54:54 -04:00
Pavel Grunt
5993117b84
overlay: Document availability of properties
...
Add missing "Since"
https://bugzilla.gnome.org/show_bug.cgi?id=773082
2016-10-21 11:53:01 -04:00
Timm Bäder
ca305bb596
window: Don't leak the GskRenderer
2016-10-21 14:32:31 +02:00
Timm Bäder
81c12493ae
Fix a few memory leaks
2016-10-21 06:45:22 +02:00
Timm Bäder
a5867ffe71
Remove some more GdkColor properties
2016-10-20 20:12:08 +02:00
Timm Bäder
f65af48d51
button: Fix icon-name implementation
2016-10-20 20:12:05 +02:00
Timm Bäder
f989281b38
button: Remove grab_time
...
Unused.
2016-10-20 20:12:05 +02:00
Timm Bäder
0f6235752e
container: Remove composite_name
2016-10-20 20:12:05 +02:00
Timm Bäder
00e7c69044
frame: Remove unused constants
2016-10-20 20:12:05 +02:00
Timm Bäder
de65f87816
container: Remove reallocate_redraws
2016-10-20 20:12:05 +02:00
Timm Bäder
18f0b80e2e
widget: Remove in_reparent flag
...
gtk_widget_reparent is gone so we don't need this anymore.
2016-10-20 20:12:05 +02:00
Timm Bäder
6150ce4484
menuitem: Stop looking at nonexistant child properties
2016-10-20 20:12:05 +02:00
Timm Bäder
2e32655ccd
checkbutton: Remove unused constants
2016-10-20 20:12:05 +02:00
Timm Bäder
2437e97da1
builder: Stop parsing GdkColor values
2016-10-20 20:12:04 +02:00
Timm Bäder
8dd549850c
shortcutswindow: Remove unneeded deprecation guards
...
Leftovers from when it was still using a GtkArrow
2016-10-20 17:09:47 +02:00
Timm Bäder
e772c2b622
container: Don't queue resize on non-toplevel widgets
2016-10-20 17:09:06 +02:00
Lapo Calamandrei
24cb9d4ba6
Adwaita: make circular button border looking nice
...
the darker bottom border used on buttons looks bad on circular ones
so now a gradient clipped on the border-box and a transparent
border is used in that partcular case.
See https://bugzilla.gnome.org/show_bug.cgi?id=771205 for details.
2016-10-19 16:07:52 +02:00
Lapo Calamandrei
1f8b146410
Adwaita: sass, make button mixin export a global $button_fill var
...
$button_fill contains the background-image property value of
buttons, having it readable outside the drawing mixin allows, for
example, stacking background images in an easier way.
2016-10-19 16:07:34 +02:00
Lapo Calamandrei
a1b7f36afa
Adwaita: sass cleanup
...
aggregate circular button style to the main button structure.
2016-10-19 16:07:12 +02:00
Emmanuele Bassi
a9bcd05a14
icontheme: Simplify lookup_size()
...
No need to use an internal function, and no need to store the icon size
id, since we're using the id as the offset.
2016-10-19 14:04:00 +01:00
Chun-wei Fan
8b8f378050
Visual Studio builds: Update from [gdk|gtk]-3 to [gdk|gtk]-4
...
This updates all the projects files to be be named appropriately as we move from GTK-3.x to 4.x,
and updates the autotools files so that things are distributed and generated properly.
Also remove deprecated/gtkstatusicon-quartz.c from gtk/Makefile.am, as that was causing 'make dist'
to fail as that file has been removed.
This fixes 'make dist' with the updated existing project files in proper order.
Note that this does not include the new GSK, which will be added later, so the project files do
not yet build the whole stack on Visual Studio at this point.
2016-10-19 18:39:36 +08:00
Emmanuele Bassi
976a4f6b12
build: Fix variable name for gtk4-update-icon-cache target
2016-10-18 15:51:05 +01:00
Matthias Clasen
46187f8a22
Rename all binaries to be versioned
...
This is just easier to avoid parallel installation problems.
2016-10-18 10:27:45 -04:00
Matthias Clasen
e4e6cb87b2
Rename gtk-query-immodules to follow our binary naming scheme
...
Instead of gtk-query-immodules-4.0, lets call it gtk4-query-immodules,
to use the same prefix as all the other versioned binaries.
2016-10-18 09:59:42 -04:00
Emmanuele Bassi
dace0791a9
gsk: Add the ability to create fallback renderers
...
While porting GTK to GskRenderer we noticed that the current fallback
code for widgets using Cairo to draw is not enough to cover all the
possible cases.
For instance, if a container widget still uses GtkWidget::draw to render
its children, and at least one of them has been ported to using render
nodes instead, the container won't know how to draw it.
For this reason we want to provide to layers above GSK the ability to
create a "fallback" renderer instance, created using a "parent"
GskRenderer instance, but using a Cairo context as the rendering target
instead of a GdkDrawingContext.
GTK will use this inside the gtk_widget_draw() implementation, if a
widget implements GtkWidgetClass.get_render_node().
2016-10-18 11:49:16 +01:00
Matthias Clasen
c5a2ae2f95
Convert GtkSpinner to indirect rendering
2016-10-18 11:49:15 +01:00
Matthias Clasen
8f5db4bc32
Convert GtkImage to indirect rendering
2016-10-18 11:49:15 +01:00
Matthias Clasen
bed5e6fb16
Convert GtkAccelLabel to indirect rendering
2016-10-18 11:49:15 +01:00
Matthias Clasen
be0de54237
Convert GtkLabel to indirect rendering
...
Warning! This breaks GtkAccelLabel. It will be fixed in the next
commit.
2016-10-18 11:49:15 +01:00
Matthias Clasen
f101ef7cd1
Convert GtkFlowBox to indirect rendering
2016-10-18 11:49:15 +01:00
Matthias Clasen
58b38d59c5
container: Prepare to prune render nodes
...
Add a should_propagate function for render nodes. Eventually,
this is meant to avoid creating render nodes for child widgets
that are outside the parents clip area. Since we don't have
that information available right now, just filter out nondrawable
children for now.
2016-10-18 11:49:15 +01:00
Matthias Clasen
39c1aa5e27
Split css background into individual render nodes
...
Use separate render nodes for each layer in a multi-image
background. WARNING: blend modes don't work right yet.
2016-10-18 11:49:15 +01:00
Matthias Clasen
b660361fb7
Don't create render nodes for empty backgrounds
2016-10-18 11:49:14 +01:00
Matthias Clasen
cffb8ae4b5
Break out the css background render node in a function
...
This is in preparation for creating separate render nodes
for individual backgrounds.
2016-10-18 11:49:14 +01:00
Matthias Clasen
f74dd416d6
Make outer shadows work again
...
Change get_render_node to return nodes that are sized to the clip
area and expect to be placed at the clip position; change
gtk_container_propagate_render_node to place child render nodes
accordingly, and change gtk_css_gadget_get_render_node to return
nodes that are sized accordingly as well.
2016-10-18 11:49:14 +01:00
Emmanuele Bassi
f764d03cfd
gsk: Remove :use-alpha from GskRenderer
...
It's unused, and we always assume we render with an alpha channel
enabled because it's 2016.
2016-10-18 11:49:14 +01:00
Emmanuele Bassi
ce67336577
gsk: Drop modelview/projection from GskRenderer API
...
The details of the modelview and projection matrices are only useful for
the GL renderer; there's really no point in having those details
available in the generic API — especially as the Cairo fallback renderer
cannot really set up a complex modelview or a projection matrix.
2016-10-18 11:49:14 +01:00
Emmanuele Bassi
23a009a408
gtk: Sort children by window depth when rendering
...
This makes popovers pop over instead of under.
2016-10-18 11:49:14 +01:00
Emmanuele Bassi
b2f5a69742
gtk: Add a box render node for gadgets
...
Instead of using the background as the gadget's node, we add a
non-drawing node that can be used to apply offsets; all other nodes are
children of the "box" node.
2016-10-18 11:49:13 +01:00
Matthias Clasen
fd4a1cdad6
Covert GtkOverlay to indirect rendering
...
There is no gadget, so we use the gtk_widget_create_render_node
function for the first time here.
2016-10-18 11:49:13 +01:00
Matthias Clasen
579b43b8e8
Convert GtkComboBox to indirect rendering
...
The removal of the draw method in GtkComboBox reveals another
instance of parent-child invariant violation in GtkComboBoxText.
2016-10-18 11:49:13 +01:00
Matthias Clasen
b8acd23a86
GtkButtonBox: Convert to indirect rendering
2016-10-18 11:49:13 +01:00
Matthias Clasen
ea549a3ce4
GtkListBox: Convert to indirect rendering
...
Note that there is a problem with the pixel cache that causes
listboxes to come out black when in a scrolled window.
2016-10-18 11:49:13 +01:00
Matthias Clasen
1046262048
gadget: Fix handling of custom content
...
The transformations here were wrong, causing content to go nowhere.
This patch fixes check and radio buttons to appear as expected.
2016-10-18 11:49:13 +01:00
Matthias Clasen
6a1edb0960
GtkCheckButton: Convert to indirect rendering
...
This is another example of indirect rendering with a box gadget.
There is currently still some positioning problem with the
checkmark.
2016-10-18 11:49:13 +01:00
Matthias Clasen
f68eaae581
Prevent box gadget content from being drawn twice
...
Now that we split out box gadget children into separate
render nodes, we must not draw them onto the box gadgets
node anymore.
2016-10-18 11:49:12 +01:00
Matthias Clasen
ac52abcedc
GtkExpander: Convert to indirect rendering
...
This is the first example of indirect rendering involving
a box gadget. For now, we iterate the child gadgets manually,
and rely on gtk_container_propagate_render_node for the
child widgets. Eventually, we may want a better solution
here.
2016-10-18 11:49:12 +01:00
Matthias Clasen
62eb900b83
gadget: Add a has_content vfunc
...
...and implement it for GtkCssGadget and GtkCssCustomGadget.
This allows us to decide on a per-object basis if a custom
gadget needs a render node for content or not.
2016-10-18 11:49:12 +01:00