Matthias Clasen
3059d76b4c
Add code to dump out the glyph caches
2019-06-03 02:09:04 +00:00
Matthias Clasen
0a09b8dca7
gl: Improve cache dropping code
...
There was a TODO here to avoid iterating the
glyphs multiple times, so avoid that. And
actually log the number of glyphs that was dropped.
2019-06-03 02:09:04 +00:00
Matthias Clasen
ad2a1c92ce
gl: Improve glyph cache logging
...
Use g_message to be consistent, and make the
message fit a line.
2019-06-03 02:09:04 +00:00
Matthias Clasen
fd4182f5c5
gl: Log creation of glyph caches
...
Now that they can be of different sizes, this
is somewhat interesting.
2019-06-03 02:09:04 +00:00
Matthias Clasen
c7387a8e7f
gsk: Test huge glyphs
...
These don't fit in the glyph cache.
2019-06-03 02:08:36 +00:00
Matthias Clasen
a64dfb1dfc
gl: Make the glyph cache survive big glyphs
...
Create an extra atlas of just the right size for
each huge glyph. Not pretty, but works.
2019-06-03 02:08:36 +00:00
Matthias Clasen
1c1d4f32c8
gsk: Test big glyphs
...
These are big, but still fit in the glyph cache.
Therefore, the test succeeds.
2019-06-03 02:08:36 +00:00
Benjamin Otte
7e9cb07a92
Merge branch 'for-master' into 'master'
...
For master
See merge request GNOME/gtk!903
2019-06-03 00:22:40 +00:00
Matthias Clasen
3a42aab680
Merge branch 'wip/chergert/marshalling-gtk4' into 'master'
...
gtk: fix all uses of g_cclosure_marshal_generic
See merge request GNOME/gtk!905
2019-06-02 23:34:02 +00:00
Christian Hergert
41e373f10c
gtk: fix all uses of g_cclosure_marshal_generic
...
This adds specific marshallers for all of the locations where a generic
marshaller is being used. It also provides va_marshallers to reduce the
chances that we get stack traces from perf going through ffi_call_unix64.
This is forward ported from gtk-3-24.
# Conflicts:
# gtk/gtkeventcontrollerkey.c
# gtk/gtkeventcontrollermotion.c
# gtk/gtkgesture.c
# gtk/gtkgesturemultipress.c
2019-06-02 14:24:51 -07:00
Benjamin Otte
f9562757ff
gtk-demo: Fix sliding puzzle demo
...
1. Menubuttons aren't buttons
2. For paintables without aspect ratios, use 1.0
2019-06-02 21:18:56 +02:00
Benjamin Otte
5a0c8805fc
transform: Coalesce similar transforms
...
If somebody does a transform like
scale(5) scale(10) translate(1,1) translate(5,0)
store it instead as
scale(50) translate(6,1)
This way, less memory is consumed and transforms are easier to read.
In particular, this simplifies the typical transforms we do in GTK,
which are just one translation after another.
2019-06-02 21:18:56 +02:00
Matthias Clasen
1a4e360c2c
Don't generate mipmaps needlessly
...
GL_LINEAR doesn't use mipmaps, so don't generate them.
2019-06-02 18:29:11 +00:00
Benjamin Otte
69629ebb1a
transform: Treat 0 perspective transforms as identity
...
This happens if you apply a perspective transform and its inverse, which
is the negative version of the perspective.
2019-06-02 15:12:37 +02:00
Piotr Drąg
68a987922a
Update Polish translation
2019-06-02 14:47:42 +02:00
Timm Bäder
a51b694314
gl renderer: Remove homegrown transform_bounds code
...
GskTransform can do this for us now.
2019-06-02 11:43:06 +02:00
Timm Bäder
b6cc774312
transform: Add G_GNUC_WARN_UNUSED_RESULT annotations
...
These functions return the new transform so their return value should
really never be ignored.
2019-06-02 10:33:30 +02:00
Timm Bäder
db548ee2a0
gl renderer: Fix scale computation
...
We don't need to just look at the scale of the new modelview matrix, but
at the one we get when multiplying the new one with the current one.
Test case attached.
2019-06-02 10:25:39 +02:00
Timm Bäder
f999572e8f
gl renderer: Use GskTransform in render ops builder
...
for the modelview matrix. We need this later.
2019-06-02 10:12:09 +02:00
Timm Bäder
f1996783ec
gl renderer: Fix rounded rect intersection code
...
Test case attached.
Fixes #1920
2019-06-02 08:31:44 +02:00
Matthias Clasen
aa267c1c84
Add gtkmenubarprivate.h
...
Move private api into a private header.
2019-06-01 21:56:49 +00:00
Matthias Clasen
3dea73bd4a
Cosmetics
...
Remove comments that are old enough to still
talk about option menus and item factories.
2019-06-01 21:56:49 +00:00
Matthias Clasen
29252eac6a
Merge branch 'restack-gtk4' into 'master'
...
GDK W32: Ensure correct stacking of popup windows (GTK4)
See merge request GNOME/gtk!902
2019-06-01 19:47:32 +00:00
Руслан Ижбулатов
2ace3113d6
GDK W32: Ensure correct stacking of popup windows
...
1) In the SetWindowPos() function (and the WINDOWPOS struct) the
"hWndInsertAfter" argument/field means the window that will be
directly above after the change, not the window that will be
directly below. MSDN says "precedes" for SetWindowPos(), but
WINDOWPOS documentation is more precise: this is the window
behind which the affected window will be placed. Apparently,
Z-axis goes back-to-front.
Therefore, logging should be reworded correctly.
2) When we switch away from the application and then switch back
to a transient window, we need to bring up its transient-owner
(and its transient-owner's owner and so forth) as well,
otherwise our transient (modal) window might be transient for
something that might not be visible.
3) When we bring up a window, we should bring all of its children
(popup windows) on top of it.
Because Windows doesn't provide a function to bring one window
on top of the other, we have to work around this by calling
SetWindowPos() twice, swapping the windows between the calls.
2019-06-01 19:23:30 +00:00
Balázs Úr
0ee9a4ff90
Update Hungarian translation
2019-06-01 11:26:53 +00:00
Matthias Clasen
03964b5edb
Remove an unused enum
...
No use of GtkArrowPlacement anywhere.
2019-06-01 04:11:22 +00:00
Matthias Clasen
0c7e567c32
Merge branch 'global-coords' into 'master'
...
Drop global coordinates
See merge request GNOME/gtk!899
2019-06-01 03:53:13 +00:00
Matthias Clasen
e31190cf7c
Update css node results
2019-06-01 03:47:19 +00:00
Matthias Clasen
fcdea03796
Fix menu item accessible
...
The menu shell is not a direct parent anymore.
2019-06-01 03:39:12 +00:00
Matthias Clasen
0a33d74c1b
tests: Fix issues with menu shells
...
The menu shell is no longer the direct
parent of menu items.
2019-06-01 03:32:10 +00:00
Matthias Clasen
feef0ef93a
menu: Fix destruction
...
Now that menubar and menu are containers
with internal structure, we need to be
careful about doing the right thing in
forall and dispose.
2019-06-01 03:32:10 +00:00
Matthias Clasen
ccd7110107
Merge branch 'convert-dialog' into 'master'
...
Convert dialog
See merge request GNOME/gtk!898
2019-06-01 00:03:15 +00:00
Matthias Clasen
6c201e7927
menu: Fix keynav between submenus
...
Left/Right arrow now work again to enter
or leave a submenu.
2019-05-31 23:36:35 +00:00
Matthias Clasen
ace30d42ea
menu: Bring back the scroll keybindings
...
Home, End, Page Up/Down, work again.
2019-05-31 23:36:35 +00:00
Matthias Clasen
e599336ad4
menu: Keep selected item in view
...
This gets us most of the way to working scrolling.
2019-05-31 23:36:35 +00:00
Matthias Clasen
8ba3c75682
More menu work
2019-05-31 23:36:35 +00:00
Matthias Clasen
3f6272f56e
More menu restructuring
...
Make GtkMenuBar use a box as well,
and let GtkMenuShell get the items
from GtkMenuBar and GtkMenu via
a vfunc. Use that to fix the keynav
implementation in GtkMenuShell.
2019-05-31 23:36:35 +00:00
Matthias Clasen
13e010deb6
menu: Use a scrolled window
...
This brings back some support for scrolling.
We still need to reinstate some of the
scroll-to-selected and keynav functionality.
2019-05-31 23:36:35 +00:00
Matthias Clasen
ae1ba79f63
menu: Use a box
...
This makes some of the GtkMenuShell api
no longer work, since we don't let the
menu shell code maintain the list of
children anymore.
2019-05-31 23:36:35 +00:00
Matthias Clasen
57175dd5b1
Drop gdk_event_get_root_coords
2019-05-31 23:36:35 +00:00
Matthias Clasen
17cd6d7f44
widget: Stop setting root coords in events
...
Nothing should use them anymore.
2019-05-31 23:36:35 +00:00
Matthias Clasen
c7f06dd35e
win32: Stop using gdk_event_get_root_coords
...
It seems we want local coords here anyway.
2019-05-31 23:36:35 +00:00
Matthias Clasen
f645c4e923
menu: Remove global coordinates
...
This commit removes support for scrolling and
for the keep-up triangle from GtkMenu, and gets
rid of all use of global coordinates.
2019-05-31 23:36:34 +00:00
Benjamin Otte
4e464b4960
menu: Only set position in one place
2019-05-31 23:36:34 +00:00
Benjamin Otte
d971c4e69d
menu: Simplify function
...
No need to do complicated math when we can just look at the allocation.
2019-05-31 23:36:34 +00:00
Benjamin Otte
e702a33432
menuitem: Introduce gtk_menu_item_get_menu_shell()
...
Returns the parent menu shell or NULL.
Replace all calls to gtk_widget_get_parent() with this function.
2019-05-31 23:36:34 +00:00
Matthias Clasen
e64e9cd520
simplify: Add a testcase for templates
2019-05-31 19:42:18 +00:00
Matthias Clasen
21491d27bb
simplify: Add a testcase for dialogs
2019-05-31 19:39:17 +00:00
Piotr Drąg
4db41b01a5
Update POTFILES.in
2019-05-31 20:43:51 +02:00
Lubomir Rintel
8799e5798b
builder-tool: Rewrite GtkDialog
...
Changes
<object class="GtkDialog">
<child internal-child="vbox">
<...>
<child internal-child="action_area">...</child>
...
</...>
<packing />
</child>
<object>
to
<object class="GtkDialog">
<child internal-child="content_area">
<...>
...
</...>
</child>
<child internal-child="action_area">...</child>
<object>
2019-05-31 17:03:12 +00:00