Benjamin Otte
3eb7c4719b
gsk: Remove gsk_render_node_set_bounds()
...
gsk_render_node_get_bounds() still exists and is computed via vfunc
call:
- containers dynamically compute the bounds from their children
- surface and texture nodes get bounds passed on construction
2016-12-20 18:01:09 +01:00
Benjamin Otte
a97b819b81
gsk: Add gsk_container_node_new()
...
It replaces gsk_renderer_create_render_node() which was doing the eact
same thing, only taking an unused extra argument.
2016-12-20 18:01:09 +01:00
Benjamin Otte
8830a1a1ad
gtk: Remove gtk_snapshot_append()
...
It does not make sense to append an empty container node. Those should
only be push()'d.
2016-12-20 18:01:09 +01:00
Benjamin Otte
abd184efc9
gsk: Remove gsk_render_node_is_surface/texture()
...
Use gsk_render_node_get_node_type() instead.
2016-12-20 18:01:09 +01:00
Benjamin Otte
52d2faef88
gsk: Add gsk_cairo_node_new()
...
Split off Cairo drawn content nodes and require you to allocate them
using this new function.
2016-12-20 18:01:09 +01:00
Benjamin Otte
d1b80a6baa
gtk: Don't push cairo nodes
...
We want to split nodes into containers and nodes that do actual drawing.
So pushing nodes that do drawing is exactly the wrong thing.
Also fix up GtkPopover. There's no need for it to push anything.
2016-12-20 18:01:09 +01:00
Benjamin Otte
8c8691b469
gsk: Add gsk_texture_node_new()
...
Start the transition into the different node types.
2016-12-20 18:01:09 +01:00
Benjamin Otte
ff884385c0
gsk: Remove GskRenderNode::hidden
...
If you want to hide something, don't render it.
2016-12-20 18:01:09 +01:00
Debarshi Ray
7ea199c831
flowbox: Export gtk_flow_box_get_child_at_pos as public API
...
https://bugzilla.gnome.org/show_bug.cgi?id=776187
2016-12-20 00:35:17 +01:00
Debarshi Ray
faf2295440
GtkStack: Remove redundant code
...
Commit 7ce96cb6ac
avoids notifications
during destruction by using gtk_widget_in_destruction. Therefore this
code is no longer needed.
This reverts commit 39e7afecb1
https://bugzilla.gnome.org/show_bug.cgi?id=749012
2016-12-20 00:32:15 +01:00
Philip Chimento
76e5fd4d0f
GtkApplication: Lack of optional components shouldn't warn
...
When running uninstalled tests with GtkApplication on an autobuilder with
a fake session bus, warnings will cause the tests to abort. The GNOME
session manager, the Xfce session manager, and the Inhibit portal are all
not needed for normal operation of GTK, so we should not log warnings if
they are not found.
As well as not being present on a fake session bus, it's also not
expected that they'll be present on all platforms.
https://bugzilla.gnome.org/show_bug.cgi?id=774784
2016-12-19 15:20:58 -08:00
Piotr Drąg
a2da4ddceb
Use Unicode in translatable strings
...
See https://developer.gnome.org/hig/stable/typography.html
https://bugzilla.gnome.org/show_bug.cgi?id=772371
2016-12-19 15:08:10 -05:00
Debarshi Ray
7331735499
flowbox: Don't emit selected-children-changed during destruction
...
https://bugzilla.gnome.org/show_bug.cgi?id=776012
2016-12-19 18:05:59 +01:00
Debarshi Ray
f5818c594c
listbox: Don't emit selected-rows-changed, etc. during destruction
...
https://bugzilla.gnome.org/show_bug.cgi?id=776012
2016-12-19 18:05:51 +01:00
Debarshi Ray
9791641d43
flowbox: Rename gtk_flow_box_find_child_at_pos for consistency
...
... with gtk_list_box_get_row_at_y. It would be nice to avoid the
'find' versus 'get' discrepancy since we are planning to expose it as
public API.
https://bugzilla.gnome.org/show_bug.cgi?id=776187
2016-12-19 15:07:53 +01:00
Benjamin Otte
2090219abb
scrolledwindow: Implement snapshot()
2016-12-19 05:36:06 +01:00
Benjamin Otte
e09fd1eb8a
scrolledwindow: Fix rendering
...
We used to allocate the gadget relative to the view window. We allocate
relative to widget->window now.
2016-12-19 05:36:06 +01:00
Benjamin Otte
e755d9357d
notebook: Implement snapshot
2016-12-19 05:36:06 +01:00
Benjamin Otte
3ba5c70028
iconhelper: Implement snapshot
2016-12-19 05:36:06 +01:00
Benjamin Otte
d9619abb11
progressbar: Implement snapshot()
2016-12-19 05:36:06 +01:00
Benjamin Otte
1733a3de0e
toolbar: Implement snapshot()
2016-12-19 05:36:06 +01:00
Benjamin Otte
182dad304a
eventbox: Implement snapshot()
2016-12-19 05:36:06 +01:00
Benjamin Otte
8900d6cc45
separatortoolitem: Implement snapshot()
2016-12-19 05:36:06 +01:00
Benjamin Otte
edf8ffecdf
levelbar: Implement snapshot()
2016-12-19 05:36:06 +01:00
Benjamin Otte
96a94fc21d
frame: Remove the border node
...
It does weird clipping that
(a) nobody likes
(b) is hard to support in the new rendering world.
So we take the easy way out.
The actual frame is now drawn by the frame node around the label.
2016-12-19 05:36:06 +01:00
Benjamin Otte
795f38b4cc
cellview: Remove code to modify the background
...
GtkCellView has a gadget, so peopl can do all their shenanigans with
CSS.
And the original use case (overriding the background so that the
cellview's GdkWindow shares the background color of the combobox) is
outdated since we have transparent backgrounds.
2016-12-19 05:36:06 +01:00
Benjamin Otte
0eecc6f686
grid: Implement support for CSS border-spacing
2016-12-10 04:32:55 +01:00
Benjamin Otte
404cdd5d02
boxgadget: Implement CSS border-spacing
2016-12-10 04:32:55 +01:00
Benjamin Otte
75c3d193f6
box: Implement support for border-spacing
2016-12-10 04:32:55 +01:00
Benjamin Otte
5aea108802
box: Remove unused member variable
2016-12-10 04:32:55 +01:00
Benjamin Otte
d7148a4718
css: Add "border-spacing" CSS property
...
It's using a GtkCssPositionValue, even though that name is wrong. But
the functionality of managing 2 lengths is exactly what we want.
Nobody is using this yet.
2016-12-10 04:32:55 +01:00
Benjamin Otte
cb8483b0a6
gtk: Remove unneeded gtk_snapshot_push()/pop() calls
2016-12-09 21:39:43 +01:00
Benjamin Otte
f8932d643d
snapshot: Always create an initial node
...
This way we ensure that there is only one root node and everybody can
append() with impunity.
2016-12-09 21:39:43 +01:00
Timm Bäder
489aee5d00
widget: Remove unused adjust_* vfuncs
...
Expose them privately to gtksizerequest.c using normal functions
instead.
2016-12-07 18:12:54 +01:00
Timm Bäder
1aa1676d9d
menu: Replace button-press-handler with gesture
2016-12-07 18:06:37 +01:00
Timm Bäder
be9adea58e
toolbar: Replace button-press-event handler with gesture
2016-12-07 18:06:32 +01:00
Timm Bäder
55b1f231fb
linkbutton: Replace button-press-event handler with gesture
2016-12-07 18:06:28 +01:00
Timm Bäder
c4a6c37767
separatortoolitem: Remove button-event/motion-event handlers
...
These only exist for the window dragging which does not exist anymore
currently. It will be reintroduced later in a form that does not require
these handlers.
2016-12-07 18:06:23 +01:00
Timm Bäder
4c12c4ba02
snapshot: Add annotations to parameters/return values
2016-12-07 18:06:17 +01:00
Timm Bäder
ea22bd9d40
widget: Use gtk_widget_measure to measure widget sizes
2016-12-07 08:19:22 +01:00
Timm Bäder
07a9b202ab
widget: Remove _gtk_widget_supports_clip
2016-12-07 08:19:22 +01:00
Timm Bäder
3063d4a5e3
widget: Remove gtk_widget_invalidate_style_context
2016-12-07 08:19:22 +01:00
William Hua
fdec3e8a3f
build: add gir depends for GdkX11, GdkWin32, and Gsk on Gdk
...
https://bugzilla.gnome.org/show_bug.cgi?id=775651
2016-12-05 12:56:50 -05:00
Benjamin Otte
582ea50faa
inspector: Add support for displayin the render region
...
Now I just need a UI designer that makes this look nice...
2016-12-05 15:02:47 +01:00
Benjamin Otte
60567db486
gskrenderer: Add gsk_renderer_begin_draw_frame()
...
This way, we can hijack the begin/end draw process and do out own
processing before passing it on to GDK.
2016-12-05 15:02:47 +01:00
Benjamin Otte
e950a5190d
inspector: Pass the drawing context into the recorder
...
That way we can capture both the actual changes (clip region) and the
area that was redrawn (render region), which in OpenGL might not be
identical.
Nothing shows the render region yet though...
2016-12-05 15:02:47 +01:00
Benjamin Otte
bddfd7bb41
gdk: Remove all code that only existed because of use_gl
...
Now that we don't use GL anymore, this code is unnecessary.
2016-12-05 15:02:47 +01:00
Benjamin Otte
e42e27304a
gskrenderer: Store the GL context
...
And use it to create the drawing context with it.
Note that this doesn't yet have any effect and is all infrastructure
preparation work.
2016-12-05 15:02:47 +01:00
Benjamin Otte
332ed7be5b
API: Require passing a GLContext to begin_draw_frame()
...
This is in preparation for requiring explicit passing of GL contexts
when drawing.
2016-12-05 15:02:47 +01:00
Benjamin Otte
633631a47b
cssgadget: Compute relative to own allocation, not widget allocation
...
This would lead to clipped gadgets when the gadget allocation differed
from the widget allocation, like in GtkListBox.
2016-12-05 15:02:46 +01:00