Commit Graph

48834 Commits

Author SHA1 Message Date
Lapo Calamandrei
40955ad737 Fix a typo in the css docs 2016-10-21 13:55:03 +02:00
Chun-wei Fan
5140bc97b3 gdkwindow-win32.c: Make code compatible with GDK 4.0 APIs
Port the code here so that things will continue to build and work on 4.x.

https://bugzilla.gnome.org/show_bug.cgi?id=773299
2016-10-21 16:21:32 +08:00
Timm Bäder
81c12493ae Fix a few memory leaks 2016-10-21 06:45:22 +02:00
Matthias Clasen
c07f395a4f Beef up the migration guide 2016-10-20 16:10:42 -04:00
Matthias Clasen
53fc5a7d83 Add a bit more to the migration guide 2016-10-20 16:10:42 -04:00
Timm Bäder
a5867ffe71 Remove some more GdkColor properties 2016-10-20 20:12:08 +02:00
Timm Bäder
f65af48d51 button: Fix icon-name implementation 2016-10-20 20:12:05 +02:00
Timm Bäder
f989281b38 button: Remove grab_time
Unused.
2016-10-20 20:12:05 +02:00
Timm Bäder
0f6235752e container: Remove composite_name 2016-10-20 20:12:05 +02:00
Timm Bäder
00e7c69044 frame: Remove unused constants 2016-10-20 20:12:05 +02:00
Timm Bäder
de65f87816 container: Remove reallocate_redraws 2016-10-20 20:12:05 +02:00
Timm Bäder
3e3eb0187a gtk4-demo: Fix builder demo 2016-10-20 20:12:05 +02:00
Timm Bäder
18f0b80e2e widget: Remove in_reparent flag
gtk_widget_reparent is gone so we don't need this anymore.
2016-10-20 20:12:05 +02:00
Timm Bäder
6150ce4484 menuitem: Stop looking at nonexistant child properties 2016-10-20 20:12:05 +02:00
Timm Bäder
2e32655ccd checkbutton: Remove unused constants 2016-10-20 20:12:05 +02:00
Timm Bäder
2437e97da1 builder: Stop parsing GdkColor values 2016-10-20 20:12:04 +02:00
Timm Bäder
8dd549850c shortcutswindow: Remove unneeded deprecation guards
Leftovers from when it was still using a GtkArrow
2016-10-20 17:09:47 +02:00
Timm Bäder
f8eaadb32e testsuite: Update buttons.nodes
We don't create a box anymore here.
2016-10-20 17:09:47 +02:00
Timm Bäder
e772c2b622 container: Don't queue resize on non-toplevel widgets 2016-10-20 17:09:06 +02:00
Carlos Garnacho
31db11dd5b wayland: Allow grabless xdg_popups
xdg_shell v6 allows grabless popups, whose behavior is not that
different from override redirect windows with no grab to take
keyboard input (and pointer events outside).

This means we can relax the requirement to have a grab before
creating an xdg_popup. The warning is still useful to have so
people stop relying on gdk_window_show();gdk_device_grab() being
an ok pattern to popup a window, it's been moved to wayland
implementation of gdk_device_grab() instead, so we warn if trying
to grab a GDK_WINDOW_TEMP window that's already visible.

https://bugzilla.gnome.org/show_bug.cgi?id=771694
2016-10-20 11:41:59 +02:00
Emmanuele Bassi
59af3a0c15 build: Enable subdir-objects
Newer versions of Automake warn about forward compatibility when the
build uses sources in sub-directories without the subdir-objects option.

Both GTK+ and GDK have an almost-but-not-quite non-recursive Automake
layout, with sources in sub-directories contributing to the build of a
top-level object.

