Commit Graph

9061 Commits

Author SHA1 Message Date
Emmanuele Bassi
8b8aa0b492 actor: Use the real opacity when clearing the stage
The paint opacity for a top level is always overridden to be the full
value, since it's a composited value and we want to paint our scene.

When clearing the stage framebuffer, though, we want to use the actual
opacity, if ClutterStage:use-alpha is set.
2015-04-30 12:40:39 +01:00
Jasper St. Pierre
21ce9bc08b clutter-stage-cogl: Match EGL's behavior of eglSwapBuffersWithDamage
-1 is explicitly an invalid value to pass to eglSwapBuffersWithDamage,
and the specification admits as much:

                                                         If
    eglSwapBuffersWithDamageEXT is called and <n_rects>, is less
    than zero or <n_rects> is greater than zero but <rects> is
    NULL, EGL_BAD_PARAMETER is generated.

Fix up our usage of SwapBuffersWithDamage to match the behavior in the
EGL specification.

https://bugzilla.gnome.org/show_bug.cgi?id=745512
2015-04-29 22:41:58 +01:00
Emmanuele Bassi
10a9657db0 build: Skip gitignore files when not building from git
There's really no point in going through the motions there.
2015-04-23 21:33:30 +01:00
Emmanuele Bassi
a67997ef39 build: Create .gitignore files in the current directory
We cannot touch srcdir when distchecking.
2015-04-23 21:23:50 +01:00
Emmanuele Bassi
f8687f9430 tests: Remove calls to clutter_x11_enable_xinput()
The function is deprecated and useless: support for XInput is always
enabled, if the extension is available.
2015-04-23 20:18:25 +01:00
Emmanuele Bassi
fc93887728 docs: Add new actor state methods 2015-04-23 20:12:25 +01:00
Emmanuele Bassi
dac33c5fea Stop using macros for accessing actor state
Use the newly added functions instead.
2015-04-23 17:39:30 +01:00
Emmanuele Bassi
4c6a550d13 Soft-deprecation of actor state macros
These are just terrible API that we've been stringing along since the
0.x days. We cannot truly deprecate them, because they are, in some
cases, the only actual API to perform some operation, and porting all
the code in the world is not going to make us any friends.

For the time being, we use a deprecation notice in the documentation.
2015-04-14 12:46:49 +01:00
Emmanuele Bassi
849607316a actor: Add functions mapping to state query macros
The macros are useless for language bindings, and are terribly unsafe
from C as well. There's always the option of using the GObject
properties they refer to, but it's more efficient to just have a simple
getter function.
2015-04-14 12:37:42 +01:00
Emmanuele Bassi
4006b8524d Add version macros for 1.24 2015-04-14 12:29:58 +01:00
Emmanuele Bassi
877e58a6b4 x11: Plug a leak on error path
If XIGetProperty() does not return what we expect, but still returned
something, we need to free it.
2015-04-09 12:35:23 +01:00
Emmanuele Bassi
83cd36e95f x11: Improve touchpad detection heuristics
We should use the same heuristics used by GDK in order to detect whether
a device is a touchpad or not.

Based on the similar code from Carlos Garnacho for GDK:
https://git.gnome.org/browse/gtk+/commit/?id=6f07d5e7

https://bugzilla.gnome.org/show_bug.cgi?id=747436
2015-04-09 11:03:16 +01:00
Emmanuele Bassi
bb52fa81ce Post-branch version bump to 1.23.1 2015-03-23 13:30:50 +00:00
Emmanuele Bassi
d362e373bb actor: Fix a compiler warning 2015-03-23 13:24:52 +00:00
Emmanuele Bassi
505801cd09 gdk: Fix stage removal from the master clock
Prevents a double-free in the conformance test suite.
2015-03-23 13:24:44 +00:00
Emmanuele Bassi
83edd9c4c5 Post-release version bump to 1.22.1 2015-03-23 11:27:58 +00:00
Emmanuele Bassi
22f340a6c8 Release Clutter 1.22.0 (stable) 2015-03-23 11:07:05 +00:00
Emmanuele Bassi
4f8643cea3 gdk: Fix mapping between frame clock and stages
While each stage has at most a GdkFrameClock, the same GdkFrameClock
instance may drive multiple stages per frame. This means that the
mapping between a GdkFrameClock and a ClutterStage is a 1:M one, not a
1:1.

