Commit Graph

4725 Commits

Author SHA1 Message Date
Robert Bragg
63cc5ab698 blur: don't accumulate texture padding twice
This removes the create_texture implementation for ClutterBlurEffect
because we already account for padding in the get_paint_volume
implementation so we were creating textures larger than necessary.

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
2011-10-19 15:27:03 +01:00
Emmanuele Bassi
a18a8a3ae2 Avoid the shadowing of 'clone'
The clone() call can creep into the build environment, so it's a good
thing to avoid using 'clone' as a variable name.
2011-10-19 15:23:55 +01:00
Emmanuele Bassi
8083dd5178 docs: Improve documentation of LayoutManager
Especially with regards to layout properties and their usage inside a
ClutterScript UI definition.
2011-10-17 11:48:47 +01:00
Emmanuele Bassi
be4007ef53 Remove mentions of clutter_redraw() 2011-10-17 10:25:07 +01:00
Emmanuele Bassi
146e15297f debug: Clean up debugging notes 2011-10-17 10:24:25 +01:00
Emmanuele Bassi
1e51961f7a align-constraint: Add CLUTTER_ALIGN_BOTH
Just like ClutterBindConstraint has two shorthand enumerations for binding
position and size and avoid using multiple instances, ClutterAlignConstraint
should have a way to align an actor with the same alignment factor on both
axis at the same time; this is especially useful for centering actors.
2011-10-15 18:36:27 +01:00
Emmanuele Bassi
7f3363e1db Tag all deprecated symbols using CLUTTER_DEPRECATED
This requires some minor surgery in the build to disable the deprecation
warnings in the deprecated classes.
2011-10-14 11:34:38 +01:00
Emmanuele Bassi
a063f09611 debug: Move paint-deform-tiles to CLUTTER_PAINT
The CLUTTER_DEBUG class of debugging flags is meant for debugging notes,
while the CLUTTER_PAINT debugging flags are for changing the output of
the paint cycle. Painting the DeformEffect tiles should go in the latter.
2011-10-13 11:38:27 +01:00
Emmanuele Bassi
ef1a3a5477 docs: Include test-threads.c in the API reference
We can use the test-threads.c interactive test as part of the documentation
on how to use threads with Clutter.
2011-10-13 10:42:30 +01:00
Emmanuele Bassi
e0283993f4 Avoid using deprecated API internally
Use the proper API to implement deprecated functions.
2011-10-12 16:44:55 +01:00
Emmanuele Bassi
72da6f808e texture: Disable deprecation warnings
Sadly, ClutterTexture is still using internally deprecated API, like
clutter_actor_get_shader().
2011-10-12 12:36:41 +01:00
Emmanuele Bassi
53d9e88135 Remove _clutter_shader_release_all()
This function is called when the backend is being disposed - as a way
of releasing all ClutterShader. This doesn't take into account three
things:

  - ClutterShader is deprecated
  - the Backend is *never* disposed
  - once the process terminates, all its resources are automatically
    released by the OS

So the _clutter_shader_release_all() function is a pointless exercise
in futility.
2011-10-12 10:36:17 +01:00
Emmanuele Bassi
193b345786 Remove some compiler warnings
Some issues found using clang as the compiler.
2011-10-11 23:42:23 +01:00
Emmanuele Bassi
2ede853ea3 Fix included header 2011-10-11 23:11:56 +01:00
Emmanuele Bassi
af7afc29a7 Add a Clutter-specific deprecation macro for symbols
Just like GLIB_DEPRECATED and GLIB_DEPRECATED_FOR, Clutter should have
its own wrappers for G_DEPRECATED and G_DEPRECATED_FOR, to allow opting
out of deprecation warnings.

