Emmanuele Bassi
8429aa8d75
Remove unnecessary GLib version checks
...
We now depend on a newer version of GLib than those checks tested for.
2010-10-18 11:26:45 +01:00
Emmanuele Bassi
7dd09e2186
Use G_DEFINE_BOXED_TYPE for all boxed types
...
We actually need a couple more macros for registering GValue
transformation functions. Those should be added to upstream
GLib.
2010-10-18 11:26:45 +01:00
Emmanuele Bassi
af42cdbe87
docs: Description fixes for State.set_animator()
2010-09-20 14:31:53 +01:00
Bastian Winkler
695839c6f3
state: Request the animator for the default state
...
Try to use the default-state animator in case there is no animator for
this specific state change request.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2325
2010-09-20 14:25:21 +01:00
Bastian Winkler
172fc6bfed
state: Fix the usage of ClutterAnimator in ClutterScript
...
Fix the transition parser to allow transitions that have only an
animator and no keys defined.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2325
2010-09-20 14:25:20 +01:00
Bastian Winkler
2d41d5afcb
state: Create a new target state in clutter_state_set_animator
...
clutter_state_set_animator needs to create a new state in order to use a
ClutterAnimator with a target state that doesn't exist yet.
http://bugzilla.clutter-project.org/show_bug.cgi?id=2325
2010-09-20 14:25:19 +01:00
Emmanuele Bassi
8a5686d835
Further annotation fixes
2010-09-08 16:41:47 +01:00
Emmanuele Bassi
3e74f42f07
introspection: Add annotations
...
Reduce the amount of warnings coming from g-ir-scanner.
2010-09-03 12:14:50 +01:00
Øyvind Kolås
04d55107f3
state: clutter_state_remove_key_internal fix memory corruption
...
When we free a state because there are no more keys with it as a target use a
goto to re-initialize temporary variables that have become invalid.
Fixing bug #2273
2010-08-23 14:01:08 +01:00
Emmanuele Bassi
50c5ecfe87
state: Plug some memory leakage
...
Thanks to Valgrind, test-state-base now reports 0 bytes definitely lost.
2010-08-13 12:12:59 +01:00
Neil Roberts
8d51617979
Conditionally use g_object_notify_by_pspec
...
This adds a wrapper macro to clutter-private that will use
g_object_notify_by_pspec if it's compiled against a version of GLib
that is sufficiently new. Otherwise it will notify by the property
name as before by extracting the name from the pspec. The objects can
then store a static array of GParamSpecs and notify using those as
suggested in the documentation for g_object_notify_by_pspec.
Note that the name of the variable used for storing the array of
GParamSpecs is obj_props instead of properties as used in the
documentation because some places in Clutter uses 'properties' as the
name of a local variable.
Mose of the classes in Clutter have been converted using the script in
the bug report. Some classes have not been modified even though the
script picked them up as described here:
json-generator:
We probably don't want to modify the internal copy of JSON
behaviour-depth:
rectangle:
score:
stage-manager:
These aren't using the separate GParamSpec* variable style.
blur-effect:
win32/device-manager:
Don't actually define any properties even though it has the enum.
box-layout:
flow-layout:
Have some per-child properties that don't work automatically with
the script.
clutter-model:
The script gets confused with ClutterModelIter
stage:
Script gets confused because PROP_USER_RESIZE doesn't match
"user-resizable"
test-layout:
Don't really want to modify the tests
http://bugzilla.clutter-project.org/show_bug.cgi?id=2150
2010-08-10 17:12:06 +01:00
Emmanuele Bassi
1ca0c2a6d1
state: Return a boolean when getting the key value
...
Since the copy might fail, we should return a boolean value and not just
warn on the console - similarly to what ClutterAnimator does.
2010-08-08 19:17:14 +01:00
Emmanuele Bassi
fd27ca7398
Mark property strings for translation
...
Both the nick and the blurb fields should be translatable, for UI
builders and other introspection-based tools.
2010-07-15 14:07:07 +01:00
Øyvind Kolås
25dd0ae356
state: swap clutter_state_set_state and clutter_state_warp_to_state
...
Got the boolean arguments for the old clutter_state_change wrong,
making the methods do the opposite of what they should.
2010-07-12 17:34:17 +01:00
Øyvind Kolås
9e730727ca
state: add clutter_state_set_state and clutter_state_warp_to_state
...
Replaced clutter_state_change with a boolean argument for animating the
transition or not with two separate argument-less methods.
2010-07-07 18:17:09 +01:00
Øyvind Kolås
ec05230b97
state: added clutter_state_key_get_property_type
...
A function to retrieve the type of the value stored in a key, the
equivalent already exists for ClutterAnimator.
2010-07-06 14:14:34 +01:00
Øyvind Kolås
6d1f697bc4
state: automatically remove unused states
...
When there is no further keys with a state as the target state, remove
the state (and all transitions that used this state as a target)
2010-07-06 14:14:34 +01:00
Øyvind Kolås
38941372bf
state: rename property "target-state" to "state"
...
This reduces the amount of typing, and should provide for more readable
code for most uses of ClutterState.
2010-07-02 17:41:33 +01:00
Øyvind Kolås
b4607f7a37
state: avoid g_str_equal if a string might be NULL
2010-06-25 02:06:31 +01:00
Øyvind Kolås
1ad7eb969c
state: added more documentation
2010-06-24 16:52:48 +01:00
Øyvind Kolås
2a29cd2aee
state: removed special handling of state named "default"
...
The "default" state used for unspecified source transitions is NULL.
Small update and some other fixes to documentation.
2010-06-24 15:49:01 +01:00
Neil Roberts
e2dcd7e852
clutter-stage: Use g_array_free instead of g_array_unref
...
g_array_unref was only added in GLib 2.22 so we should really update
the requirements in the configure script if we want to use that
function. However the array doesn't appear to have any extra reference
taken on it anywhere so it should be safe to use g_array_free instead.
2010-06-18 16:03:07 +01:00
Øyvind Kolås
52d2e7d25d
state: add a duration property
...
Adding a duration property to ClutterState allows the json parsing
to parse the default transition duration with the generic code paths.
2010-06-16 17:45:46 +01:00
Øyvind Kolås
351b6c0543
state: avoid walking off empty list
...
When removing the last key in a list, the last part of the for statement
could cause dereferencing (NULL)->next and thus segfaulting.
2010-06-16 17:45:13 +01:00
Øyvind Kolås
2cee8b648e
state: consistently use clutter_state_get_state where possible
...
The previous commit reimplemented logic for creating states, this - and
other parts of the code should be using clutter_state_get_state.
2010-06-14 17:29:34 +01:00
Øyvind Kolås
d5c93f6d55
state: make null source state encounterd in json treated as wildcard
...
To be properly useful the state machine needs to be able to specify the
default transitions to a target state with no specified source state.
2010-06-14 15:49:20 +01:00
Emmanuele Bassi
b2c905ff50
Hide the marshallers
...
The marshallers we use for the signals are declared in a private header,
and it stands to reason that they should also be hidden in the shared
object by using the common '_' prefix. We are also using some direct
g_cclosure_marshal_* symbol from GLib, instead of consistently use the
clutter_marshal_* symbol.
2010-06-11 16:09:36 +01:00
Emmanuele Bassi
9510cbbad2
state: Minor fixes and documentation additions
...
Clean up the code a bit, and move common code paths into separate
function. Also, document clutter_state_set() with examples.
2010-05-26 13:43:42 +01:00
Øyvind Kolås
49a4c62319
state: fix clutter_state_change (state, "state-name", FALSE)
...
Properties were not being updated correctly.
2010-05-24 16:29:04 +01:00
Emmanuele Bassi
173e497ff4
state: Use Interval.compute() instead of compute_value()
...
Use the newly-added compute() variant to avoid creating a GValue only
for getting it copied by g_object_set_property().
2010-05-24 15:14:09 +01:00
Emmanuele Bassi
489c16c6a6
docs: Align parameter names between header and source code
2010-05-24 14:20:23 +01:00
Emmanuele Bassi
6ca425679e
script: Implement State deserialization
...
It should be possible to describe ClutterState transitions using
ClutterScript in a similar way as ClutterAnimator.
2010-05-21 14:13:14 +01:00
Øyvind Kolås
d156550633
state: added a "target-state" property
...
When set the ClutterState transitions to the new state.
2010-05-21 10:37:42 +01:00
Øyvind Kolås
9c4467707f
state: documented data structures
2010-05-21 10:34:13 +01:00
Emmanuele Bassi
ae3dc9bd5e
state: Documentation and introspection annotation fixes
2010-05-20 18:59:22 +01:00
Emmanuele Bassi
c2abb827a3
state: Minor coding style fixes
2010-05-20 18:34:34 +01:00
Emmanuele Bassi
3f36b4a841
state: Constify StateKey accessors
...
Since the accessors do not modify the StateKey we should constify the
argument.
2010-05-20 17:34:36 +01:00
Emmanuele Bassi
5c74f990d6
Do not include clutter.h from a Clutter header file
...
Clutter header files should just include the needed headers.
2010-05-20 17:34:02 +01:00
Øyvind Kolås
1dc8c0ff05
state-machine: made clutter_state_change take a boolean animate argument
...
Most of the time this will be TRUE, pass FALSE to change to the target
state immediately.
2010-05-20 16:24:29 +01:00
Øyvind Kolås
54bd541270
state-machine: use clutter_timeline_get_progress
2010-05-20 16:24:29 +01:00
Øyvind Kolås
8761b279a7
state-machine: add completed signal
...
Added a completed signal to the animator
2010-05-20 16:24:29 +01:00
Øyvind Kolås
fcdc3a8989
state machine: added state machine
2010-05-20 16:24:29 +01:00