1. 07 Jul, 2015 1 commit
    • Emmanuele Bassi's avatar
      Move header inclusion guard at the top · 02b69e4d
      Emmanuele Bassi authored
      GCC has some optimization for the inclusion guard, but they only work if
      the check is the outermost one.
      
      We're fairly inconsistent because of historical reasons, so we should
      ensure that we follow the same pattern in every public header.
      02b69e4d
  2. 03 Jan, 2015 1 commit
    • Emmanuele Bassi's avatar
      WARNING: Massive revert commit · 77ec8774
      Emmanuele Bassi authored
      Revert all the work that happened on the master branch.
      
      Sadly, this is the only way to merge the current development branch back
      into master.
      
      It is now abundantly clear that I merged the 1.99 branch far too soon,
      and that Clutter 2.0 won't happen any time soon, if at all.
      
      Since having the development happen on a separate branch throws a lot of
      people into confusion, let's undo the clutter-1.99 → master merge, and
      move back the development of Clutter to the master branch.
      
      In order to do so, we need to do some surgery to the Git repository.
      
      First, we do a massive revert in a single commit of all that happened
      since the switch to 1.99 and the API version bump done with the
      89a2862b commit. The history is too long
      to be reverted commit by commit without being extremely messy.
      77ec8774
  3. 17 Mar, 2014 1 commit
  4. 05 Apr, 2013 3 commits
  5. 27 Apr, 2012 1 commit
    • Emmanuele Bassi's avatar
      Deprecate State and Animator · 63e90957
      Emmanuele Bassi authored
      The PropertyTransition, KeyframeTransition, and TransitionGroup classes
      can effectively replace Animator and State in their common usage.
      63e90957
  6. 06 Mar, 2012 1 commit
    • Emmanuele Bassi's avatar
      script: Support translatable strings for properties · 76464041
      Emmanuele Bassi authored
      ClutterScript should be able to automatically call gettext() and friends
      on strings loaded from a UI definition, prior to passing the string to
      the object it is constructing.
      
      The basic implementation is trivial:
      
        - set a translation domain on the ClutterScript instance
        - mark the translatable strings inside the JSON data, like:
      
            "property" : {
              "translatable" : true,
              "string" : "a translatable string"
            }
      
      The hard part is now getting the tools we use to extract the
      translatable strings to understand the JSON format we use inside
      ClutterScript.
      76464041
  7. 27 Feb, 2012 1 commit
  8. 24 Jan, 2012 1 commit
    • Emmanuele Bassi's avatar
      script: Add loading from a resource · 8d8d4ae7
      Emmanuele Bassi authored
      GLib has gained support for compiling ancillary data files into the same
      binary blob as a library or as an executable.
      
      We should add this feature to ClutterScript, so that it's possible to
      bundle UI definitions with an application.
      8d8d4ae7
  9. 11 Oct, 2011 1 commit
  10. 13 Jun, 2011 2 commits
    • Emmanuele Bassi's avatar
      script: Rename "state" → "states" · b33973f9
      Emmanuele Bassi authored
      Make it clear that the key used when defining a state-based signal is
      linked to the states of a ClutterState.
      b33973f9
    • Emmanuele Bassi's avatar
      script: Allow resolving signals states added from code · 29d7c5a2
      Emmanuele Bassi authored
      Currently, defining states for object signals can only be done by
      defining a ClutterState inside the ClutterScript definition. We should
      allow creating a (named) ClutterState in code, and associating it to a
      ClutterScript instance — and have the Script resolve the "state" field
      of a signal definition correctly.
      29d7c5a2
  11. 07 Jun, 2011 1 commit
    • Emmanuele Bassi's avatar
      Eliminate G_CONST_RETURN · 2b81d90d
      Emmanuele Bassi authored
      The G_CONST_RETURN define in GLib is, and has always been, a bit fuzzy.
      
      We always used it to conform to the platform, at least for public-facing
      API.
      
      At first I assumed it has something to do with brain-damaged compilers
      or with weird platforms where const was not really supported; sadly,
      it's something much, much worse: it's a define that can be toggled at
      compile-time to remove const from the signature of public API. This is a
      truly terrifying feature that I assume was added in the past century,
      and whose inception clearly had something to do with massive doses of
      absynthe and opium — because any other explanation would make the
      existence of such a feature even worse than assuming drugs had anything
      to do with it.
      
      Anyway, and pleasing the gods, this dubious feature is being
      removed/deprecated in GLib; see bug:
      
        https://bugzilla.gnome.org/show_bug.cgi?id=644611
      
      Before deprecation, though, we should just remove its usage from the
      whole API. We should especially remove its usage from Cally's internals,
      since there it never made sense in the first place.
      2b81d90d
  12. 16 Mar, 2009 1 commit
  13. 30 Oct, 2008 1 commit
    • Emmanuele Bassi's avatar
      2008-10-30 Emmanuele Bassi <ebassi@linux.intel.com> · a32eca26
      Emmanuele Bassi authored
      	Bug 1212 - Allow only a single include file for Clutter
      
      	* clutter/*.h: Only allow including clutter.h in third
      	party code.
      
      	* clutter/cogl/cogl-color.h:
      	* clutter/cogl/cogl-fixed.h:
      	* clutter/cogl/cogl.h.in: Only allow including cogl.h in
      	third party code.
      
      	* clutter/cogl/common/Makefile.am:
      	* clutter/cogl/gl/Makefile.am:
      	* clutter/cogl/gles/Makefile.am:
      	* clutter/eglnative/Makefile.am:
      	* clutter/eglx/Makefile.am:
      	* clutter/fruity/Makefile.am:
      	* clutter/glx/Makefile.am:
      	* clutter/glx/clutter-glx.h:
      	* clutter/osx/Makefile.am:
      	* clutter/pango/Makefile.am:
      	* clutter/sdl/Makefile.am:
      	* clutter/win32/Makefile.am:
      	* clutter/x11/Makefile.am: Fix build environment.
      
      	* clutter/x11/clutter-x11-texture-pixmap.h:
      	* clutter/x11/clutter-x11.h: Fix inclusion rules.
      
      	* tests/test-pixmap.c: Fix inclusion of GdkPixbuf header.
      
      	* README: Update release notes.
      a32eca26
  14. 27 Aug, 2008 1 commit
    • Emmanuele Bassi's avatar
      2008-08-27 Emmanuele Bassi <ebassi@openedhand.com> · c34e1716
      Emmanuele Bassi authored
      	Bug 1099 - No ClutterScript API to get a list of IDs in a given file
      
      	* clutter/clutter-script.[ch]: Add clutter_script_list_objects(),
      	a function for retrieving all the objects built by a ClutterScript
      	instance. (Based on a patch by Noah Gibbs)
      c34e1716
  15. 24 Jun, 2008 1 commit
    • Emmanuele Bassi's avatar
      2008-06-24 Emmanuele Bassi <ebassi@openedhand.com> · 55218679
      Emmanuele Bassi authored
      	Bug 989 - Add a search path for clutter script assets
      
      	* clutter/clutter-script.h:
      	* clutter/clutter-script.c:
      	(clutter_script_finalize),
      	(clutter_script_add_search_paths),
      	(clutter_script_lookup_filename): Add the ability to define multiple
      	search paths inside ClutterScript and to look up a specific filename
      	inside those search paths. This is useful to define a set of
      	directories where the assets for a UI definition are and still
      	reference those assets by their name instead of the full path. (989,
      	based on a patch by Matthew Allum)
      
      	* clutter/clutter-texture.c:
      	(clutter_texture_set_custom_property): Use the newly added
      	clutter_script_lookup_filename() function.
      55218679
  16. 18 Jan, 2008 1 commit
  17. 06 Dec, 2007 1 commit
    • Emmanuele Bassi's avatar
      2007-12-06 Emmanuele Bassi <ebassi@openedhand.com> · 6fae4bcf
      Emmanuele Bassi authored
      	* clutter/json/json-parser.[ch]: Use gssize, size we allow -1
      	as a length (meaning "use the whole string").
      
      	(json_parser_load_from_data): Use the passed length instead of
      	using strlen() all the time.
      
      	* clutter/clutter-script.[ch]: Ditto as above.
      6fae4bcf
  18. 18 Nov, 2007 1 commit
    • Emmanuele Bassi's avatar
      2007-11-18 Emmanuele Bassi <ebassi@openedhand.com> · fd0e5284
      Emmanuele Bassi authored
      	* clutter/clutter-model.c: Add gtk-doc section for
      	ClutterModelIter
      
      	* clutter/clutter-script.h: Fix argument name.
      
      	* clutter/x11/clutter-x11.h:
      	* clutter/x11/clutter-event-x11.c:
      	* clutter/x11/clutter-backend-x11.c: Document functions and
      	types.
      fd0e5284
  19. 15 Nov, 2007 1 commit
    • Emmanuele Bassi's avatar
      2007-11-15 Emmanuele Bassi <ebassi@openedhand.com> · 960619b9
      Emmanuele Bassi authored
      	* clutter.symbols: Update with the new public symbols
      
      	* clutter/clutter-script.h:
      	* clutter/clutter-script-private.h:
      	* clutter/clutter-script.c:
      	(parse_signals), (json_object_end),
      	(signal_info_free), (object_info_free): Parse the "signals"
      	member for GObjects.
      
      	(clutter_script_connect_signals),
      	(clutter_script_connect_signals_full): Add new API for autoconnecting
      	signal handlers using the UI definition files.
      
      	* tests/test-script.c:
      	* tests/test-script.json: Test signal autoconnection.
      960619b9
  20. 14 Nov, 2007 1 commit
    • Emmanuele Bassi's avatar
      2007-11-14 Emmanuele Bassi <ebassi@openedhand.com> · b0e169d7
      Emmanuele Bassi authored
      	* clutter/clutter-scriptable.[ch]: Rename ::set_name and ::get_name
      	to ::set_id and ::get_id, to avoid potential confusion with the
      	ClutterActor:name property.
      
      	* clutter/clutter-script.h:
      	* clutter/clutter-script.c (clutter_script_construct_object): Use
      	clutter_scriptable_set_id().
      
      	(clutter_get_script_id): Add a public function to retrieve the ID
      	used in the UI definition files from an object.
      
      	* clutter/clutter-actor.c: Do not set the name of the actor with
      	the ID set in the UI definition files.
      
      	* tests/test-script.c: Test clutter_get_script_id().
      
      	* clutter.symbols: Update with the new symbols.
      b0e169d7
  21. 27 Oct, 2007 1 commit
    • Emmanuele Bassi's avatar
      2007-10-27 Emmanuele Bassi <ebassi@openedhand.com> · 35132fb5
      Emmanuele Bassi authored
      	* clutter/clutter-script.[ch]: Slight API change in the
      	clutter_script_get_objects() function: now it takes
      	object name/object return location pairs and returns the
      	number of objects found and returned.
      
      	* tests/test-script.c: Exercise the clutter_script_get_objects()
      	function.
      35132fb5
  22. 26 Oct, 2007 1 commit
    • Emmanuele Bassi's avatar
      2007-10-26 Emmanuele Bassi <ebassi@openedhand.com> · 6ab8c4d2
      Emmanuele Bassi authored
      	* clutter/clutter-script.h:
      	* clutter/clutter-script.c: Add a ::get_type_from_name() virtual
      	function for bindings to override. The current implementation
      	calls g_type_from_name() and our lazy class resolver.
      
      	* clutter.symbols: Update.
      
      	* doc/reference/clutter-sections.txt: Update.
      6ab8c4d2
  23. 18 Oct, 2007 1 commit
    • Emmanuele Bassi's avatar
      2007-10-18 Emmanuele Bassi <ebassi@openedhand.com> · f1105807
      Emmanuele Bassi authored
      	* clutter/clutter-script-private.h:
      	* clutter/clutter-script.h:
      	* clutter/clutter-script.c: Allow id-less objects: as long
      	as they have a "type" member, a unique id will be provided.
      
      	(json_object_end): Add merge id to the object information
      	structure.
      
      	(apply_behaviours), (add_children): Keep the unresolved
      	objects around.
      
      	(construct_stage), (clutter_script_construct_object): If an
      	object has unresolved children or behaviours try resolving
      	them when we ask for it.
      
      	(json_parse_end), (clutter_script_ensure_objects): Ensure
      	that the objects are fully constructed as best as we can when
      	finished parsing.
      
      	(object_info_free), (remove_by_merge_id):
      	(clutter_script_unmerge_objects): Remove objects under the
      	same merge id returned by the loading functions. (Fixes
      	bug #558)
      f1105807
  24. 09 Oct, 2007 1 commit
    • Emmanuele Bassi's avatar
      2007-10-09 Emmanuele Bassi <ebassi@openedhand.com> · ac9aa06f
      Emmanuele Bassi authored
      	* clutter/clutter-script-private.h:
      	* clutter/clutter-script.h:
      	* clutter/clutter-script.c: Add licensing information to
      	the newly added files.
      
      	* clutter/clutter-script.c: Support creating behaviours with
      	ClutterScript. ClutterAlpha objects are implicit, but
      	timelines can be both explicit objects using their id or
      	implicit objects. Make the property resolution and translation
      	more robust. Support the pixbuf property.
      
      	* tests/test-script.c: Test the newly added features.
      
      	* docs/reference/clutter-docs.sgml:
      	* docs/reference/clutter-sections.txt: Add ClutterScript.
      ac9aa06f
  25. 08 Oct, 2007 1 commit
    • Emmanuele Bassi's avatar
      2007-10-08 Emmanuele Bassi <ebassi@openedhand.com> · 991562f5
      Emmanuele Bassi authored
      	Initial implementation of the UI definition files. (#424)
      
      	* clutter/json/Makefile.am:
      	* clutter/json/*.[ch]: In-tree copy of JSON-GLib, a GLib-based
      	JSON parser/generator library. We use it in-tree because we might
      	need to change the API. Ideally, we'd depend on it.
      
      	* clutter/clutter.h:
      	* clutter/clutter-script-private.h:
      	* clutter/clutter-script.[ch]: ClutterScript, the scenegraph
      	generator class. It parses JSON streams in form of buffers and
      	files and builds the scene.
      
      	* clutter/clutter-debug.h:
      	* clutter/clutter-main.c: Add a "script" debug flag
      
      	* clutter/Makefile.am: Build glue.
      
      	* tests/Makefile.am:
      	* tests/test-script.c: Add a test case for the ClutterScript.
      
      	* configure.ac: Depend on GLib 2.14, so we can use the
      	g_hash_table_get_key() and g_hash_table_get_values() functions
      	for the time being; we can probably reimplement those, but we
      	are going to need 2.14 anyway if we are going to implement a
      	list model using GSequence.
      991562f5