Deprecation warnings are enabled by default, now, even when building
Clutter.
2011-10-11 23:03:09 +01:00
Emmanuele Bassi
b34e89e0c5 Fix duplicate typedef of ClutterAlpha
Caught on OS X but not on my Fedora machine. Weird.
2011-10-11 23:02:17 +01:00
Emmanuele Bassi
7bd5659962 Do not leak strings from GKeyFile
The string getters always copy, so we need to free the returned
values.
2011-10-11 22:45:14 +01:00
Emmanuele Bassi
809298b5a2 Move more typedefs into clutter-types.h 2011-10-11 17:59:50 +01:00
Emmanuele Bassi
d28e04be72 Move all enumerations to a separate file
This should allow sharing types, and we can avoid glib-mkenums thrawling
the whole repository for enumerations.
2011-10-11 17:59:46 +01:00
Emmanuele Bassi
a21f1d1580 Move clutter-fixed.[ch] to the deprecated section 2011-10-11 17:58:40 +01:00
Emmanuele Bassi
62d72b8690 Move ClutterBehaviour to the deprecated section 2011-10-11 17:58:40 +01:00
Emmanuele Bassi
e268201221 Minor header surgery to ClutterBehaviour
This moves a couple of definitions to the common types header, and makes
sure that ClutterBehaviour subclasses include clutter-behaviour.h first,
so that their types can be fully expanded without necessarily have the
ClutterBehaviour header header included by their public headers. This is
the necessary prelude to have clutter-behaviour.[ch] moved to the
deprecated section.
2011-10-11 17:58:40 +01:00
Emmanuele Bassi
bcd7845d91 Move ClutterBehaviour subclasses to the deprecated section
Moving ClutterBehaviour itself will require some minor header surgery,
so we'll do that next.
2011-10-11 17:58:40 +01:00
Emmanuele Bassi
e57f8c26f6 Move ClutterShader to the deprecated section 2011-10-11 17:58:40 +01:00
Emmanuele Bassi
4b33a9c5f4 Move ClutterScore to the deprecated section 2011-10-11 17:58:39 +01:00
Emmanuele Bassi
4b748f4334 Move timeout pool to the deprecated section 2011-10-11 17:58:39 +01:00
Emmanuele Bassi
50cda9fed1 build: Move deprecated code into its own prefix
The code that has been deprecated should live into its own directory,
both in the repository and when installed. This should make it clear
which functionality is actually maintained and which is not.

We start with an oldie: the frame source API.
2011-10-11 17:58:35 +01:00
Emmanuele Bassi
372b39fd63 Add more sections to the Clutter configuration file
On top of the existing "Settings" group in the settings.ini file we
should have two more groups:

  Environment   - contains all the configuration possible through
                  environment variables
  Debug         - contains all the possible debug variables
2011-10-11 17:52:17 +01:00
Emmanuele Bassi
f5eee5aec7 Add a configuration file for ClutterSettings
ClutterSettings should be able to load its initial state by using
configuration files in SYSCONFDIR and XDG_CONFIG_HOME. This allows
Clutter to have a system (and user) configuration on platforms that
do not have XSETTINGS bridges.
2011-10-11 17:20:20 +01:00
Emmanuele Bassi
01080dc5f3 Deprecate clutter_[sg]et_font_flags()
We already have two mechanisms for controlling the font rendering
quality on a per-application basis:

  • ClutterSettings properties
  • clutter_backend_set_font_options()

The font flags were always a stop-gap solution, and one that tried to
simplify a fairly complex issue beyond the point of actually being
useful.

https://bugzilla.gnome.org/show_bug.cgi?id=660786
2011-10-11 17:19:42 +01:00
Emmanuele Bassi
6ef09dd15b Deprecate clutter_clear_glyph_cache()
This is a wrapper function for API that has long since been public.
2011-10-11 17:19:08 +01:00
Emmanuele Bassi
522b8be306 Deprecate clutter_get_input_device_for_id()
We have the ClutterDeviceManager methods for that.
2011-10-11 17:19:08 +01:00
Emmanuele Bassi
b6dd306998 Clean up grab implementation
The grab API is a relic of Clutter 0.6, and hasn't been through proper
vetting in a *long* time — mostly due to the fact that we don't really
like grabs, and point to the ::captured-event as a way to implement
"soft grabs" in toolkits and applications.

The implementation of full and device grabs uses weak references on
actors instead of using the ::destroy signal, which is meant exactly for
the case of releasing pointers to actors when they are disposed.

The API naming scheme is also fairly broken, especially for
device-related grabs.

Finally, keyboard device grabs are just not implemented.

