7aa52af5dd
* clutter/json/json-parser.c: Use the commodity JsonNode API and accept bare values as root nodes. * clutter/clutter-script-private.h: * clutter/clutter-script.c: Unreference the created objects only if they are top-levels, like ClutterBehaviour and ClutterTimelines. Actors have floating references, so we just transfer ownership to their containers, and the stage is owned by the backend. Add the "type_func" key to the object definition, so the user can supply its own GType function if the class name doesn't follow the GObject rules. Document the ClutterScript public API.
66 lines
1.7 KiB
C
66 lines
1.7 KiB
C
/*
|
|
* Clutter.
|
|
*
|
|
* An OpenGL based 'interactive canvas' library.
|
|
*
|
|
* Authored By Matthew Allum <mallum@openedhand.com>
|
|
*
|
|
* Copyright (C) 2006 OpenedHand
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the
|
|
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
* Boston, MA 02111-1307, USA.
|
|
*/
|
|
|
|
#ifndef __CLUTTER_SCRIPT_PRIVATE_H__
|
|
#define __CLUTTER_SCRIPT_PRIVATE_H__
|
|
|
|
#include <glib-object.h>
|
|
#include "clutter-script.h"
|
|
|
|
G_BEGIN_DECLS
|
|
|
|
typedef GType (* GTypeGetFunc) (void);
|
|
|
|
typedef struct {
|
|
gchar *id;
|
|
gchar *class_name;
|
|
gchar *type_func;
|
|
|
|
GList *properties;
|
|
GList *children;
|
|
GList *behaviours;
|
|
|
|
GType gtype;
|
|
GObject *object;
|
|
|
|
guint is_toplevel : 1;
|
|
} ObjectInfo;
|
|
|
|
typedef struct {
|
|
gchar *property_name;
|
|
GValue value;
|
|
} PropertyInfo;
|
|
|
|
GObject *clutter_script_construct_object (ClutterScript *script,
|
|
ObjectInfo *info);
|
|
|
|
gboolean clutter_script_enum_from_string (GType gtype,
|
|
const gchar *string,
|
|
gint *enum_value);
|
|
|
|
G_END_DECLS
|
|
|
|
#endif /* __CLUTTER_SCRIPT_PRIVATE_H__ */
|