We should store a list of stages associated to each frame clock
instance, so that we can iterate over it when we need to update the
stages.

This commit fixes redraws of applications using multiple stages,
especially when using clutter-gtk.
2015-03-23 11:00:00 +00:00
Emmanuele Bassi
0bb5993b2b build: Remove unused internal define
We haven't use HAVE_CLUTTER_GLX internally for a while; the last user
was Cally, which has been ported to the correct CLUTTER_WINDOWING_X11
symbol.
2015-03-23 11:00:00 +00:00
Florian Müllner
38c4807230 cally-actor: Don't assume X11 backend is used when supported
_cally_actor_get_top_level_origin() uses a compile time check
without runtime check, which will obviously fail when another
backend like wayland is used.

https://bugzilla.gnome.org/show_bug.cgi?id=746575
2015-03-23 11:00:00 +00:00
Muhammet Kara
fc5fe98c3f Updated Turkish translation 2015-03-21 23:39:42 +00:00
Muhammet Kara
50c1c749ba Updated Turkish translation 2015-03-21 23:35:58 +00:00
Ask H. Larsen
474a7d4449 Updated Danish translation 2015-03-21 16:26:57 +01:00
Andika Triwidada
a7fd072c44 Updated Indonesian translation 2015-03-21 12:32:33 +00:00
Daniel Martinez
6564016d3b Update Aragonese translation 2015-03-19 20:46:57 +01:00
Jonas Ådahl
615b0f46ae evdev: Keep track of the pointer coordinate ourself
When multiple relative motion events are received and queued, we can't
base the relative => absolute motion conversion off of the stage pointer
position, since that is only updated when the queue is processed at
the beginning of each frame. The effect of trying to use the stage
pointer position was that subsequent motion events were effectively
dropped.

To improve things, switch to keeping track of the pointer position
ourselves in the evdev backend and adding to that.

This has the side effect of making the internal function
_clutter_input_device_set_coords not effect the internal coordinate
state of the evdev stage, but AFAICS there is nothing depending on that
so that should be fine.

https://bugzilla.gnome.org/show_bug.cgi?id=746328
2015-03-18 22:45:38 +08:00
Emmanuele Bassi
83caeaae9b stage-cogl: Abort realize() if there's no CoglContext
There's no point in trying to go ahead if we don't have a context to
create the CoglOnscreen framebuffer, and Cogl will crash anyway if we
pass NULL to the constructor.
2015-03-17 13:47:08 +00:00
Baurzhan Muftakhidinov
6355b5ab78 Added Kazakh translation 2015-03-15 17:47:29 +00:00
Emmanuele Bassi
ce8b644b78 Post-release version bump to 1.21.9 2015-03-15 16:15:45 +00:00
Emmanuele Bassi
414907983e Release Clutter 1.21.8 2015-03-15 16:06:30 +00:00
Emmanuele Bassi
5a294124da build: Remove unnecessary argument for gtkdoc-scan
We don't use deprecation guards any more, in favour of compiler
annotations and gtk-doc annotations.
2015-03-15 16:05:10 +00:00
Emmanuele Bassi
ce2d86515a rectangle: Fix the border drawing conditions
And reorganize the code a bit while we're at it.
2015-03-15 15:10:31 +00:00
Chris Wilson
239280f855 stage-cogl: Fix damage tracking with varying buffer ages
With server-side buffer allocation, buffers may be returned out of order
(e.g. they may be held onto by external references or hardware). As such
we may see older buffers the frame after we discard the history from
seeing a very young buffer. To overcome this we want to keep the history
in a ring so we can keep track of older entries without keeping an
unbounded list. After converting to a ring, the maximum buffer age
observed during testing was 5 (expected value of 4), but before we could
see ages as high as 9 due to the huge latency spikes caused by doing full
buffer redraws (compounded by external listeners doing readback on the
damaged areas, for example vnc, drm/udl, prime). For this reason, a
maximum age of 16 was chosen to be suitably large enough to prevent these
worst cases from taxing the system.