We can, in one go, clean up this mess and deprecate a bunch of badly
named API by introducing generic device grab/ungrab methods on
ClutterInputDevice, and re-implement the current API on top of them.
2011-10-11 17:15:34 +01:00
Emmanuele Bassi
33846dcf4d Deprecate clutter_redraw()
It's just a badly named proxy to clutter_stage_ensure_redraw().
2011-10-10 15:48:43 +01:00
Emmanuele Bassi
51ca20e81e Cosmetic fixes 2011-10-10 15:42:36 +01:00
Emmanuele Bassi
b5109e852a animation: Use the timeline's new-frame signal
Instead of using the ClutterAlpha's notify::alpha. This makes the code
less dependent on GObject's property notification.
2011-10-07 16:56:21 +01:00
Emmanuele Bassi
7e3a75c66b Deprecate clutter_threads_init()
GLib deprecated g_thread_init(), and threading support is initialized
by GObject, so Clutter already runs with threading support enabled. We
can drop the clutter_threads_init() call requirement, and initialize the
Big Clutter Lock™ on clutter_init(). This reduces the things that have
to be done when dealing with threads with Clutter, and the things that
can possibly go wrong.
2011-10-07 15:57:32 +01:00
Emmanuele Bassi
32b8217027 Use a static mutex for the default Clutter lock
The Big Clutter Lock™ can now be a static GMutex, since GLib supports
them. We can also drop a bunch of checks given the recent changes in
GLib threading API.
2011-10-07 15:10:37 +01:00
Emmanuele Bassi
389d247278 texture: Drop G_MUTEX_INIT
The static initializer for GMutex has been removed from GLib.

The g_thread_supported() call can also be removed: threading is always
enabled in GLib ≥ 2.31.
2011-10-07 15:09:47 +01:00
Marc-André Lureau
6d974f278e Mark clutter_state_set_key() source_state_name as nullable
https://bugzilla.gnome.org/show_bug.cgi?id=661022
2011-10-07 12:11:52 +01:00
Zan Dobersek
25b7b30ccc Add clutter_unicode_to_keyval function
This commit introduces a unicode-to-keyval conversion function that
performs identical action as the gdk version of that function. Also
added is the necessary table holding all the conversion values.

https://bugzilla.gnome.org/show_bug.cgi?id=661015
2011-10-07 12:11:20 +01:00
Sunjin Yang
5dbc00e625 box-layout: Plug memory leaks
https://bugzilla.gnome.org/show_bug.cgi?id=660985
2011-10-07 11:53:02 +01:00
Emmanuele Bassi
938fcc60f0 Deprecate the GParamSpec for CoglFixed
The fixed-point API is not used anywhere, and it's pretty much useless
to have a fixed-point type for properties.
2011-10-04 10:32:27 +01:00
Håkon Løvdal
839b939d36 spelling fix: timeour -> timeout 2011-10-03 15:58:42 +01:00
Adel Gadllah
d331e92742 clutter-actor-meta: Fix _clutter_meta_group_has_metas_no_internal
This function is backwards i.e it is supposed to check for metas that
are *not* internal, hence the name.

https://bugzilla.gnome.org/show_bug.cgi?id=660623
2011-10-01 12:40:11 +02:00
Emmanuele Bassi
6377d3646b paint-volume: Don't try to complete a completed volume
If we do project() → get_bounding_box(), we'll try to complete the
volume twice, which whacks out all the lazily computed vertices.

Reviewed-by: Robert Bragg <robert@linux.intel.com>
2011-09-30 17:05:15 +01:00
Neil Roberts
8b995a9457 clutter-shader-effect: Add a get_static_shader_source virtual
This is used as an alternative to calling
clutter_shader_effect_set_shader_source. A ClutterShaderEffect
subclass is now expected to implement this method to return the source
for the effect that will be used for all instances of this
subclass. It is only called once regardless of the number of instances
created. That way Clutter can avoid recompiling the shader source for
every new instance of the effect.

https://bugzilla.gnome.org/show_bug.cgi?id=660512

Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
2011-09-30 11:51:37 +01:00
Adel Gadllah
e8ec7ebed0 ClutterActor: Add clutter_actor_has_actions
Adds an efficent way to query whether an actor has any
applied actions.

https://bugzilla.gnome.org/show_bug.cgi?id=660471
2011-09-29 19:34:32 +02:00
Adel Gadllah
e81800607c ClutterActor: Add clutter_actor_has_contraints
Adds an efficent way to query whether an actor has any
applied constraints.

https://bugzilla.gnome.org/show_bug.cgi?id=660471
2011-09-29 19:34:31 +02:00
Adel Gadllah
bed2d9e787 ClutterActor: Add clutter_actor_has_effects
Adds an efficent way to query whether an actor has any
applied effects.

https://bugzilla.gnome.org/show_bug.cgi?id=660471
2011-09-29 19:34:24 +02:00