Lapo Calamandrei
5af1e87f59
HC: use radial-gradient() in place of -gtk-gradient().
2016-11-07 18:22:28 +01:00
Lapo Calamandrei
c4a4fe32ea
Adwaita: no more -gtk-gradient(), really
...
the undershoot is drawn with a radial-gradient now.
2016-11-07 18:12:42 +01:00
Benjamin Otte
3b93773add
API: gdk: Add gdk_window_new_temp()
...
Your one stop shop for all those nasty hidden input-only windows.
2016-11-07 01:03:17 +01:00
Benjamin Otte
24d0baec38
API: gdk: Add gdk_window_new_popup()
...
... and use it.
2016-11-06 23:47:56 +01:00
Benjamin Otte
13d8ac83ee
range: Use gdk_window_new_input()
2016-11-06 23:46:44 +01:00
Benjamin Otte
b30afff511
API: wayland: Add gdk_wayland_window_new_subsurface()
...
... and use it instead of gdk_window_new().
2016-11-06 21:36:43 +01:00
Benjamin Otte
87f07bac6b
API: gdk: Add gdk_window_new_toplevel()
...
... and use it in GTK.
2016-11-06 17:40:59 +01:00
Benjamin Otte
7a6cab14eb
gdkwindow: Remove GdkWindowAttr.type_hint
...
Instead, let the callers call gdk_window_set_type_hint(). Which is
surprsingly what every backend did.
2016-11-06 16:22:21 +01:00
Benjamin Otte
e0600346e2
scrolledwindow: Turn into no-window widget
2016-11-06 15:50:26 +01:00
Benjamin Otte
b7a72224e1
listbox: Turn into no-window widget
2016-11-06 14:52:56 +01:00
Benjamin Otte
2f8df5237f
flowbox: Turn into no-window widget
2016-11-06 14:41:07 +01:00
John Ralls
5416db16f3
Add some new function prototypes to gtkquartz.h.
...
Fixes compile errors (-Werror,-Wmissing-prototypes).
2016-11-05 15:08:59 -07:00
Lapo Calamandrei
f4c6994e57
Adwaita: no more -gtk-gradient()
...
the only place where it was used was the `needs attention` dot
which is now drawn using radial-gradient().
2016-11-05 16:16:37 +01:00
Timm Bäder
a5b967ed31
menu: Properly clip child menuitems
...
Now that GtkMenu isn't a windowed widget anymore, we have to
differentiate between the (0, 0) of the cairo_t and the position of
priv0->view_window.
2016-11-05 13:39:41 +01:00
Timm Bäder
fdc24c7505
entry: Fix coordinates after rendernode conversion
...
Ease the transition by removing the text_area and frame vfuncs which are
unused inside GTK+.
2016-11-05 11:56:37 +01:00
Timm Bäder
f483d931ec
spinbutton: Convert to indirect rendering
2016-11-05 11:56:36 +01:00
Timm Bäder
932b9acb39
Revert "Revert "Convert GtkEntry to indirect rendering""
...
This reverts commit f4fa111e32
.
2016-11-05 11:56:36 +01:00
Timm Bäder
3b970f4555
button: Remove _get_event_window
2016-11-05 11:56:36 +01:00
Timm Bäder
846cf681e8
Remove gtk_widget_set_mapped
...
Let all the remaining callers chain up.
2016-11-05 11:56:36 +01:00
Timm Bäder
34626eaa16
notebook: use gesture for clicks
...
Instead of GtkWidget's buton-press-event/button-release-event
2016-11-05 11:56:33 +01:00
Benjamin Otte
079f0427cb
fixed: Port to GskRenderNode
...
The fishbowl demo uses this.
2016-11-05 03:35:46 +01:00
Benjamin Otte
9707f4d3b3
API: gdk: Remove title from gdk_window_new()
...
Use gdk_window_set_title() afterwards instead.
2016-11-05 03:32:27 +01:00
Benjamin Otte
b9955cfff1
API: gdk: Remove override_redirect flag from GdkWindowAttr
...
When you want an override-redirect window, you create it that way by
creating a GDK_WINDOW_TEMP window.
2016-11-05 03:32:27 +01:00
Philip Withnall
1dbdbecd39
gtkstylecontext: Clarify memory allocation behaviour of getters
...
It wasn’t clear that gtk_style_context_get[_valist]() behave like
g_object_get() — i.e. pointer-based types are returned newly-allocated.
Clarify that.
https://bugzilla.gnome.org/show_bug.cgi?id=773954
2016-11-05 00:25:25 +00:00
Matthias Clasen
f4fa111e32
Revert "Convert GtkEntry to indirect rendering"
...
This reverts commit 3656c9f94c
.
Still causes to many unresolved drawing issues.
2016-11-04 13:22:48 -04:00
Georges Basile Stavracas Neto
8507083928
levelbar: update css nodes even when no offset value is found
...
GtkLevelBar supports adding custom offsets as style classes, and they
are applied whenever the :value property matches. The current code,
however, only updates any CSS nodes when an offset is found, causing
it to not update when a discrete value changes but no custom offset
is added.
Fix that by always updating the CSS nodes.
https://bugzilla.gnome.org/show_bug.cgi?id=773799
2016-11-04 12:38:21 -04:00
Matthias Clasen
2c26f0cae4
Complete the privatization of GtkTextAttributes
...
This was not quite complete, as gtktextattributes.h was still
being included in public headers.
https://bugzilla.gnome.org/show_bug.cgi?id=773903
2016-11-04 12:05:52 -04:00
Benjamin Otte
6c6359df4f
menubar: We don't need an input window
...
Input is handled by the menuitems completely.
2016-11-03 21:29:07 +01:00
Benjamin Otte
a178258a2a
docs: Remove vfunc that doesn't exist anymore
2016-11-03 20:33:33 +01:00
Lapo Calamandrei
993f867744
Adwaita: correctly style headerbars in a stack
...
corners are correctly rounded now. Stacked splitted headerbars are
not supported yet though.
2016-11-03 14:04:32 -04:00
Ernestas Kulik
3885e85f77
popover: pop down when pressing escape
...
Simply hiding the popover may introduce inconsistencies in application
behavior, since popping up/down is the usual use case.
https://bugzilla.gnome.org/show_bug.cgi?id=773885
2016-11-03 15:46:04 +02:00
Chun-wei Fan
53077f15d8
autotools: Update MSVC gir build script generation
...
Now that GTK+ is built as a single DLL, and the .lib that is built is
gtk-4.lib, we need to update the autotools sections in generating the
NMake Makefile snippets so that we can have the correct commands and flags
for building the .gir files, which will all now link to gtk-4-vsXX.dll (or
so).
2016-11-03 18:00:03 +08:00
Chun-wei Fan
abef8d4860
Windows: Update code for monolithic GTK DLL
...
Now that the autotools build folded the GDK/GSK bits into the main GTK+
DLL, there are some updates that need to be done for this. We need to:
-Fold the DllMain() of GDK-Win32 into the main GTK+ DllMain(), as we need
the HINSTANCE to register the window. We can't have two DllMain()'s in a
single DLL.
-Remove the GDK rc(.in) files, as that is not used anymore. Make the GTK+
.rc(.in) file load the gtk.ico GTK+ logo file instead so that we still
get the GTK+ logo for the application icon by default. Update the
autotools build files as well.
-Revert commit b9f9980
as LRN pointed out in comment 25 in bug 773299, as
GTK+ is now a monolithic DLL, and we ought not to export this private
function.
https://bugzilla.gnome.org/show_bug.cgi?id=773299
2016-11-03 16:55:35 +08:00
Benjamin Otte
c9a313a125
revealer: Port to no-window widget
2016-11-03 03:00:15 +01:00
Benjamin Otte
acd801000c
textview: Convert to no-window widget
2016-11-03 03:00:15 +01:00
Benjamin Otte
6c3d1fba78
iconview: Turn into no-window widget
2016-11-03 03:00:15 +01:00
Benjamin Otte
7e9796568d
colorplane: Port to be a no-window widget
2016-11-03 03:00:15 +01:00
Benjamin Otte
0508526658
colorswatch: Readd accidentally removed call
2016-11-03 01:15:08 +01:00
Benjamin Otte
d818f3fcd4
viewport: Turn into no-window widget
...
While doing so, get rid of the GdkWindow instead of keeping it.
2016-11-02 22:00:29 +01:00
Benjamin Otte
bb8b24da47
menu: Don't set widget->window
...
Instead, create an input window for the menubar and omit the window for
the menu itself.
2016-11-02 22:00:29 +01:00
Timm Bäder
633a93f418
widget: Remove outdated comment
...
gtk_widget_override_color is no more.
2016-11-02 18:40:00 +01:00
Timm Bäder
a7efe10ef8
widget: Remove unused visibility-notify-event
2016-11-02 18:40:00 +01:00
Timm Bäder
773c16076b
widget: Remove state-flags leftovers
2016-11-02 18:40:00 +01:00
Benjamin Otte
6dddf0447e
css: Fix radial-gradient() color stop computation
...
The copy/paste from the linear gradient code had an error.
2016-11-02 15:19:49 +01:00
Benjamin Otte
32a5729d18
gtk: Chain up in realize()
...
... instead of copy/paste from gtk_widget_real_realize.
2016-11-02 07:16:08 +01:00
Benjamin Otte
b0a5e8764c
widget: Insist on widgets calling gtk_widget_set_has_window()
...
This way, we can grep the code for the bad widgets that set this to
TRUE and fix them.
2016-11-02 06:54:57 +01:00
Benjamin Otte
5e07a31d2b
gtk: Call gtk_widget_set_has_window() on every widget
...
Even if we just set it to the value it already had.
2016-11-02 06:54:57 +01:00
Benjamin Otte
8ea1157d38
treeview: Don't use gtk_widget_get_allocaton()
...
Use gtk_widget_get_allocated_width()/height() instead.
2016-11-02 06:54:57 +01:00
Matthias Clasen
2d14217cd7
inspector: Cosmetic improvements to the recorder
2016-11-01 22:06:25 -04:00
Matthias Clasen
793f843b08
check button: Update for new box gadget functionality
...
The box gadget now does the render node conversion for
all its children, so we have less work to do.
2016-11-01 14:29:25 -04:00
Matthias Clasen
18f321df94
expander: Update for new box gadget functionality
...
The box gadget now does the render node conversion for
all its children, so we have less work to do.
2016-11-01 14:29:25 -04:00
Matthias Clasen
953c7ba6be
box gadget: Implement get_render_node vfunc
...
This implements get_render_node in the obvious way.
2016-11-01 14:29:25 -04:00
Matthias Clasen
68cc1412e5
container: Add a private api for render node propagation
...
Add a function that propagates a render node for a single
child. This will be used in the box gadget to handle widgets.
2016-11-01 14:29:25 -04:00
Matthias Clasen
30a56acc7d
gadget: Add a get_render_node vfunc
...
This will let us do box gadgets like we do containers.
2016-11-01 14:29:25 -04:00
Matthias Clasen
3656c9f94c
Convert GtkEntry to indirect rendering
...
Warning! This unveils some positioning issue with the secondary icon.
2016-11-01 14:29:25 -04:00
Matthias Clasen
35209f098b
Stop supporting GdkColor in text buffer serialization
...
GdkColor is going away soon.
2016-11-01 13:58:10 -04:00
Matthias Clasen
17a061b8da
Drop the settings color parser
...
We have no color-valued settings anymore.
2016-11-01 13:58:10 -04:00
Matthias Clasen
6e178aede2
Use GdkRGBA for text attributes
...
Now that GtkTextAttributes is private, we can clean this struct
up a bit. The first step is to switch from GdkColor to GdkRGBA,
and adapt all users.
2016-11-01 13:58:10 -04:00
Matthias Clasen
745c348ff8
Make GtkTextAttributes private
...
This is a problematic struct, and giving direct access to it
has kept us from making improvements to GtkTextView. Drop it
from the public API, together with the auxiliary APIs. If
it turns out that this functionality is needed, we should add
individual getters.
2016-11-01 13:58:10 -04:00
Benjamin Otte
72a9c53262
inspector: Add a button to clear all recordings
...
Clears the recordings list, and even better: Frees all your memory.
2016-11-01 18:34:40 +01:00
Benjamin Otte
e02ff7c064
inspector: Collect statistics for unclassable types
...
I want to know how many GskRenderNodes I have!
2016-11-01 18:34:40 +01:00
Benjamin Otte
3741e6906e
inspector: Require toggling on/off of recording
...
This way, we don't eat up all your memory every time you start the
inspector.
2016-11-01 18:34:40 +01:00
Benjamin Otte
4673318028
inspector: Add list of render nodes to recorder
...
And make it possible to view the actually selected node in the view.
2016-11-01 18:34:40 +01:00
Benjamin Otte
4265c0e5b0
inspector: Next step in the recorder view
...
We now record all render operations and display them.
Warning: This is very brute force, you can't clear the recordings or
turn recording off. And this thing easily records 25MB per recorded
frame, so be careful to not run out of memory and get your browser
killed. ;)
2016-11-01 18:34:40 +01:00
Benjamin Otte
e6f711a94a
inspector: Add more infrastructure
...
This one introduces the Recording object which is essentially a single
instance of something that happened.
The RenderRecording is an instance of an actual rendering operation.
2016-11-01 18:34:40 +01:00
Benjamin Otte
98a500a434
inspector: Add outline for a new "recorder" tab
2016-11-01 18:34:40 +01:00
Sébastien Wilmet
59a9eda5ae
docs: fix typos in GtkMenuShell
2016-11-01 18:28:09 +01:00
Benjamin Otte
a0e63b8a07
rendernode: Require passing a renderer to get_draw_context()
...
This is in preparation of making render nodes independent of the
renderer, so that they can be rendered multiple times with different
renderers.
2016-11-01 16:32:26 +01:00
Benjamin Otte
e96c485afa
widget: Create render node with correct bounds
...
We want a render node where (0,0) is the top left of the widget.
However, we need to account for the clip origin not matching the
allocation origin.
2016-11-01 03:59:37 +01:00
Benjamin Otte
8854279e2a
treeview: Clip before translating
...
We want to clip invalidations to the bin window, not the treeview
itself.
2016-11-01 03:51:48 +01:00
Benjamin Otte
b40aeb7ab4
treeview: Clip to bin window size when drawing bin window
...
This ensures that the drawing does not extend the actually drawn area.
It also ensures that our math is sane, because the math assumes the clip
area cannot extend the window. After all, before GTK4 it always was like
that.
Fixes a bunch of drawing bugs when the clip area does indeed extend too
far.
2016-11-01 03:51:48 +01:00
Timm Bäder
ee4ba18d5e
stack: Don't underallocate child in interpolate-size case
...
In that case, we can't just rely on the stack allocation being big
enough. Especially, the child can actually be bigger than the current
stack allocation, so take that into account when positioning it.
2016-10-31 19:29:36 +01:00
Timm Bäder
8dce94c47a
stack: Redraw last_visible_surface if child allocation changes
...
So the widget is properly aligned.
2016-10-31 19:29:36 +01:00
Timm Bäder
212f8a6c7b
builderparser: Order string comparisons after frequency
...
The typical UI file has a lot more <property> tags than it has
<requested> or <interface> tags, etc. so order the string comparisons
according to this expected case.
2016-10-31 19:29:36 +01:00
Timm Bäder
938598032c
builderparser: Save tag type instead of tag name
...
So we can save a few string comparisons
2016-10-31 19:29:36 +01:00
Timm Bäder
e3a3a66370
builderparser: Don't needlessly copy requested object names
2016-10-31 19:29:36 +01:00
Timm Bäder
f415a8bc84
builderparser: stack-allocate ParserData
...
No reason for it to be heap-allocated, it won't survive this function
call anyway.
2016-10-31 19:29:36 +01:00
Timm Bäder
ba9193fc81
paned: Convert to indirect rendering
2016-10-31 19:29:35 +01:00
Timm Bäder
679b515170
popover: convert to indirect rendering
2016-10-31 19:29:35 +01:00
Timm Bäder
2f2ff773ae
separator: Convert to indirect rendering
2016-10-31 19:28:28 +01:00
Timm Bäder
c261d890ad
widget: Remove damage-event
2016-10-31 19:28:28 +01:00
Timm Bäder
c25a5606d1
widget: remove show-help
2016-10-31 19:28:28 +01:00
Timm Bäder
5071206d60
widget: Remove app-paintable
2016-10-31 19:28:28 +01:00
Timm Bäder
d7df491656
button: show() the image in gtk_button_new_from_icon_name
2016-10-31 12:23:27 +01:00
Timm Bäder
6488dde4fd
box: Use measure() to measure child sizes
2016-10-31 12:20:41 +01:00
Timm Bäder
76ff53193a
box: Mark out params of _query_packing as (optional)
2016-10-31 12:20:41 +01:00
Timm Bäder
a829929a41
sidebarrow: Use GtkButton:icon-name
2016-10-31 12:20:41 +01:00
Timm Bäder
3154d3f258
box: Remove unused private API
2016-10-31 12:20:41 +01:00
Timm Bäder
86e94d0e0f
dialog: Let GtkButton manage its style classes
...
A button created using gtk_button_new_with_label will already have the
text-button style class applied.
2016-10-31 12:20:41 +01:00
Timm Bäder
01723fa02f
filechooser: Use GtkButton's icon-name property
2016-10-31 12:20:41 +01:00
Lapo Calamandrei
5bb5213486
Adwaita: add more padding to popover menus...
...
...since Timm removed that from the actual code.
2016-10-29 17:34:49 +02:00
Lapo Calamandrei
91723bfcfc
Revert "Adwaita: add more padding to popovers"
...
Padding should be added back to menu popover only...
This reverts commit 670948586a
.
2016-10-29 17:33:26 +02:00
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