Commit Graph

8615 Commits

Author SHA1 Message Date
Emmanuele Bassi
fb8eacfb02 device: Guard against divisions by zero
The range of a device could be 0, so we need to bail out from the
scaling during the axis translation.

https://bugzilla.gnome.org/show_bug.cgi?id=707033
2013-09-23 23:21:19 +01:00
Kenneth Nielsen
e90022f3c7 Updated Danish translation 2013-09-23 19:36:54 +02:00
Duarte Loreto
6a3eed7873 Updated Portuguese translation 2013-09-23 00:07:44 +01:00
Emmanuele Bassi
c3711d302f Post-release version bump to 1.15.97 2013-09-20 11:15:09 +01:00
Emmanuele Bassi
aad96558ae Release Clutter 1.15.96 (snapshot) 2013-09-20 11:06:03 +01:00
Emmanuele Bassi
300c76df17 x11: Ensure we have a stage before accessing its fields
For some XI2 we do not have a Stage associated to the event window.

Original patch by: Giovanni Campagna <scampa.giovanni@gmail.com>
Signed-off-by: Emmanuele Bassi <ebassi@gnome.org>

https://bugzilla.gnome.org/show_bug.cgi?id=708439
2013-09-20 10:56:57 +01:00
Emmanuele Bassi
c03f7727f7 Post-release version bump to 1.15.95 2013-09-19 23:10:50 +01:00
Emmanuele Bassi
fbf8d9c66a Release Clutter 1.15.94 (snapshot) 2013-09-19 22:58:43 +01:00
Emmanuele Bassi
0f217f0722 Documentation fixes 2013-09-19 22:58:43 +01:00
Emmanuele Bassi
a1d29abc38 evdev: Clean up debug and error messages
https://bugzilla.gnome.org/show_bug.cgi?id=707901
2013-09-19 22:51:52 +01:00
Emmanuele Bassi
9eb479aeef evdev: Cache the regexp
Instead of recreating it for every new device, we can cache the GRegex
and reuse it.

https://bugzilla.gnome.org/show_bug.cgi?id=707901
2013-09-19 22:51:52 +01:00
Emmanuele Bassi
a26690a73d cogl: Compensate for window scaling
The common stage window code that we share on Cogl-based backends should
also use the scaling factor.

https://bugzilla.gnome.org/show_bug.cgi?id=705915
2013-09-19 22:51:52 +01:00
Emmanuele Bassi
75f81fee70 x11: Apply the window scaling factor
On high DPI density displays we create surfaces with a size scaled up by
a certain factor. Even if the contents stay at the same relative size
and position, we need to compensate the scaling both when changing the
surface size, and when dealing with input.

https://bugzilla.gnome.org/show_bug.cgi?id=705915
2013-09-19 22:51:52 +01:00
Emmanuele Bassi
0d0cb13c8d stage: Adjust drawing to include the window scaling factor
In order to transparently support high DPI density displays, we must
maintain all coordinates and sizes exactly as they are now — but draw
them on a surface that is scaled up by a certain factor. In order to
do that we have to change the viewport and initial transformation
matrix so that they are scaled up by the same factor.

https://bugzilla.gnome.org/show_bug.cgi?id=705915
2013-09-19 22:51:52 +01:00
Emmanuele Bassi
b9072a5e21 stage-window: Add scaling factor accessors
We'll need to set and get the scaling factor of a ClutterStage from its
StageWindow implementation.

https://bugzilla.gnome.org/show_bug.cgi?id=705915
2013-09-19 22:51:52 +01:00
Giovanni Campagna
5c44a5e6f4 ClutterEvent: preserve extended state across clutter_event_copy()
We're going nowhere if we don't copy these, because the final
delivered event is a copy of the event generated by the backend.

https://bugzilla.gnome.org/show_bug.cgi?id=708383
2013-09-19 18:05:33 +02:00
Yosef Or Boczko
d72f3a3509 Updated Hebrew translation 2013-09-17 00:57:03 +03:00
Benjamin Steinwender
bd4ade3e0c Updated German translation 2013-09-16 19:01:02 +02:00
Giovanni Campagna
b29115e883 evdev: fix a crash when reclaiming devices
That was not how you iterate a list!