v2: Fix off-by-one in combining the damage histroy into the clipping
rectangle, and apply copious whitespace fixes.

Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=745512
References: https://bugzilla.gnome.org/show_bug.cgi?id=724788
References: https://bugzilla.gnome.org/show_bug.cgi?id=669122
2015-03-15 14:46:42 +00:00
Chris Wilson
55c957267e stage-cogl: Use swap buffers with damage
cogl provides an interface to pass along damage with the swap buffers
request. This is useful for the display servers and hardware to minimise
the work done in updating the screen and also reducing the work done by
external listeners (such as vnc, drm/udl and PRIME).

Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=745512
2015-03-15 14:45:53 +00:00
Emmanuele Bassi
a82b97e000 build: The EGL backend is no longer experimental
It's used by GNOME Shell on Wayland, and it's automatically tested on
build.gnome.org — I say we can remove the experimental backend flag.
2015-03-14 23:26:39 +00:00
Emmanuele Bassi
6de3413921 rectangle: Do not draw the border if bigger than the allocation
If the rectangle is allocate a size smaller than the border, drawing the
border will end up with negative coordinates, and will mess up the whole
thing. Since rectangles don't have a minimum preferred size, we cannot
rely on the allocation being big enough to contain the border and the
background color.

If the rectangle is smaller than the border width value, we just paint
the border color as well.
2015-03-14 23:17:27 +00:00
Samir Ribic
56baa51b1a Added Bosnian translation 2015-03-13 20:57:36 +00:00
Emmanuele Bassi
a740366369 ignore: Add gtkdoc-check files 2015-03-12 20:22:57 +00:00
Emmanuele Bassi
8af4dfc8ae build: Enable gtk-doc check
This should catch missing symbols during `make check`, and hopefully
lead to their addition prior to a release.
2015-03-12 20:22:57 +00:00
Emmanuele Bassi
34b03aebaf build: Add missing Mir includes for gtk-doc
If we don't specify the files, gtk-doc won't find the symbols even if
they are documented.
2015-03-12 20:22:57 +00:00
Emmanuele Bassi
1912f28063 docs: Remove leftover DocBook tags
We use markdown for the documentation.
2015-03-12 20:22:57 +00:00
Rūdolfs Mazurs
c0d01f87d4 Updated Latvian translation 2015-03-12 21:47:36 +02:00
Dušan Kazik
a9d6057402 Updated Slovak translation 2015-03-09 11:44:53 +00:00
Emmanuele Bassi
fefc2b5321 docs: Improve more deprecation notices 2015-03-08 15:49:45 +00:00
Milo Casagrande
0b32b3a96a Updated Italian translation 2015-03-08 15:41:58 +00:00
Daniel Korostil
4a55faf36a Updated Ukrainian translation 2015-03-08 14:25:06 +02:00
Chun-wei Fan
fc9248b3b6 MSVC Builds: Rename "Install" projects
Rename the install projects to clutter-install so that it would be easier
to use the project file set as a part of a grand solution file, such as
one that is used to build the entire Clutter stack.
2015-03-06 18:47:45 +08:00
Chun-wei Fan
2312d26dfe MSVC Builds: "Install" .pdb Files
"Install" the .pdb file for the Clutter DLL, that is already built
alongside with it with all builds.  This commit will disable, for now,
the "installation" of the test/sample programs.
2015-03-06 18:45:59 +08:00
Chun-wei Fan
ddf1962c98 MSVC 2010 Builds: Fix .pdb Generation
In order to make the .pdb filename match the filename of the target, the
.pdb filename must be specified for Visual Studio builds, if the target
filename does not match the project name.  Update the Clutter main project
accordingly.
2015-03-06 18:44:17 +08:00
Chun-wei Fan
aa62a5cb7f MSVC Builds: Speed Up Release Builds
Use the multipropcessor compilation (/MP) option, which can help cut down
build times for release builds by quite a bit.  A warning will be emitted
for debug builds, due to the use of /Gm, but the build will otherwise
proceed normally.

Also use the /d2Zi+ compiler flag for MSVC 2010 (and later) builds, so that
more useful info would be logged to the .pdb files that are generated
during the build.
2015-03-06 18:37:04 +08:00