summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* examples/layout-manager: Remove unnecessary easing state savewip/optimizations-2Emmanuele Bassi2013-03-081-4/+0
| | | | | The actors in the layout are already set up with a non-default easing state, we can use that.
* build: Disable debugging code in stable releasesEmmanuele Bassi2013-03-081-1/+1
| | | | | Pretty much what GLib and GTK+ do, and the 1.x cycle has gone on for a while, now.
* actor: Clean up ::show and ::hide class handlersEmmanuele Bassi2013-03-081-40/+41
| | | | The main body of the function should not live inside an 'if' block.
* actor: Skip queuing relayouts on unmapped actorsEmmanuele Bassi2013-03-081-0/+15
| | | | | | | | Unless they are being cloned, directly or because they are part of a cloned branch. This is similar to the behaviour of queue_redraw(), but it may cause some breakage, so it's a separate commit.
* actor: Skip transitions on invisible actorsEmmanuele Bassi2013-03-081-12/+40
| | | | | | | | | | | | | If an actor has not been painted yet, or it's not going to be painted, we can ignore transitions queued on it. By ignoring transitions on actors that have not been painted yet, we can avoid doing work during the set up phase of the scene graph, as well as avoiding actors "flying in" from nowhere. Obviously, we have to take into account potential clones, so we need to check that the actor is not part of a cloned branch of the scene graph, as well as checking if the actor has mapped clones.
* actor: Propagate the cloned state to the childrenEmmanuele Bassi2013-03-081-1/+37
| | | | | If we clone a container, we still want redraws queued on the children to be propagated.
* actor: Ignore redraws queued on unmapped actorsEmmanuele Bassi2013-03-081-16/+51
| | | | | | | | | | | | | If an actor is unmapped then it won't be painted, so we can safely short-circuit out of _clutter_actor_queue_redraw_full() if the mapped flag is not set. We need, on the other hand, make an exception for Clones, otherwise they won't receive notification that the source actor has changed and they won't be painted. This allows us to ignore redraws queued on children of invisible parents, and avoid traversing the scene graph.
* actor: Keep track of clonesEmmanuele Bassi2013-03-083-26/+91
| | | | | | | | | | Instead of using signal notifications, we should be able to keep track of the clones of an actor from within ClutterActor itself, using private API. There's no point in pretending that people can actually create a Clone class out of tree, given the amount of invariants we have to punch through in order to implement a proper replicator node of the scene graph, so we can just skip the signal emissions and just do the right thing at the right time.
* actor: Clean up internal add/remove functionsEmmanuele Bassi2013-03-081-17/+31
| | | | | | | | | | | | | | More comments are warranted: these functions are pretty much full of potential side effects, and I'd really like to avoid keeping everything in my head forever. Along with the comments and the type casting reduction, I sneaked in a one line change that is clearly correct after reading the flow of the whole thing: we queue only a relayout after three potential redraws have been queued. If we manage to miss a redraw and yet still get a relayout then it means that most of our assumptions are fundamentally wrong, and that we ought to dump this whole business of computer programming, and just go back to being a hunter-gatherer species.
* examples/layout-manager: Improve the exampleEmmanuele Bassi2013-03-081-1/+21
| | | | Add an explicit transition, and more comments.
* Clean up the Actor private headerEmmanuele Bassi2013-03-081-77/+77
| | | | Reading it is getting painful.
* docs: Add 1.14 symbols indexEmmanuele Bassi2013-03-071-0/+5
| | | | Forgot to add it after the version bump.
* x11/xi2: Factor the XKB group state in to fill events' modifier_stateRui Matos2013-03-063-9/+20
| | | | | | | Otherwise XkbTranslateKeyCode() won't yeld the correct keysyms when group > 1. https://bugzilla.gnome.org/show_bug.cgi?id=695260
* a11y: expose the text with password-charAlejandro Piñeiro2013-03-051-9/+28
| | | | | | | | | Text exposed by the AtkText methods should be the text displayed to the user (like the internal method clutter_text_get_display_text). So it should use the password-char if it is being used. This is also a security concern.
* a11y: cally-util: use password-char to fill a key_event if requiredAlejandro Piñeiro2013-03-051-8/+61
|
* actor: Revert the Transition/Actor leak fixEmmanuele Bassi2013-03-051-4/+7
| | | | | | | | | | | | | | | | | | The original code inside ClutterActor that dealt with Transitions stopping was written for the ::completed signal, thus the code was correctly handling the lifetime of the instances; when we moved to the ::stopped signal, we assumed that it worked in the same way - with less conditions to be checked, obviously, but fundamentally similar to the ::completed signal. Sadly, I screwed up the signal definition, and the signal ended up calling our handlers, but not the default one that did the cleanup and released references on the Animatable instance. After fixing the Timeline::stopped signal, we can go back to the previous code. Thanks to Craig Hughes for the help in tracking down this mess. https://bugzilla.gnome.org/show_bug.cgi?id=695158
* timeline: Use the right function pointer offsetEmmanuele Bassi2013-03-051-1/+1
| | | | | | | A copy and paste thinko: the ::stopped signal is using the ClutterTimelineClass.completed slot instead of the .stopped one, thus preventing sub-classes of ClutterTimeline from overriding the signal's default closure.
* build: Dist the cookbookEmmanuele Bassi2013-03-051-0/+4
| | | | So that we can publish it starting from the tarballs.
* actor: Release a reference on the implicit TransitionsEmmanuele Bassi2013-03-041-3/+6
| | | | | | | | | When stopping the transition we need to release the reference we maintain while removing the Transition from the hash table inside an actor. If we fail to do so, the Transition is never released, which means we leak the Animatable instance we tied to it. https://bugzilla.gnome.org/show_bug.cgi?id=695158
* text: Clean up the set_font_description_internal() semanticsEmmanuele Bassi2013-03-041-8/+7
| | | | | | | The current semantics are ridiculous, and clearly a case of (mistaken) premature optimization. All setters should copy, not transfer ownership. https://bugzilla.gnome.org/show_bug.cgi?id=695119
* docs: Clean up the documentation for the allocate() methodsEmmanuele Bassi2013-03-041-7/+21
| | | | | The wording could be better, especially on the side effects and the honoured state.
* docs: Clean up the wording of a couple of commentsEmmanuele Bassi2013-03-041-1/+9
|
* deform-effect: Don't use deprecated APIEmmanuele Bassi2013-03-041-1/+7
| | | | | | | | The ClutterOffscreenEffect.get_target_size() method has been deprecated, and replaced by the get_target_rect() one. We can easily switch to the latter, and avoid the deprecation warning. https://bugzilla.gnome.org/show_bug.cgi?id=670004
* offscreen-effect: Add a method to get the target areaEmmanuele Bassi2013-03-044-0/+50
| | | | | | | | | | | | | | | The target size is not always enough, there are cases where the offset used to paint the target must also be available for developers implementing an OffscreenEffect. The get_target_rect() method returns the rectangle used to paint the target, with the offsets in the ClutterRect:origin and the texture size in the ClutterRect:size fields, respectively. The get_target_size() method should be deprecated, given that its replacement is generally more useful. https://bugzilla.gnome.org/show_bug.cgi?id=670004
* build Bump to 1.15.1Emmanuele Bassi2013-03-041-2/+2
| | | | | In theory, master should become 1.99 at some point, but if we do that all Hell breaks loose, so let's use 1.15 for the time being.
* [l10n] Updated German translationMario Blättermann2013-03-031-273/+268
|
* Updated Traditional Chinese translation(Hong Kong and Taiwan)Chao-Hsiung Liao2013-03-012-715/+717
|
* x11/clutter-keymap-x11: Honor XkbNewKeyboardNotify eventsRui Matos2013-02-241-0/+1
| | | | | | | We already select for XkbNewKeyboardNotify events but are not acting on them. Start doing so. https://bugzilla.gnome.org/show_bug.cgi?id=694267
* Updated Czech translationMarek Černocký2013-02-221-319/+319
|
* Fix compiler warnings by initializing variablesEmmanuele Bassi2013-02-211-2/+2
|
* actor: Fix clutter_actor_allocate_align_fill for partially-filled actorsJasper St. Pierre2013-02-211-25/+21
| | | | | | | | If we pass TRUE for x_align and FALSE for y_align, the full available width should be passed to clutter_get_preferred_height, and the same should be true in the other dimension. https://bugzilla.gnome.org/show_bug.cgi?id=694237
* conform: Disable the Cogl testsEmmanuele Bassi2013-02-201-0/+2
| | | | | Cogl is being tested pretty well, these days; also, there is a failure in the mipmap test that I really don't have time to bisect.
* cally: Use AktObject::get_name()Emmanuele Bassi2013-02-201-13/+20
| | | | | | Instead of directly accessing the instance fields. This removes a compiler warning after the constification of g_get_prgname(), and it seems to me to be generally more correct.
* scroll-actor: Use :child-transformEmmanuele Bassi2013-02-201-87/+16
| | | | | | | | Instead of using a custom apply_transform(), paint(), and pick() implementations, we can simply apply a transformation to the children of a ScrollActor. https://bugzilla.gnome.org/show_bug.cgi?id=686225
* wayland: Only include Wayland headers in privateDaniel Stone2013-02-207-28/+72
| | | | | | | | | | | As wayland-client.h and wayland-server.h can't be included together, split the Wayland backend file into clutter-backend-wayland.h, which only defines the types, and clutter-backend-wayland-priv.h, which actually uses the Wayland client types. Signed-off-by: Daniel Stone <daniel@fooishbar.org> https://bugzilla.gnome.org/show_bug.cgi?id=692851
* wayland-compositor: Don't use Wayland types in public APIDaniel Stone2013-02-202-5/+2
| | | | | | | | | | | The definition of wl_display differs between Wayland clients and servers, and it's unsafe to include both wayland-client.h and wayland-server.h at the same time. Fudge around this by making the compositor public API use void * rather than struct wl_display *. Signed-off-by: Daniel Stone <daniel@fooishbar.org> https://bugzilla.gnome.org/show_bug.cgi?id=692851
* cogl: Don't use cogl_xlib_set_diplay()Damien Lespiau2013-02-202-13/+0
| | | | | | | | | | This function is deprecated and has been replaced by set_display() on the renderer. This is done in the get_renderer() vfunc of both the x11 and gdk backends already. Actually cogl_xlib_set_diplay() is now a no-op and can be safely removed. https://bugzilla.gnome.org/show_bug.cgi?id=687652
* Don't do anything special with COGL_ENABLE_EXPERIMENTAL_2_0_APIJasper St. Pierre2013-02-203-5/+5
| | | | | | | This flag solely disables deprecated Cogl 1.0 API, so it shouldn't be used for feature checks. https://bugzilla.gnome.org/show_bug.cgi?id=694229
* conformance: Only check for DISPLAY on X11 windowing backendRob Bradford2013-02-201-10/+11
| | | | Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=693741
* actor: Use the correct return valueJosselin Mouette2013-02-201-1/+1
| | | | | | | | | The get_z_rotation_gravity() method returns an enumeration value, not a floating point value. Signed-off-by: Emmanuele Bassi <ebassi@gnome.org> https://bugzilla.gnome.org/show_bug.cgi?id=694187
* timeline: Add progress-based marker APIEmmanuele Bassi2013-02-206-30/+133
| | | | | | | | Being able to set a marker at a normalized point on a timeline, instead of using a specific time, is a nice fit with the current Timeline class API. https://bugzilla.gnome.org/show_bug.cgi?id=694319
* Update French translationAlexandre Franke2013-02-201-336/+336
|
* Updated Polish translationPiotr Drąg2013-02-161-109/+109
|
* Add missing functions to clutter.symbolsEmmanuele Bassi2013-02-141-0/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=693767
* settings: Don't reload config for fontconfig if there's no fontmapNeil Roberts2013-02-131-7/+15
| | | | | | | | | | | | | | | | | | | | | | | If anything in the system changes the config for fontconfig then an XSetting will be set to record the last timestamp of the config file. This is presumably so that applications can be notified that it has changed and can reload the configuration. However once this setting is set it will remain set for the lifetime of the X server. This causes Clutter to handle the setting during the initialisation of the backend. Previously this would cause problems because Clutter would end up creating the default PangoFontMap before the backend has created the CoglContext. The PangoFontMap would in turn cause the default CoglContext to be created. Clutter will then later create its own CoglContext which means there will be two and the first one will be leaked. Cogl currently can't really cope with multiple contexts being created so it falls apart. This patch fixes it to skip reloading the config for fontconfig if there isn't a default font map yet. The config will presumably naturally be read with the latest values when it is finally created anyway so it doesn't need to be read immediately. https://bugzilla.gnome.org/show_bug.cgi?id=693696
* Add clutter_stage_set_sync_delay()Owen W. Taylor2013-02-138-77/+386
| | | | | | | | | | | | | | New experimental API is added to allow changing the way that redraws are timed for a stage to include a "sync delay" - a period after the vertical blanking period where Clutter simply waits for updates. In detail, the algorithm is that when the master clock is restarted after drawing a frame (in the case where there are timelines running) or started fresh in response to a queued redraw or relayout, the start is scheduled at the next sync point (sync_delay ms after the predicted vblank period) rather than done immediately. https://bugzilla.gnome.org/show_bug.cgi?id=692901
* evdev: Fix use of the common XKB code for the evdev deviceNeil Roberts2013-02-081-4/+4
| | | | | | | | | | In commit 8f4e39b6d716 the Wayland code was updated to use the new xkbcommon API. This involved changing the common XKB code shared with the evdev input backend. However the evdev input backend was not modified so it wouldn't compile. This patch just makes a minor change to update it. https://bugzilla.gnome.org/show_bug.cgi?id=693348
* build: Bump cogl requirementAdel Gadllah2013-02-061-1/+1
| | | | This is needed for the buffer_age changes.
* clutter-stage: Fix typoAdel Gadllah2013-02-061-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=669122
* stage-cogl: Reuse backbuffer contentsAdel Gadllah2013-02-065-32/+167
| | | | | | | | | | | | | | Use the buffer_age extension when available to recycle backbuffer contents instead of blitting from the back to front buffer when doing clipped redraws. The picking is now done in a pixel that is going to be repaired during the next redraw cycle for non static scences. This should improve performance and avoid tearing. Reviewed-by: Robert Bragg <robert@linux.intel.com> https://bugzilla.gnome.org/show_bug.cgi?id=669122