summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Remove use of the deprecated function cogl_clip_push_window_rectanglewip/cogl2tomeu/cogl2Tomeu Vizoso2012-06-114-8/+15
| | | | Use cogl_framebuffer_push_scissor_clip instead.
* Remove use of the deprecated function cogl_get_bitmasksTomeu Vizoso2012-06-111-3/+5
| | | | Instead, use the cogl_framebuffer_get_*_bits functions.
* Add a material compatibility when building with --enable-cogl2Neil Roberts2012-04-304-1/+1477
| | | | | | | | | | | The material compatibility layer for CoglPipelines has been removed in Cogl 2.0. This patch copies it into Clutter when --enable-cogl2 is enabled to increase the chance that a Clutter application will work unmodified with the Cogl 2.0 API. The API for setting a user program is not included because there are no longer any equivalent pipeline functions. Also any API that was using CoglMaterialLayer is not included because the wrappers from Cogl were using internal functions to access the layers in that case.
* Add a --enable-cogl2 configure option to build against Cogl 2.0Neil Roberts2012-04-3019-52/+276
| | | | | | | | | | | | | | | | | | | | | | | | | | | The Cogl master branch has started removing API in preparation for a Cogl 2.0 release which will be incompatible with the current API. Clutter is already internally mostly using the new API via experimental features so it can more or less already compile against 2.0. However the old Cogl API is effectively part of the Clutter API because that is what actors use for drawing so Clutter can not silently switch to a new Cogl API. To make testing the new Cogl API easier it is still convenient to be able to build against Cogl 2.0 for apps that don't care about the API break. This adds an experimental configure option to make Clutter use the next version of Cogl. When this is enabled CLUTTER_COGL2 will be defined from the public Cogl headers so an application can decide to use the newer Cogl API. Clutter internally now uses this in some places where the new API is not available as experimental API. This patch does not update any tests which depend on the old API but instead just skips building them when the option is enabled. Some features of Clutter are removed when the option is enabled. These include ClutterShader and ClutterFixed. The Cogl compatibility header has been expanded to define more wrappers when CLUTTER_COGL2 is defined.
* clutter-shader-effect: Use CoglSnippetsNeil Roberts2012-04-302-253/+264
| | | | | | | | | | | | | | | | | | | | | Instead of using the legacy CoglProgram API, ClutterShaderEffect now creates a pipeline with a CoglSnippet. The source code from the application is written as if it was a complete shader source in the global scope rather than as a snippet so the code is now wrapped between a #define main .. and a #undef main so that it won't collide with the main function that Cogl generates. This wrapped source is then set as the declarations section on the snippet. Previously the effect would store the application's uniform values in a hash table and then flush them to the program whenever the effect is painted. This has been removed and now the values are directly stored on the pipeline which belongs to the effect. Each instance of the effect gets its own pipeline so there is no need to have the extra indirection of the hash table. The effect API has a public function to retrieve the CoglProgram. In order to avoid breaking this function the snippet is now copied into a CoglShader and CoglProgram on demand whenever they are requested.
* tests: Add a test for clutter_shader_effect_get_programNeil Roberts2012-04-301-0/+76
| | | | | | | | This adds another custom ClutterShaderEffect to the actor-shader-effect test that calls clutter_shader_effect_get_program to render the shader with its own material. The material has a non-default color set to verify that the shader is being used from the custom material.
* offscreen-effect: Make get_target virtualNeil Roberts2012-04-302-6/+14
| | | | | | | The clutter_offscreen_effect_get_target function now goes through a virtual method. This will be useful so that ClutterShaderEffect can directly return a target with the right program attached instead of having to modify the material returned by ClutterOffscreenEffect.
* Updated Brazilian Portuguese translationJonh Wendell2012-04-281-548/+593
|
* Updated Galician translationsFran Diéguez2012-04-271-560/+602
|
* Updated Spanish translationDaniel Mustieles2012-04-271-570/+614
|
* animatable: Disable deprecation warningsEmmanuele Bassi2012-04-271-0/+2
| | | | We are using deprecated API internally.
* Updated POTFILES.inPiotr Drąg2012-04-271-5/+6
|
* Disable deprecation warnings in deprecated classesEmmanuele Bassi2012-04-275-2/+12
| | | | We know we're using deprecated symbols.
* docs: Mention that patches must pass the conformance testsEmmanuele Bassi2012-04-271-0/+9
| | | | | | People submitting patches should do a conformance test suite run, until we have a buildbot and a way of running the conformance tests on a headless setup.
* docs: Add missing symbols to the sections fileEmmanuele Bassi2012-04-271-2/+10
|
* docs: Specify scroll_to_point() coordinate spaceEmmanuele Bassi2012-04-271-0/+2
|
* Deprecate ClutterAlphaEmmanuele Bassi2012-04-2717-8/+63
| | | | | | | | | It's time. Now that we have clutter_actor_allocate() respecting the easing state of an actor, and that the LayoutManager animation virtual functions have been deprecated, we can put ClutterAlpha on the chopping block, and be done with it, once and for all. So long, ClutterAlpha; and thanks for all the fish.
* docs: Clean up indexEmmanuele Bassi2012-04-271-1/+1
| | | | Move CairoTexture to the deprecated section.
* docs: Add ScrollActor to the API referenceEmmanuele Bassi2012-04-273-0/+24
|
* Add ClutterScrollActorEmmanuele Bassi2012-04-279-1/+787
| | | | | ClutterScrollActor is an actor that allows showing a portion of its contents.
* interactive/table-layout: Enable animationsEmmanuele Bassi2012-04-271-0/+1
|
* layout-manager: Deprecate the layout animationEmmanuele Bassi2012-04-272-3/+20
| | | | | | | | | | | | | | This semi-aborted API was broken for various reasons: - it strongly depended on ClutterAlpha, a class we're trying to deprecate; - it requires a lot of boilerplate and copy-and-paste code; - it requires a full relayout of the actor tree for something that ought to be automatically handled by ClutterActor. Now that clutter_actor_allocate() handles transitions using the easing state of the actor, we can deprecate the LayoutManager API for the 1.x series, and remove it for the 2.x series.
* table-layout: Deprecate the animation APIEmmanuele Bassi2012-04-272-161/+62
| | | | Similar to what we did for ClutterBoxLayout.
* box-layout: Deprecate the animation APIEmmanuele Bassi2012-04-272-168/+62
| | | | | | BoxLayout will use the easing state of the children it's allocating; the current API is re-implemented in terms of an implicit easing state forced on each child prior to allocating it.
* actor: Make :allocation animatableEmmanuele Bassi2012-04-271-14/+43
| | | | | | | | | | | | | | | | | | | | | | Calling clutter_actor_allocate() should transition between the current allocation and the new allocation, by using the defined implementation of the easing state. This means that: clutter_actor_save_easing_state (actor); clutter_actor_allocate (actor, &new_alloc, flags); clutter_actor_restore_easing_state (actor); will cause "actor" to transition between the current allocation and the desired new allocation. The trick is to ensure that this happens without invalidating the entire actor tree, but only the portion of the tree that has the transitioned actor as the local root. For this reason, we just call the allocate() implementation from within the transition frame advancement, without invalidating flags: the actor, after all, *has* a valid allocation for the duration of the transition.
* actor: Ignore allocation flagsEmmanuele Bassi2012-04-271-6/+4
| | | | | | Allocation flags are informative, and are only meant to be used to communicate additional information about the allocation process to an actor.
* actor: Coalesce needs_[xy]_expand() into one methodEmmanuele Bassi2012-04-274-47/+30
| | | | Use the orientation enumeration instead of a per-axis method.
* box-layout: Add the :orientation propertyEmmanuele Bassi2012-04-274-103/+229
| | | | | | And deprecate the :vertical property. An enumeration is clearer, and we can use it elsewhere in the API.
* bin-layout: Deprecate BinLayout alignmentsEmmanuele Bassi2012-04-276-15/+76
| | | | We should use the ClutterActor's API for this.
* docs: XInclude the bin layout exampleEmmanuele Bassi2012-04-271-29/+3
|
* interactive/bin-layout: Improve the example codeEmmanuele Bassi2012-04-272-103/+135
| | | | | Use modern API; clean up the code, and document it so that it's possible to XInclude it into the API reference.
* bin-layout: Use the actor align/expand flagsEmmanuele Bassi2012-04-271-5/+49
| | | | | If an actor is set to expand, we use the actor's horizontal and vertical alignment values instead of the BinLayout's.
* actor: Add private get_effective_x_align() methodEmmanuele Bassi2012-04-272-0/+18
| | | | | A method to retrieve the effective horizontal alignment of the actor, taking into consideration the text direction.
* actor: Add basic automatic expand flagsEmmanuele Bassi2012-04-274-7/+444
| | | | | | | | | | | | The :x-expand and :y-expand flags on ClutterActor are used to signal that an actor should expand horizontally and/or vertically - i.e. that its parent's layout management policy should try to assign extra space to the actor when allocating it. The expand flags are automatic: when set on a leaf node in the actor tree, they will bubble up through the parent and grandparents up to the top level actor; during allocation, the actors with children will lazily compute whether their children needs to expand.
* actor: Remove automatic transition init from add_transition()Emmanuele Bassi2012-04-272-17/+1
| | | | | Adding an explicit transition overrides any consideration of the easing state of an actor.
* Fixes for the API referenceEmmanuele Bassi2012-04-2716-54/+204
| | | | Typos, missing symbols, and missing documentation.
* docs: Clean up the animation sectionEmmanuele Bassi2012-04-271-12/+6
|
* Add deprecation annotationsEmmanuele Bassi2012-04-275-1/+176
|
* Deprecate ClutterAnimation, as well as clutter_actor_animate()Emmanuele Bassi2012-04-278-205/+193
| | | | | | ClutterPropertyTransition, and the implicit animation API based on ClutterTransition and ClutterAnimatable, are enough to replace this whole API.
* Deprecate State and AnimatorEmmanuele Bassi2012-04-279-11/+20
| | | | | The PropertyTransition, KeyframeTransition, and TransitionGroup classes can effectively replace Animator and State in their common usage.
* keyframe-transition: Add direct accessors for key framesEmmanuele Bassi2012-04-274-0/+125
| | | | | This should allow modifying key frame details without requiring a full reset of the KeyframeTransition instance.
* Add ClutterTransitionGroupEmmanuele Bassi2012-04-2710-12/+406
| | | | | | | | | | The TransitionGroup class is a logical container for running multiple transitions. TransitionGroup is not a Score: it is a Transition that advances each Transition it contains using the delta between frames, and ensures that all transitions are in a consistent state; these transitions are not advanced by the master clock.
* timeline: Add an internal function for advancing a timelineEmmanuele Bassi2012-04-272-4/+25
| | | | | | | There are cases when we want to advance a timeline from another time source. We cannot use _clutter_timeline_do_tick() directly, as that assumes that the timeline is already playing, so we'll need to create a wrapper that toggles the playing flag around it.
* Add ClutterKeyframeTransitionEmmanuele Bassi2012-04-2711-3/+853
| | | | | A simple transition class that interpolates a property between key frames.
* interval: Allow passing NULL values to the constructorEmmanuele Bassi2012-04-271-8/+9
| | | | | | | Given that we can create a ClutterInterval without an initial and final values using g_object_new(), it stands to reason that we ought to be able to create an instance when passing NULL GValue pointers to the new_with_values() constructor as well.
* easing: Add utility functionsEmmanuele Bassi2012-04-274-112/+92
| | | | | We end up copying the same array-of-modes-and-functions code in various places, so it's better to factor it out.
* actor: Make add_transition() work regardless of easing stateEmmanuele Bassi2012-04-271-12/+12
| | | | | We can add transitions to an actor even if the easing state hasn't been set beforehand.
* docs: Use the Transition convenience APIEmmanuele Bassi2012-04-271-3/+4
|
* transition: Add interval convenience APIEmmanuele Bassi2012-04-272-0/+249
| | | | | This should cut down the lines and number of objects we have to care about when dealing with explicit transitions.
* docs: Add a reference section for geometric typesEmmanuele Bassi2012-04-273-74/+135
|