In theory, just adding subdir-objects to AM_INIT_AUTOMAKE would be
enough, but the test suite references sources in a different top-level
in order to build tests that verify the implementation of private data
structures. This is not really allowed when using subdir-objects and out
of srcdir builds. In order to fix this case, we require some ad hoc
rules to create symbolic links in the appropriate build directory.
2016-10-19 15:26:24 +01:00
Lapo Calamandrei
24cb9d4ba6 Adwaita: make circular button border looking nice
the darker bottom border used on buttons looks bad on circular ones
so now a gradient clipped on the border-box and a transparent
border is used in that partcular case.
See https://bugzilla.gnome.org/show_bug.cgi?id=771205 for details.
2016-10-19 16:07:52 +02:00
Lapo Calamandrei
1f8b146410 Adwaita: sass, make button mixin export a global $button_fill var
$button_fill contains the background-image property value of
buttons, having it readable outside the drawing mixin allows, for
example, stacking background images in an easier way.
2016-10-19 16:07:34 +02:00
Lapo Calamandrei
a1b7f36afa Adwaita: sass cleanup
aggregate circular button style to the main button structure.
2016-10-19 16:07:12 +02:00
Lapo Calamandrei
bec95e55e4 widget-factory: use circular style class on the circular button...
...in place of the circular-button one, killing the custom style
shipped, realying on the theme style.
2016-10-19 16:07:02 +02:00
Emmanuele Bassi
5cb804a808 build: Remove unused target variables
The foreigndrawing test has been removed.
2016-10-19 14:34:05 +01:00
Emmanuele Bassi
a9bcd05a14 icontheme: Simplify lookup_size()
No need to use an internal function, and no need to store the icon size
id, since we're using the id as the offset.
2016-10-19 14:04:00 +01:00
Chun-wei Fan
8b8f378050 Visual Studio builds: Update from [gdk|gtk]-3 to [gdk|gtk]-4
This updates all the projects files to be be named appropriately as we move from GTK-3.x to 4.x,
and updates the autotools files so that things are distributed and generated properly.

Also remove deprecated/gtkstatusicon-quartz.c from gtk/Makefile.am, as that was causing 'make dist'
to fail as that file has been removed.

This fixes 'make dist' with the updated existing project files in proper order.

Note that this does not include the new GSK, which will be added later, so the project files do
not yet build the whole stack on Visual Studio at this point.
2016-10-19 18:39:36 +08:00
Chun-wei Fan
51b7146138 Visual Studio Solutions: Drop references to libgail-util
We dropped it...
2016-10-19 16:13:54 +08:00
Chun-wei Fan
594ec7cfdd build/: Force MSVC project file generation on Makefile.am changes
Make the Makefile.am targets for generating the Visual Studio projects re-generate the
project files and the header listings whenever the Makefile.am's that include
build/Makefile.msvcproj changes, so that whenever a source/header is added, they will
be reflected in the projects and in the property sheets that are used to copy the
headers.

