Benjamin Otte
d7876bde74
inspector: Remove leftover GDK_PRIVATE_CALL()s
2016-11-24 15:41:19 +01:00
Matthias Clasen
3414f10bad
Drop the GDK_PRIVATE_CALL mechanism
...
We don't need to do this extra complication anymore, since
we're now living inside a single shared library.
2016-11-23 19:31:16 -05:00
Matthias Clasen
1af817e254
inspector: Respect text-scaling-factor value initially
...
This was pointed out in
https://bugzilla.gnome.org/show_bug.cgi?id=774893
2016-11-23 19:16:16 -05:00
Florian Müllner
593b75fb69
GtkLabelAccessible: Initialize link before setting parent
...
Since at-spi-atk commit 96621a5e95 fixed PropertyChange notifications
for AccessibleParent, setting the parent will result in a call to
ref_state_set() which assumes that the object is fully initialized.
https://bugzilla.gnome.org/show_bug.cgi?id=774939
2016-11-23 18:55:42 -05:00
Christian Hergert
c14c9aca34
inspector: ensure controller is a GtkGesture
...
While GtkEventController implementations today are all GtkGesture, it is
possible to create a GtkEventController manually. This is an extrac check
to ensure we only add gestures to the list.
https://bugzilla.gnome.org/show_bug.cgi?id=774760
2016-11-23 14:03:13 -08:00
Matthias Clasen
3a947fa318
menu: Don't leak check menu items
...
Pointed out in
https://bugzilla.gnome.org/show_bug.cgi?id=774686
2016-11-23 14:48:17 -05:00
Matthias Clasen
1dded6d633
notebook: Don't leak arrow gadgets
...
This was pointed out in
https://bugzilla.gnome.org/show_bug.cgi?id=774743
2016-11-23 14:44:37 -05:00
Matthias Clasen
0e37d67393
text handle: Don't leak adjustments
...
This can happen if the weak pointer is triggered before the
adjustments are unset. Pointed out in
https://bugzilla.gnome.org/show_bug.cgi?id=774790
2016-11-23 13:57:03 -05:00
Benjamin Otte
4850271ae8
API: Remove gtk_cairo_should_draw_window()
...
The answer is: Yes.
2016-11-23 18:48:38 +01:00
Benjamin Otte
8cb96dec7e
window: unrealize renderer before destroying GDK window
...
We need to unrealize the children manually for that to happen, but so it
goes.
The order is necessary because we want the renderer to still be alive
while children are unrealizing.
2016-11-23 18:47:58 +01:00
Lapo Calamandrei
cb1a349d17
HC: progressbar style fix
...
Reset styling on the progress node when trough node has the `empty'
styleclass.
See https://bugzilla.gnome.org/show_bug.cgi?id=774695
2016-11-23 17:25:18 +01:00
Lapo Calamandrei
5ab18062a3
HC: really use radial-gradient() in place of -gtk-gradient()
...
Regenerate the css from sass..
2016-11-23 16:39:14 +01:00
Lapo Calamandrei
eb5b8b22e2
Adwaita: progressbar style fix
...
Reset styling on the progress node when trough node has the `empty'
styleclass.
See https://bugzilla.gnome.org/show_bug.cgi?id=774695
2016-11-23 16:14:58 +01:00
Chun-wei Fan
17fe2288e8
gtk/gtkprintoperation-win32.c: Fix for GTK+-4.0 API
...
We no longer have GtkPlug nor GtkWin32EmbedManifest for GTK+-4.x, and it
is not entirely clear at this point what would be the "best" replacement
for them, but this issue here prevents GTK+-3.89.x building on Windows.
As a result, this is a fast port to avoid using APIs that have been
removed for 4.x, and things seem to work properly (the print.c page
printed).
https://bugzilla.gnome.org/show_bug.cgi?id=773299
2016-11-22 11:40:57 +08:00
Emmanuele Bassi
4cbe079767
Use Graphene init macros for compound literals
...
The Graphene init macros can now be used for compound literals, which
means we need to update our mixed uses.
2016-11-21 16:21:38 +00:00
Gustavo Noronha Silva
8e5e165f79
Fix off by one in check for GtkRoundedBox containing a rectangle
...
When checking if a rectangle is contained by the rounded box, the code
will refuse a rectangle which is the exact size as the one backing the
rounded box, since it checks for greater or equal width and height.
Check for greater only instead.
https://bugzilla.gnome.org/show_bug.cgi?id=774114
2016-11-21 10:53:11 -02:00
Benjamin Otte
84918c7e6f
modules: Add a check for GTK3 symbols
...
This way, we can warn if GTK2 or GTK3 are linked into libgtk4.
2016-11-20 11:44:19 +01:00
Benjamin Otte
dfd9150a82
build: Don't link against libgtk and libgdk
...
libgdk is statically linked these days, so if you link against it, all
of its symbols will exist twice: Once in libgtk.so and once in your
binary.
2016-11-20 11:19:32 +01:00
Benjamin Otte
aa084333c8
inspector: Redo recording list
...
- Make the rows larger
- Display the elapsed time between renderings
- Display if it was a full or a partial redraw
- Add a toggle button to display profiler info
2016-11-20 05:03:18 +01:00
Benjamin Otte
be237dbb5a
inspector: Pass the renderer when recording
...
... and collect the profiler information from the renderer.
2016-11-20 03:54:43 +01:00
Benjamin Otte
32adb31428
inspector: Record a "start" event whenever we start recording
2016-11-20 03:54:43 +01:00
Matthias Clasen
b404ecf294
Drop deprecated gtk_dialog_get_action_area
...
Add an internal version for the few places where we still need it,
and drop it from everywhere else.
2016-11-19 21:23:17 -05:00
Matthias Clasen
b0303c539c
Make unknown window types fatal
...
This helps gcc to see that there's no point in warning about
gdk_window being used uninitialized.
2016-11-19 21:23:17 -05:00
Benjamin Otte
b93c26f559
render: Refactor background drawing code
...
We can query the blend mode inside the paint function.
2016-11-19 21:28:18 +01:00
Benjamin Otte
305ea71b97
inspector Reselect bottom row in recorder
...
When inserting a new recording and the bottommost row was selected,
select the newly added row. This way, you can observe the ongoing
recording.
2016-11-19 20:58:36 +01:00
Benjamin Otte
38f226b5ce
render: Propagate snapshot drawing to box shadows
...
This decouples actual background drawing from shadow drawing in the
snapshot case.
We also now create seperate nodes for shadows vs for backgrounds.
2016-11-19 20:58:36 +01:00
Benjamin Otte
c45f8b1a25
cssshadows: Reengineer API
...
This way we have an API to query extents per shadow and I want that in
the next patch.
2016-11-19 20:58:36 +01:00
Benjamin Otte
2745c2502f
snapshot: Move GtkSnapshot declaration to gtypes.h
2016-11-19 20:58:36 +01:00
Matthias Clasen
8afb655347
Document gtk_menu_place_on_monitor
2016-11-19 13:51:50 -05:00
Matthias Clasen
1bffefce7d
Small documentation additions
2016-11-19 13:45:58 -05:00
Matthias Clasen
9bacbb489b
Don't confuse gtk-doc
...
It doesn't like doc comments for non-api.
2016-11-19 13:44:36 -05:00
Matthias Clasen
64a75ec87d
Drop docs for no-longer-existing API
...
Poor gtk-doc gets confused so easily...
2016-11-19 13:36:58 -05:00
Matthias Clasen
b0feee803f
Add a since tag
2016-11-19 13:30:02 -05:00
Matthias Clasen
712196c416
Don't confuse gtk-doc
...
Empty doc comments make gtk-doc complain about undocumented
functions, even though these functions are not supposed to
be documented in the first place.
2016-11-19 12:39:09 -05:00
Matthias Clasen
3dc53dab69
Document ::snapshot vfunc
2016-11-19 12:37:19 -05:00
Matthias Clasen
c9c391bd55
Drop macro wrappers for get_version functions
...
These are not really useful, and were added long ago
as a clutch for transitioning to the new names.
2016-11-19 12:28:52 -05:00
Benjamin Otte
9dae0a9b00
widgetnode: We never need widget paths anymore
...
Backwards compat is not necessary in GTK4.
2016-11-19 18:08:35 +01:00
Matthias Clasen
0d1c54b6cc
Remove once again, empty doc comments that break the docs
...
This is just more breakage from introspection ursurping doc
comments. Somebody needs to find a proper solution before this
is brought back.
2016-11-19 12:02:07 -05:00
Matthias Clasen
0392acd875
Reduce the text shadow warnings
...
They make it hard to see other useful information.
2016-11-19 08:05:42 -05:00
Benjamin Otte
dc634fe6db
render: Compute extents correctly
...
I multiplied matrices the wrong way. Again.
2016-11-19 03:15:51 +01:00
Simon Steinbeiss
a1deb8e459
progressbar: add empty and full classes on trough based on fill-level
...
Pointed out in https://bugzilla.gnome.org/show_bug.cgi?id=774695
2016-11-19 03:02:46 +01:00
Matthias Clasen
295066dad8
inspector: Show render node properties
2016-11-18 20:59:10 -05:00
Benjamin Otte
dbfc1d72fc
csstransform: Handle matrix3d()
2016-11-18 21:44:25 +01:00
Benjamin Otte
ff4b8512be
csstransform: Implement 3D scale and transform matrices
2016-11-18 21:44:25 +01:00
Benjamin Otte
ef6d95879f
csstransforms: Parse 3D rotations
2016-11-18 21:44:25 +01:00
Benjamin Otte
d52fcd914c
csstransform: Convert to use graphene_matrix_t
...
Pre-work to use 3D-transforms.
2016-11-18 21:44:25 +01:00
Matthias Clasen
0a75bb4353
Work towards a clean docs build
...
Remove various no-longer-existing functions from the sections
file, and exclude more private headers, etc.
2016-11-18 14:43:34 -05:00
Matthias Clasen
0311a1883c
snapshot: Name api parameters consistently
...
gtk-doc gets upset otherwise.
2016-11-18 07:57:10 -05:00
Matthias Clasen
95c13ee471
Document GtkSnapshot
...
This is just some initial documentation, more detail needed.
2016-11-18 07:43:39 -05:00
Benjamin Otte
dd6fb87443
printunixdialog: Use new drawing area API
2016-11-18 06:40:53 +01:00
Benjamin Otte
b0f392534f
coloreditor: Don't draw a background on boxes
...
Boxes know how to draw backgrounds these days.
2016-11-18 06:40:53 +01:00
Benjamin Otte
5940625e9e
drawingarea: Add gtk_drawing_area_set_draw_func()
2016-11-18 06:40:53 +01:00
Benjamin Otte
41d1e1fea8
drawingarea: Add content-width and content-height properties
...
People should use these instead of gtk_widget_set_size_request().
2016-11-18 06:40:53 +01:00
Benjamin Otte
100ac17505
drawingarea: Clean up
...
No need to send configure events anymore and this should be a no-window
widget.
2016-11-18 06:40:53 +01:00
Matthias Clasen
39e3b3a483
style context: Don't leak a widget path
...
Found by valgrind.
2016-11-17 20:22:42 -05:00
Benjamin Otte
efa1c6cbd5
widget: Add a defualt snapshot vfunc
...
Just to avoid having to do NULL checks when calling
widget_class->snapshot. We were crashing with drawing areas who don't
have a draw or a snapshot vfunc (woot!).
2016-11-18 00:47:56 +01:00
Benjamin Otte
9a06b0fd5f
widget: Fix math screwups in clip calculation
...
We need so subtract the allocation from the clip to get the clip offset,
not the other way around.
This was screwing in particular with marks on GtkScale, because GtkScale
mark clip computation is broken and always returns (0,0) which makes
scales have a waaaaay too large clip.
But that's another bug.
2016-11-17 23:16:14 +01:00
Matthias Clasen
214eb5860d
placeview: Don't leak the file enumerator
...
Pointed out in https://bugzilla.gnome.org/show_bug.cgi?id=774634
2016-11-17 13:50:25 -05:00
Matthias Clasen
0cec768b54
entry: Fix input window position for icons
...
This makes the icon in the placesview address entry and
in widget-factory's progress entry work again.
2016-11-17 12:04:35 -05:00
Timm Bäder
55fda57c44
filechooserwidget: Forward file filter to entry
...
And in the entry, apply the currently used filter as a second step to
the completion items.
https://bugzilla.gnome.org/show_bug.cgi?id=773007
2016-11-17 15:42:25 +01:00
Timm Bäder
f4929360aa
sizerequest: rename _compute_size_for_orientation to _measure
...
They have the exact same parameters and gtk_widget_measure did
unnecessary work before. Also better stack traces!
2016-11-17 15:42:25 +01:00
Matthias Clasen
5b3b111260
GtkFileChooser: Make local-only default to FALSE
...
There is no good reason anymore to default to TRUE, and this
default only makes applications miss out on useful functionality.
2016-11-17 09:06:57 -05:00
Matthias Clasen
2f197ac0c2
Revert "GtkFileChooser: Make local-only default to FALSE"
...
This reverts commit 0bc79910e0
.
2016-11-17 09:05:47 -05:00
Matthias Clasen
0bc79910e0
GtkFileChooser: Make local-only default to FALSE
...
There is no good reason anymore to default to TRUE, and this
default only makes applications miss out on useful functionality.
2016-11-17 09:02:29 -05:00
Ondrej Holy
16bce17168
gtkplacesview: Add example of IPv6 address in guidance
...
Square brackets are mandatory for IPv6 addresses. Add example of IPv6
address in the guidance to make it obvious.
https://bugzilla.gnome.org/show_bug.cgi?id=756570
2016-11-17 08:15:40 -05:00
Benjamin Otte
ab60cbd86a
snapshot: Implement gtk_snapshot_clips_rect()
...
And use this to cull widgets and gadgets that are completely outside the
clip region.
A potential optimization is to apply this clip region to cairo contexts
created with gtk_snapshot_append_cairo_node(), but for that we'd need to
apply the inverse matrix to the clip region, and that causes rounding
errors.
Plus, I hope that cairo drawing becomes exceedingly rare so it won't be
used for the whole widget factory like today (which might also explain
why no culling happens in the widget factory outside the header bar.
2016-11-17 03:33:50 +01:00
Benjamin Otte
28b32d336f
snapshot: Pass the clip region to the snapshot
2016-11-17 02:14:10 +01:00
Benjamin Otte
7493f90662
snapshot: Add GtkSnapshotState
...
Essentially copies cairo_gstate_t.
This is in preparation for attaching more information to the snapshot.
2016-11-17 01:55:26 +01:00
Benjamin Otte
5dfe788e9e
snapshot: Fix graphene misunderstandings
...
The equivalent to cairo_matrix_multiply (a, b, c) is
graphene_matrix_multiply (c, b, a).
graphene_matrix_multiply (a, b, c) may not be called with b and c being
the same matrix.
2016-11-17 01:05:15 +01:00
Benjamin Otte
6d9725f7fd
snapshot: Add infrastructure to snapshot CSS images
...
Use this infrastructure to render builtin images. Which means from now
on, GtkCheckbutton, GtkSpinner and a few others use snapshots.
2016-11-16 20:51:53 +01:00
Benjamin Otte
c22a9a03f9
renderbackground: Remove unused functions
2016-11-16 19:31:47 +01:00
Benjamin Otte
bcf70e3a03
API: Remove everything relating to "grip"
...
Grips have long been unused in GTK, so remove all support for them.
This removes the GTK_STYLE_CLASS_GRIP and the special
gtk_render_handle() code for drawing those grips.
2016-11-16 19:27:43 +01:00
Benjamin Otte
56e11f057c
API: Remove gtk_render_extension()
...
This is long-gone drawing API.
2016-11-16 18:36:10 +01:00
Benjamin Otte
40565fb030
gsk: Rework GskTexture
...
We do no longer bind textures to a renderer, instead they are a way for
applications to provide texture data.
For now, that's it. We've reverted to uploading it from scratch every
frame.
2016-11-16 17:36:33 +01:00
Benjamin Otte
f728f33382
container: ensure we only append a single node
...
The snapshot vfuncs must only append at most a single node,
otherwise things are going to break if the widget is the root node.
Unfortunately there is no code that can check this in a generic fashion,
so we'll have to debug this on a case-by-case basis.
2016-11-15 22:39:26 +01:00
Benjamin Otte
2e9ff11c85
snapshot: push/pop mismatch is critical
...
This is broken code that needs to be fixed right now.
2016-11-15 22:39:05 +01:00
Benjamin Otte
b8710d8962
widget: Remove get_render_node() vfunc
2016-11-15 17:49:19 +01:00
Benjamin Otte
313a708006
snapshot: Convert inspector's RenderNodeView
2016-11-15 17:49:19 +01:00
Benjamin Otte
e2fb970889
container: Remove get_render_node() support API
...
It's unused now.
2016-11-15 17:49:19 +01:00
Benjamin Otte
e8381f84d6
snapshot: Convert GtkPopover
2016-11-15 17:49:19 +01:00
Benjamin Otte
475cffd7f8
gadget: Remove gtk_css_gadget_get_render_node()
...
It's unused now that we can snapshot.
2016-11-15 17:49:19 +01:00
Benjamin Otte
ada70f4872
snapshot: Convert GtkIcon
2016-11-15 17:49:19 +01:00
Benjamin Otte
d38cf9fee2
snapshot: Convert GtkExpander
2016-11-15 17:49:19 +01:00
Benjamin Otte
82eb223c58
Revert "GtkFrame: Convert to indirect rendering"
...
This reverts commit a0b2b3745f
.
Frames cannot be rendered by GSK yet, because they do clipping.
2016-11-15 17:49:19 +01:00
Benjamin Otte
9c1da58ad1
snapshot: Convert GtkSeparator
2016-11-15 17:49:19 +01:00
Benjamin Otte
47a82640a8
Revert "Covert GtkOverlay to indirect rendering"
...
This reverts commit fd4a1cdad6
.
GtkOverlay uses clipping and render nodes can't clip yet.
2016-11-15 17:49:19 +01:00
Benjamin Otte
30e0bbeaaa
snapshot: convert GtkListBox
2016-11-15 17:49:19 +01:00
Benjamin Otte
150f75af66
snapshot: Convert GtkFlowBox
2016-11-15 17:49:19 +01:00
Benjamin Otte
a2b1aef6bd
Revert "paned: Convert to indirect rendering"
...
This reverts commit ba9193fc81
.
Paneds can do indirect rendering yet as we need clipping support first.
2016-11-15 17:49:19 +01:00
Benjamin Otte
dad8703e03
snapshot: Convert GtkSpinner
2016-11-15 17:49:19 +01:00
Benjamin Otte
0cf9f70ccd
snapshot: Convert box gadget
...
Makes spinbuttons have text again!
2016-11-15 17:49:19 +01:00
Benjamin Otte
703d80eac0
window: Unrealize renderer last
...
We want to unrealize the renderer only after all widgets have been
unrealized. Otherwise, the widgets cannot release rendering resources
like textures.
2016-11-15 17:49:19 +01:00
Benjamin Otte
4b8b06bb08
image: Invalidate icon helper when unrealizing
...
This frees up any cached surfaces and textures in the iconhelper,
ensuring that the renderer can release its texture data.
2016-11-15 17:49:19 +01:00
Benjamin Otte
c0aa065ac1
snapshot: Convert GtkImage and GtkIconHelper
...
Adds a bunch of new APIs to render textures with theming.
FIXME: Cannot draw shadows for textures.
2016-11-15 17:49:19 +01:00
Benjamin Otte
92e6b3a000
snapshot: Port GtkHeaderBar
2016-11-15 17:48:45 +01:00
Benjamin Otte
55de4e7140
snapshot: Convert GtkFixed
2016-11-15 17:48:45 +01:00
Benjamin Otte
9b6dfa83e2
snapshot: Convert GtkComboBox
2016-11-15 17:48:45 +01:00
Benjamin Otte
349f55f2fe
snapshot: Convert GtkLabel and GtkAccelLabel
...
Also adds gtk_snapshot_render_insertion_cursor().
2016-11-15 17:48:45 +01:00
Benjamin Otte
ab47479045
snapshot: Convert GtkButton and subclasses
2016-11-15 17:48:45 +01:00
Benjamin Otte
4c9033b62d
snapshot: Port GtkActionBar
2016-11-15 17:48:45 +01:00