https://bugzilla.gnome.org/show_bug.cgi?id=707901
2013-09-16 00:18:01 +02:00
Emmanuele Bassi
08ddd02bb2 backend: Do not use CLUTTER_WINDOWING_EGL unconditionally
https://bugzilla.gnome.org/show_bug.cgi?id=708079
2013-09-15 10:28:58 +01:00
Andika Triwidada
9b5b432533 Updated Indonesian translation 2013-09-14 15:30:35 +07:00
Nilamdyuti Goswami
b2ba60699f Assamese Translation Updated 2013-09-13 17:31:50 +05:30
Ihar Hrachyshka
86d72cd2e8 Updated Belarusian translation. 2013-09-12 20:00:33 +03:00
Rūdolfs Mazurs
a595e5ff71 Updated Latvian translation 2013-09-12 15:22:44 +03:00
Giovanni Campagna
89cd3112fe evdev: add minimal support for touchpads
The added support is very very basic (single touch, motion only,
no acceleration, no pressure recognition), but anything more
complex requires a state machine that will be hopefully provided
by libinputcommon in the future.
And at least, with this patch the pointer moves, which will be
useful for people testing wayland in 3.10 without a physical mouse.

https://bugzilla.gnome.org/show_bug.cgi?id=706494
2013-09-12 09:50:12 +02:00
Florian Müllner
986e46dc66 text: Consider text direction when computing layout offsets
Currently this is only the case when the actor's x-expand/x-align
flags have been set and clutter_text_compute_layout_offsets() is
used.

https://bugzilla.gnome.org/show_bug.cgi?id=705779
2013-09-11 17:54:57 +02:00
Giovanni Campagna
da3e6988ad Add API to restrict the windowing backend to load
In situations when the default backend would fail (for example
when compiled with X11 support but run without DISPLAY), or
when the application is using backend specific code, it makes
sense to let the application choose the backend explicitly.

https://bugzilla.gnome.org/show_bug.cgi?id=707869
2013-09-11 09:54:35 +02:00
Lionel Landwerlin
5c035f2107 click-action: disconnect signals and gsources on dispose
https://bugzilla.gnome.org/show_bug.cgi?id=707774
2013-09-10 21:48:42 +01:00
Chun-wei Fan
142c1bbee7 MSVC Builds: Silence Cogl Deprecation Warnings
Cogl-1.16 has much deprecation that is done, which causes the build of
Clutter to generate lots of C4996 (deprecation) warnings.  As in commit
fa8809d7 (Add COGL_DISABLE_DEPRECATION_WARNINGS to the build flags), do
likewise by adding this macro in the Visual C++ property sheets, so we
would have much less C4996 warnings during the build.

Please see bug 703877 for the rationale behind this.
2013-09-10 16:18:15 +08:00
Jasper St. Pierre
ac70bd3503 box-layout: Fix floating point truncation when calculating a child's size
The child size is a float, not an int.

https://bugzilla.gnome.org/show_bug.cgi?id=707808
2013-09-09 19:32:57 -04:00
Rob Bradford
a748aab0ed wayland: Check for NULL surface on pointer leave events
In the protocol this is the expected behaviour when the client has
destroyed the surface.

https://bugzilla.gnome.org/show_bug.cgi?id=707377
2013-09-09 18:18:18 +01:00
Giovanni Campagna
d4ddabeaad evdev: remove keyboard state accessor
It was a bad idea to add it, because clutter events are batched,
so by the time the application processes one, the keyboard state
internally tracked by clutter could be already different.
Instead, apps should use clutter_event_get_state_full()

https://bugzilla.gnome.org/show_bug.cgi?id=706494
2013-09-09 18:02:04 +02:00
Lionel Landwerlin
bf007a1339 backend: add missing transfer annotation 2013-09-09 16:25:48 +01:00
Giovanni Campagna
15d036ea1e evdev: use EV_SYN/SYN_REPORT for dispatching motion events
We can't dispatch a motion event for EV_REL (because we don't
have yet the other half of the event), but we can't also queue
them at the end of processing (because we may lose some history
or have button/keys intermixed).
Instead, we use EV_SYN, which means "one logical event was
completed", and let the winsys-independent code do the actual
motion compression.

https://bugzilla.gnome.org/show_bug.cgi?id=706494
2013-09-09 13:24:23 +02:00
Giovanni Campagna
5e005b4298 evdev: implement horizontal scrolling
If the kernel reports REL_HWHELL, convert it to horizontal
scroll events.
Also reorganize a bit the recognition for the other event
enums.