Also ensure that these are applied to the vs11, vs12 and vs14 projects when this
happens, as they are copied and processed from the Visual Studio 2010 projects.
2016-10-19 15:56:10 +08:00
Matthias Clasen
cf7445d9e6 Add some content to the migration guide 2016-10-18 16:20:44 -04:00
Matthias Clasen
56cc9e2d71 Start a new migration guide
Remove information that is only relevant for porting to GTK+ 3,
and put scaffolding in place for information relevant to GTK+ 4.
2016-10-18 15:21:12 -04:00
Emmanuele Bassi
14322b03ab gsk: Clear the profiler instance
When disposing the GskRenderer.
2016-10-18 16:49:21 +01:00
Emmanuele Bassi
d3f88adab7 gsk: Plug leak in GskRenderNode
We need to destroy the node's surface when finalizing it.
2016-10-18 16:34:29 +01:00
Emmanuele Bassi
976a4f6b12 build: Fix variable name for gtk4-update-icon-cache target 2016-10-18 15:51:05 +01:00
Emmanuele Bassi
b915efa976 build: Rework the GSK source lising
We need to only parse the public sources during the introspection step,
otherwise the introspection scanner will try to access private data
types.
2016-10-18 15:48:05 +01:00
Emmanuele Bassi
c0ce28374c build: Drop LDADD from GSK's Makefile
We can use the LDFLAGS target build.
2016-10-18 15:48:05 +01:00
Matthias Clasen
46187f8a22 Rename all binaries to be versioned
This is just easier to avoid parallel installation problems.
2016-10-18 10:27:45 -04:00
Matthias Clasen
e4e6cb87b2 Rename gtk-query-immodules to follow our binary naming scheme
Instead of gtk-query-immodules-4.0, lets call it gtk4-query-immodules,
to use the same prefix as all the other versioned binaries.
2016-10-18 09:59:42 -04:00
Matthias Clasen
c978fc792d Fix the docs build more
This makes gtk-doc produce output again.
2016-10-18 08:57:14 -04:00
Rico Tzschichholz
6fb8f61124 gdk: Fix Since tag of gdk_cairo_surface_upload_to_gl 2016-10-18 13:38:08 +02:00
Rico Tzschichholz
310a1f7e90 gdk: Add missing Since tags for gdk_window_new_child/input
In addition to d22e5e69d9
2016-10-18 13:27:19 +02:00
Emmanuele Bassi
69781c25da gsk: Bump up all version annotations
GSK is part of the 4.0 development cycle.
2016-10-18 11:49:16 +01:00
Emmanuele Bassi
8d2208359d docs: Bump up major version for GSK's API reference 2016-10-18 11:49:16 +01:00
Emmanuele Bassi
dace0791a9 gsk: Add the ability to create fallback renderers
While porting GTK to GskRenderer we noticed that the current fallback
code for widgets using Cairo to draw is not enough to cover all the
possible cases.

For instance, if a container widget still uses GtkWidget::draw to render
its children, and at least one of them has been ported to using render
nodes instead, the container won't know how to draw it.

For this reason we want to provide to layers above GSK the ability to
create a "fallback" renderer instance, created using a "parent"
GskRenderer instance, but using a Cairo context as the rendering target
instead of a GdkDrawingContext.

GTK will use this inside the gtk_widget_draw() implementation, if a
widget implements GtkWidgetClass.get_render_node().
2016-10-18 11:49:16 +01:00
Emmanuele Bassi
a9bbb020aa gsk: Update Cairo renderer
The Cairo renderer has been lagging behind a series of changes inside
GskRenderer, like surface-less nodes, so it needs to be updated.
2016-10-18 11:49:15 +01:00
Emmanuele Bassi
6b3c0052fc gsk: Make GskRenderer.render() drawing context-agnostic
We're going to need to allow rendering on a specific cairo_t in order to
implement fallback code paths inside GTK; this means that there will be
times when we have a transient GskRenderer instance that does not have a
GdkDrawingContext to draw on.

Instead of adding a new render() implementation for those cases and then
decide which one to use, we can remove the drawing context argument from
the virtual function itself, and allow using a NULL GdkDrawingContext
when calling gsk_renderer_render(). A later commit will add a generic
function to create a transient GskRenderer with a cairo_t attached to
it.

Renderers inside GSK will have to check whether we have access to a
GdkDrawingContext, in which case we're going to use it; or if we have
access to a cairo_t and a window.
2016-10-18 11:49:15 +01:00
Emmanuele Bassi
13f7f5bdfc docs: Update the GSK API reference section 2016-10-18 11:49:15 +01:00
Emmanuele Bassi
3aaae6c49c gsk: Move GskRenderNode getters to internal API
GskRenderNode is, at its core, a write-only API; you're supposed to set
up the render nodes instead of querying them for state.

Querying render nodes is left to the GskRenderer implementation.
2016-10-18 11:49:15 +01:00
Emmanuele Bassi
7de49fb7b2 gsk: Remove GskRenderer:auto-clear
We control the clearing inside each GskRenderer implementation, and we
don't allow providing a target surface any more.
2016-10-18 11:49:15 +01:00