Commit Graph

9094 Commits

Author SHA1 Message Date
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
Chun-wei Fan
432a38722a MSVC 2010 Builds: Clean Up "Install"
Remove the empty lines from the property sheet that is really not necessary
2015-03-06 18:26:08 +08:00
Chun-wei Fan
133545c0e1 MSVC Builds: Update Clutter Main Project
There is a new source needed to build the GDK backend, so include that in
the project files.
2015-03-06 18:15:08 +08:00
Emmanuele Bassi
79b1253bc8 docs: Improve deprecation notices for ClutterAnimation 2015-03-05 13:18:37 +00:00
Emmanuele Bassi
2a5b6d8753 docs: Add anchors to sections in ClutterActor's description 2015-03-05 13:16:59 +00:00
Emmanuele Bassi
6bed552cfe docs: Improve deprecation notices for ClutterTableLayout 2015-03-05 13:04:09 +00:00
Emmanuele Bassi
51b46bc093 docs: Improve deprecation notices for ClutterBox 2015-03-05 12:57:26 +00:00
Emmanuele Bassi
423a126c95 docs: Improve deprecation notices for ClutterRectangle 2015-03-05 12:57:08 +00:00
Piotr Drąg
c8f0279ad8 Updated Polish translation 2015-03-05 00:09:12 +01:00
Tom Tryfonidis
c8c5e06f1f Updated Greek translation 2015-03-04 17:20:17 +00:00
Emmanuele Bassi
ec26ae2b5a docs: Update deprecation notes for ClutterTexture
Point to ClutterImage, ClutterContent, and ClutterActor where needed, so
that developers trying to port their code will have a chance at figuring
out how.
2015-03-04 16:08:18 +00:00
Emmanuele Bassi
253292802c Drop the UProf dependency
Nobody has been compiling Clutter with profiling enabled in a long time.

UProf itself hasn't been updated in 5 years, and it still depends on
deprecated components like dbus-glib, with no port to GDBus in sight.

The profiling code was moderately useful in the past, but these days
it's probably better to profile Cogl than Clutter itself; timing
information can be extracted by the timestamp on each diagnostic message
that is now available by default in the CLUTTER_NOTE macro, and we can
add ad hoc counters where needed.
2015-03-03 17:44:15 +00:00
Emmanuele Bassi
df15f04fc0 build: Use libtool macros to find libm
Instead of using `-lm` everywhere, use LT_LIB_M inside configure.ac, and
$(LIBM) inside Makefile.am.
2015-03-03 17:23:37 +00:00
Emmanuele Bassi
4591435c35 Post-release version bump to 1.21.7 2015-03-03 16:25:13 +00:00
Emmanuele Bassi
9b4a7a9964 Release Clutter 1.21.6 2015-03-03 16:16:39 +00:00
Emmanuele Bassi
b33c523243 docs: Add missing sections to the Clutter API reference 2015-03-03 16:15:31 +00:00
Emmanuele Bassi
54da12762b docs: Add missing symbols to the Clutter API reference 2015-03-03 16:15:14 +00:00
Emmanuele Bassi
4bfb3650b3 build: Add missing files to the API reference build 2015-03-03 16:14:45 +00:00