Alexander Larsson
ad30262fef
GtkGLArea: Always destroy context on unrealize
...
We had some code that tried to reuse the context over realize, but
that doesn't work as we need to share with the possibly new
paint context of the re-realized window.
2014-10-30 12:43:03 +01:00
Alexander Larsson
5f14630b76
GdkWindow: destroy paint gl context on destroy
2014-10-30 12:43:03 +01:00
Alexander Larsson
dbbab0791d
GdkGLContext: Track shared context
...
This allows us to read it back, but primarily it ensures
the shared context wrapper stays alive as long as the context.
2014-10-30 12:43:03 +01:00
Alexander Larsson
fb50015519
GdkGLContext: Change the way we track the current context
...
To properly support multithreaded use we use a global GPrivate
to track the current context. Since we also don't need to track
the current context on the display we move gdk_display_destroy_gl_context
to GdkGLContext::discard.
2014-10-30 12:43:03 +01:00
Lapo Calamandrei
eb8f60f141
Adwaita: osd rationalization and tweakings
...
Removed bright translucent outer border for "top level" osd widgets,
insensitive osd entry styled, more meaningfull color variables and
some code rationalization.
2014-10-30 11:50:27 +01:00
Alexander Larsson
afd9709aff
GdkWindowX11: Keep the impl window cairo surface around until destroy
...
We used to have a weak ref to the cairo surface and it was keep
alive by the references in the normal windows, but that reference
was removed by d48adf9cee
, causing
us to constantly create and destroy the surface.
https://bugzilla.gnome.org/show_bug.cgi?id=738648
2014-10-30 10:32:47 +01:00
Matthias Clasen
47191ce173
Make the inspector window translucent instead of lowering
...
Make the inspector window click-through and see-through
when we can, instead of lowering it. This is useful, since
Wayland has no lowering.
2014-10-29 23:29:20 -04:00
Lapo Calamandrei
7a1eabaf62
Adwaita: fix for the previous colorswatch fix...
...
Make the selected colorswatch inhert on backdrop.
2014-10-29 19:55:32 +01:00
Lapo Calamandrei
43a2676c3f
Adwaita: fix selected colorswatch white border
2014-10-29 19:50:58 +01:00
Lapo Calamandrei
bfd4933aa3
Adwaita: first round of OSD style converage
...
Some code refactoring, entry and spinbuttons and flat buttons
styled, more to come...
2014-10-29 18:40:28 +01:00
Carlos Garnacho
b0313c7bcf
wayland: Emit GDK_OWNER_CHANGE events around wl_data_offer changes
...
This way the upper GtkClipboard code emits correctly ::owner-change when
receiving these events.
2014-10-29 18:33:48 +01:00
Alexander Larsson
c7451bbf3b
GdkX11GLContext: Fix leak
2014-10-29 13:52:04 +01:00
Alexander Larsson
8c7623de84
Cache default gdk visuals in the GDK_VISUALS property on the root window
...
This means we don't have to try to initialize opengl in every gtk
instance that is stated. It will only happen for the first one.
https://bugzilla.gnome.org/show_bug.cgi?id=738670
2014-10-29 13:35:17 +01:00
Alexander Larsson
dae447728d
X11: Pick better system and rgba visuals for GL
...
We want to create windows with the default visuals such that we then
have the right visual for GLX when we want to create the paint GL
context for the window.
For instance, (in bug 738670) the default rgba visual we picked for the
NVidia driver had an alpha size of 0 which gave us a BadMatch when later
trying to initialize a gl context on it with a alpha FBConfig.
Instead of just picking what the Xserver likes for the default, and just
picking the first rgba visual we now actually call into GLX to pick
an appropriate visual.
2014-10-29 13:35:17 +01:00
Matthias Clasen
8765970ba1
Remove a redundant call
...
No need to set shapes twice in a row.
2014-10-29 06:49:59 -04:00
Matthias Clasen
0b4c37624a
GtkPopoverMenu: Add API to open a submenu
...
This allows alternative menu switching to be implemented, besides
the builtin GtkModelButton support.
2014-10-29 06:49:59 -04:00
Matthias Clasen
f83c903ed8
Add a scale to the popover menu example
...
Demonsttrate that this is flexible enough for the intended uses.
2014-10-29 06:49:59 -04:00
Matthias Clasen
6e001acbf9
Add documentation
...
Document GtkModelButton and GtkPopoverMenu.
2014-10-29 06:49:59 -04:00
Matthias Clasen
228e51b319
Adapt the testpopover example
...
Add the required boxes for each submenu. We now need to specify the
submenu name only once per submenu.
2014-10-29 06:49:59 -04:00
Matthias Clasen
55b7838b4f
GtkPopoverMenu: Simplify
...
Change things so each submenu is a single child, and users are
required to create the box themselves.
2014-10-29 06:49:59 -04:00
Matthias Clasen
2b5a49c285
Adapt the testpopover example
...
Drop all all explicit role setting from the testpopover example.
2014-10-29 06:49:59 -04:00
Matthias Clasen
689363a782
GtkModelButton: Don't require an explicit role
...
When we have an action-name, we can deduce the role from the
action that is looked up by the action helper.
2014-10-29 06:49:59 -04:00
Matthias Clasen
2401a6cb8e
Adapt the testpopover example
2014-10-29 06:49:59 -04:00
Matthias Clasen
14e394d3d7
GtkModelButton: Rename action-role to role
...
Rename action-role to role, and make all properties readable.
2014-10-29 06:49:59 -04:00
Matthias Clasen
e776c665b0
GtkModelButton: Drop unused :accel property
2014-10-29 06:49:59 -04:00
Matthias Clasen
1fee63d097
Adapt the testpopover example
...
Drop all uses of has-submenu.
2014-10-29 06:49:59 -04:00
Matthias Clasen
ef22be9bb7
Drop GtkModelButton:has-submenu
...
Replace the has-submenu property with checking menu-name != NULL.
2014-10-29 06:49:59 -04:00
Matthias Clasen
4da281d20b
Adapt the testpopover example
...
We now use GtkPopoverMenu, and just add the model buttons
directly to it.
2014-10-29 06:49:58 -04:00
Matthias Clasen
e095918128
GtkModelButton: Add a menu-name property
...
Add a menu-name property and use it in a default implementation
of ::clicked to switch menus if we are inside a stack. This means
GtkModelButton is no longer entirely generic, but rather expects
to be used inside a GtkPopoverMenu. It still works in other contexts
too, of course.
2014-10-29 06:49:58 -04:00
Matthias Clasen
1f81c83fd8
Add GtkPopoverMenu
...
GtkPopoverMenu is a GtkPopover subclass that has a menu-like stack
built-in.
2014-10-29 06:49:58 -04:00
Matthias Clasen
a8cc4787d2
Add a manual popover menu example
...
Reproduce the testpopover popover manually, by packing model
buttons into a stack in a popover.
2014-10-29 06:49:58 -04:00
Matthias Clasen
83976c47f8
Make GtkModelButton a better GtkActionable
...
Rename the "toggled" property to "active", since that is what
GtkActionHelper expects to update for check and radio actions.
Also make the property readable, since GtkActionHelper wants
to read it.
2014-10-29 06:49:58 -04:00
Matthias Clasen
fd945be50b
Make GtkModelButton public
2014-10-29 06:49:58 -04:00
Matthias Clasen
c9ad936011
Drop an unused variable
2014-10-29 06:49:58 -04:00
Alexander Larsson
d5cd05a0f4
GdkGLContextX11: Don't free NULL visual info
2014-10-29 11:26:00 +01:00
Matthias Clasen
778865f316
Fix toplevel input shape for csd windows
...
We need to maintain the application-set and the the csd
input shape separately, and intersect them to pass them
down.
2014-10-28 20:23:47 -04:00
Matthias Clasen
3f1dc87188
Plug another memory leak
...
Also found by valgrind.
2014-10-28 16:07:57 -04:00
Matthias Clasen
c8d4eefa71
Plug some memory leaks in GL support
...
valgrind pointed these out.
2014-10-28 16:07:57 -04:00
Alexander Larsson
0814cd9f8b
GdkGlContextWayland: Don't require specific bit depths
...
This just means we may fail to get a gl context, we just require
*some* color depth.
2014-10-28 18:30:09 +01:00
Alexander Larsson
3406bbd128
Pick the first rgba visual, not the last
...
The visuals are typically sorted by some sort of "most useful first"
order. And picking the last one is likely to give us the weirdest
matching glx visual.
2014-10-28 18:30:09 +01:00
Alexander Larsson
8d6d6dcca3
GdkGLContextX11: Ensure we get the fbconfig with the exact same visual
...
We really want a gl context with exactly the same visual, or we will
get a badmatch later, which hits us on nvidia as per:
https://bugzilla.gnome.org/show_bug.cgi?id=738670
2014-10-28 18:30:09 +01:00
Matthias Clasen
b673490a1b
Document Wayland opacity handling
2014-10-28 10:48:49 -04:00
Matthias Clasen
4cf6edda55
wayland: Make window opacity work
...
Under wayland, the compositor doesn't have a 'overall window alpha'
knob, we just need to add the alpha to the buffers we send.
Client-side alpha, if you want to call it that.
Implement this by reusing the existing alpha support for non-toplevel
widgets. As a side-effect of the implementation, windows with RGBA
visual under X will now also use per-pixel alpha, instead of
overall alpha.
2014-10-28 10:28:23 -04:00
Matthias Clasen
d58c750db5
Bump atk dep
...
Needed for ATK_STATE_HAS_TOOLTIP.
2014-10-28 08:08:49 -04:00
Matthias Clasen
850143b7a0
Inspector: Make picking work without a grab
...
Turns out Weston takes an X grab while delivering button events.
Thus, trying to take a grab in response to a button press is
futile.
2014-10-28 07:05:45 -04:00
Jasper St. Pierre
c40ba85ace
wayland: Don't use the default display
...
Pass a display in so that multi-display technology works.
2014-10-27 22:29:41 -07:00
Jasper St. Pierre
bbe9ef20da
gdkevents: Use the correct display to copy event data
2014-10-27 22:29:41 -07:00
Jasper St. Pierre
887b7356c3
gdkdisplay: Provide a default event_data_copy / event_data_free
...
Every single implementation but Quartz is a no-op for this, so just
provide it once rather than in every backend.
2014-10-27 22:13:23 -07:00
Matthias Clasen
e36b57e7f9
gtk-demo: Drop uses of gdk_cursor_new()
...
Use gdk_cursor_new_for_display() instead.
2014-10-28 00:56:46 -04:00
Matthias Clasen
abe7187cfb
Add another multi-device invariant
...
The device and window passed to gdk_device_grab() must be
on the same display, or things are unlikely to work.
Document and assert this.
2014-10-28 00:54:39 -04:00