https://bugzilla.gnome.org/show_bug.cgi?id=706494
2013-09-09 13:24:23 +02:00
Giovanni Campagna
d882366d11 evdev: implement setting leds
When the leds are changed in the keyboard state, propagate the
change to the actual devices.

https://bugzilla.gnome.org/show_bug.cgi?id=706494
2013-09-09 13:24:23 +02:00
Giovanni Campagna
cd1749a2a5 evdev: switch to libevdev for fetching the events
libevdev is a library that wraps the evdev subsystem, with
the ability to synchronize the state after a SYN_DROPPED event
from the kernel.

https://bugzilla.gnome.org/show_bug.cgi?id=706494
2013-09-09 13:24:19 +02:00
Giovanni Campagna
19536c8835 evdev: sync the keyboard state when releasing and reclaiming devices
When we release a device, we lose all the events after that point,
so our state can become stale. Similarly, we need to sync the
state with the effectively pressed keys when we reclaim.
This ensures that modifier keys don't get stuck when switching
VTs using a keybinding.

https://bugzilla.gnome.org/show_bug.cgi?id=706494
2013-09-09 13:18:27 +02:00
Giovanni Campagna
59f1e531f9 ClutterEvent: add API to query the full keyboard state when the event was generated
When talking to other applications or serializing the modifier
state (and in particular when implementing a wayland compositor),
the effective modifier state alone is not sufficient, one needs
to know the base, latched and locked modifiers.

Previously one could do with backend specific functionality
such as clutter_device_manager_evdev_get_xkb_state(), but the
problem is that the internal data structures are updated as
soon as the events are fetched from the upstream source, but
the events are reported to the application some time later,
and thus the two can get out of sync.
This way, on the other hand, the information is cached in the
event, and provided to the application with the value that
was current when the event was generated.

https://bugzilla.gnome.org/show_bug.cgi?id=706494
2013-09-09 13:18:23 +02:00
Giovanni Campagna
dd940a71b1 evdev: update the state of the core pointer and core keyboard for all events
These two devices are logically tied togheter, and their state
should always be the same. Also, we need to update them after
the event is queued, as the current modifier state (as opposed to the
modifier mask in the event) should include also the effect of the last
key press/release.

https://bugzilla.gnome.org/show_bug.cgi?id=706494
2013-09-09 13:18:23 +02:00
Giovanni Campagna
0db9075562 ClutterInputDevice: add new API for querying the modifier state
This way, the full state of the device is exposed.

https://bugzilla.gnome.org/show_bug.cgi?id=706494
2013-09-09 13:18:19 +02:00
Giovanni Campagna
b73f513091 evdev: use monotonic times for the events
The monotonic clock is what X uses too, so this way the timestamps
can be compared.

https://bugzilla.gnome.org/show_bug.cgi?id=706543
2013-09-09 12:02:25 +02:00
Giovanni Campagna
aef3d0022c evdev: add callback to constrain the pointer position
Add a new callback that is called prior to emitting pointer
motion events and that can modify the new pointer position.
The main purpose is allowing multiscreen apps to prevent the
pointer for entering the dead area that exists when the screens
are not the same size, but it could also used to implement
pointer barriers.
A callback is needed to make sure that the hook is called early
enough and the Clutter state is always consistent.

https://bugzilla.gnome.org/show_bug.cgi?id=706652
2013-09-09 12:00:52 +02:00
Yuri Myasoedov
89d09a07d3 Updated Russian translation 2013-09-06 13:22:45 +04:00
Jorge Pérez Pérez
b4d95ee3e8 Added Aragonese translation 2013-09-05 00:02:38 +02:00
Мирослав Николић
7d5b4d69e7 Updated Serbian translation 2013-09-03 09:15:10 +02:00
Emmanuele Bassi
c141bda460 Post-release version bump to 1.15.93 2013-09-02 23:59:14 +01:00
Emmanuele Bassi
d38e7127fe Release Clutter 1.15.92 (snapshot) 2013-09-02 23:40:41 +01:00
Emmanuele Bassi
e224415a47 Revert "clutter-offscreen-effect: Allocate the cogl texture directly"
This reverts commit 180e7d74f3.

The lazy texture allocation is gone in Cogl 1.15.9.
2013-09-02 17:06:49 +01:00
Emmanuele Bassi
8f88ada0c6 build: Depend on Cogl 1.15.9
The laxy texture allocation has been removed from Cogl 1.15, so we need
to depend on the new developers snapshot.
2013-09-02 17:06:03 +01:00