⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 swfdec-swfdecasobject.html

📁 Swfdec is a decoder/renderer for Macromedia Flash animations. The decoding and rendering engine is
💻 HTML
📖 第 1 页 / 共 4 页
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"><title>SwfdecAsObject</title><meta name="generator" content="DocBook XSL Stylesheets V1.72.0"><link rel="start" href="index.html" title="Swfdec Reference Manual"><link rel="up" href="ch03.html" title="Actionscript interpreter"><link rel="prev" href="SwfdecAsContext.html" title="SwfdecAsContext"><link rel="next" href="swfdec-SwfdecAsArray.html" title="SwfdecAsArray"><meta name="generator" content="GTK-Doc V1.9 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="chapter" href="ch01.html" title="Swfdec Gtk library"><link rel="chapter" href="ch02.html" title="Swfdec library"><link rel="chapter" href="ch03.html" title="Actionscript interpreter"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="SwfdecAsContext.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch03.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Swfdec Reference Manual</th><td><a accesskey="n" href="swfdec-SwfdecAsArray.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr><tr><td colspan="5" class="shortcuts"><nobr><a href="#id2573871" class="shortcut">Top</a>                  &#160;|&#160;                  <a href="#id2606424" class="shortcut">Description</a></nobr></td></tr></table><div class="refentry" lang="en"><a name="swfdec-SwfdecAsObject"></a><div class="titlepage"></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><a name="id2573871"></a><span class="refentrytitle">SwfdecAsObject</span></h2><p>SwfdecAsObject &#8212; the base object type for scriptable objects</p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">                    <a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a>;<a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a>*     <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-new">swfdec_as_object_new</a>                (<a href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context);<a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a>*     <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-new-empty">swfdec_as_object_new_empty</a>          (<a href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context);void                <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-create">swfdec_as_object_create</a>             (<a href="swfdec-SwfdecAsFunction.html#SwfdecAsFunction">SwfdecAsFunction</a> *fun,                                                         guint n_args,                                                         const <a href="swfdec-SwfdecAsValue.html#SwfdecAsValue">SwfdecAsValue</a> *args);void                <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-add">swfdec_as_object_add</a>                (<a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a> *object,                                                         <a href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context,                                                         gsize size);void                <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-set-constructor">swfdec_as_object_set_constructor</a>    (<a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a> *object,                                                         <a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a> *construct);enum                <a href="swfdec-SwfdecAsObject.html#SwfdecAsVariableFlag">SwfdecAsVariableFlag</a>;#define             <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-get-variable">swfdec_as_object_get_variable</a>       (object, variable, value)gboolean            <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-get-variable-and-flags">swfdec_as_object_get_variable_and_flags</a>                                                        (<a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a> *object,                                                         const char *variable,                                                         <a href="swfdec-SwfdecAsValue.html#SwfdecAsValue">SwfdecAsValue</a> *value,                                                         guint *flags,                                                         <a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a> **pobject);#define             <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-set-variable">swfdec_as_object_set_variable</a>       (object, variable, value)void                <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-set-variable-and-flags">swfdec_as_object_set_variable_and_flags</a>                                                        (<a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a> *object,                                                         const char *variable,                                                         const <a href="swfdec-SwfdecAsValue.html#SwfdecAsValue">SwfdecAsValue</a> *value,                                                         guint default_flags);void                <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-add-variable">swfdec_as_object_add_variable</a>       (<a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a> *object,                                                         const char *variable,                                                         <a href="swfdec-SwfdecAsFunction.html#SwfdecAsFunction">SwfdecAsFunction</a> *get,                                                         <a href="swfdec-SwfdecAsFunction.html#SwfdecAsFunction">SwfdecAsFunction</a> *set);void                <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-set-variable-flags">swfdec_as_object_set_variable_flags</a> (<a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a> *object,                                                         const char *variable,                                                         <a href="swfdec-SwfdecAsObject.html#SwfdecAsVariableFlag">SwfdecAsVariableFlag</a> flags);void                <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-unset-variable-flags">swfdec_as_object_unset_variable_flags</a>                                                        (<a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a> *object,                                                         const char *variable,                                                         <a href="swfdec-SwfdecAsObject.html#SwfdecAsVariableFlag">SwfdecAsVariableFlag</a> flags);<a href="swfdec-Enumerations.html#SwfdecAsDeleteReturn">SwfdecAsDeleteReturn</a> <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-delete-variable">swfdec_as_object_delete_variable</a>   (<a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a> *object,                                                         const char *variable);gboolean            (<a href="swfdec-SwfdecAsObject.html#SwfdecAsVariableForeach">*SwfdecAsVariableForeach</a>)          (<a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a> *object,                                                         const char *variable,                                                         <a href="swfdec-SwfdecAsValue.html#SwfdecAsValue">SwfdecAsValue</a> *value,                                                         guint flags,                                                         gpointer data);gboolean            <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-foreach">swfdec_as_object_foreach</a>            (<a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a> *object,                                                         <a href="swfdec-SwfdecAsObject.html#SwfdecAsVariableForeach">SwfdecAsVariableForeach</a> func,                                                         gpointer data);gboolean            <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-has-function">swfdec_as_object_has_function</a>       (<a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a> *object,                                                         const char *name);void                <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-run">swfdec_as_object_run</a>                (<a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a> *object,                                                         <a href="SwfdecAsDebugger.html#SwfdecScript">SwfdecScript</a> *script);void                <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-call">swfdec_as_object_call</a>               (<a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a> *object,                                                         const char *name,                                                         guint argc,                                                         <a href="swfdec-SwfdecAsValue.html#SwfdecAsValue">SwfdecAsValue</a> *argv,                                                         <a href="swfdec-SwfdecAsValue.html#SwfdecAsValue">SwfdecAsValue</a> *return_value);<a href="swfdec-SwfdecAsFunction.html#SwfdecAsFunction">SwfdecAsFunction</a>*   <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-add-function">swfdec_as_object_add_function</a>       (<a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a> *object,                                                         const char *name,                                                         GType type,                                                         <a href="swfdec-SwfdecAsFunction.html#SwfdecAsNative">SwfdecAsNative</a> native,                                                         guint min_args);<a href="swfdec-SwfdecAsFunction.html#SwfdecAsFunction">SwfdecAsFunction</a>*   <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-add-constructor">swfdec_as_object_add_constructor</a>    (<a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a> *object,                                                         const char *name,                                                         GType type,                                                         GType construct_type,                                                         <a href="swfdec-SwfdecAsFunction.html#SwfdecAsNative">SwfdecAsNative</a> native,                                                         guint min_args,                                                         <a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a> *prototype);char*               <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-get-debug">swfdec_as_object_get_debug</a>          (<a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a> *object);<a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a>*     <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-resolve">swfdec_as_object_resolve</a>            (<a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a> *object);</pre></div><div class="refsect1" lang="en"><a name="id2606424"></a><h2>Description</h2><p>This is the basic object type in Swfdec. Every object used by the script engine must be a <a href="swfdec-SwfdecAsObject.html#SwfdecAsObject"><span class="type">SwfdecAsObject</span></a>. It handles memory management and assigningvariables to it. Almost all functions that are called on objects require thatthe objects have been added to the garbage collector previously. For custom-created objects, you need to do this using <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-add"><code class="function">swfdec_as_object_add()</code></a>, built-in functions that create objects do this manually.</p><p>Note that you cannot know the lifetime of a <a href="swfdec-SwfdecAsObject.html#SwfdecAsObject"><span class="type">SwfdecAsObject</span></a>, since scripts may assign it as a variable to other objects. So you should not assume to know when an object gets removed.</p><p></p></div><div class="refsect1" lang="en"><a name="id2606480"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2606491"></a><h3><a name="SwfdecAsObject"></a>SwfdecAsObject</h3><a class="indexterm" name="id2606503"></a><pre class="programlisting">typedef struct {} SwfdecAsObject;</pre><p>Every object value inside the Swfdec script engine must be a SwfdecAsObject.If you want to add custom objects to your script engine, you need to create asubclass. The class provides a number of virtual functions that you can override to achieve the desired behaviour.</p><p></p></div><hr><div class="refsect2" lang="en"><a name="id2606527"></a><h3><a name="swfdec-as-object-new"></a>swfdec_as_object_new ()</h3><a class="indexterm" name="id2606539"></a><pre class="programlisting"><a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a>*     swfdec_as_object_new                (<a href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context);</pre><p>Allocates a new Object. This does the same as the Actionscript code "new <code class="function">Object()</code>".</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>context</code></em>&#160;:</span></td><td> a <a href="SwfdecAsContext.html" title="SwfdecAsContext"><span class="type">SwfdecAsContext</span></a></td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td><td> the new object or NULL on out of memory.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2626071"></a><h3><a name="swfdec-as-object-new-empty"></a>swfdec_as_object_new_empty ()</h3><a class="indexterm" name="id2626082"></a><pre class="programlisting"><a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a>*     swfdec_as_object_new_empty          (<a href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context);</pre><p>Creates an empty object. The prototype and constructor properties of thereturned object will not be set. You probably want to call <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-set-constructor"><code class="function">swfdec_as_object_set_constructor()</code></a> on the returned object yourself.You may want to use <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-new"><code class="function">swfdec_as_object_new()</code></a> instead.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>context</code></em>&#160;:</span></td><td> a <a href="SwfdecAsContext.html" title="SwfdecAsContext"><span class="type">SwfdecAsContext</span></a></td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td><td> A new <a href="swfdec-SwfdecAsObject.html#SwfdecAsObject"><span class="type">SwfdecAsObject</span></a> adde to <em class="parameter"><code>context</code></em> or <code class="literal">NULL</code> on OOM.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2626184"></a><h3><a name="swfdec-as-object-create"></a>swfdec_as_object_create ()</h3><a class="indexterm" name="id2626195"></a><pre class="programlisting">void                swfdec_as_object_create             (<a href="swfdec-SwfdecAsFunction.html#SwfdecAsFunction">SwfdecAsFunction</a> *fun,                                                         guint n_args,                                                         const <a href="swfdec-SwfdecAsValue.html#SwfdecAsValue">SwfdecAsValue</a> *args);</pre><p>Creates a new object for the given constructor and pushes the constructor ontop of the stack. To actually run the constructor, you need to call <a href="SwfdecAsContext.html#swfdec-as-context-run"><code class="function">swfdec_as_context_run()</code></a>. After the constructor has been run, the new object will be pushed to the top of the stack.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>fun</code></em>&#160;:</span></td><td> constructor</td></tr><tr><td><span class="term"><em class="parameter"><code>n_args</code></em>&#160;:</span></td><td> number of arguments</td></tr><tr><td><span class="term"><em class="parameter"><code>args</code></em>&#160;:</span></td><td> arguments to pass to constructor</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2626300"></a><h3><a name="swfdec-as-object-add"></a>swfdec_as_object_add ()</h3><a class="indexterm" name="id2626311"></a><pre class="programlisting">void                swfdec_as_object_add                (<a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a> *object,                                                         <a href="SwfdecAsContext.html" title="SwfdecAsContext">SwfdecAsContext</a> *context,                                                         gsize size);</pre><p>Takes over the reference to <em class="parameter"><code>object</code></em> for the garbage collector of <em class="parameter"><code>context</code></em>. The object may not already be part of a different context. The given <em class="parameter"><code>size</code></em> must have been allocated before with <a href="SwfdecAsContext.html#swfdec-as-context-use-mem"><code class="function">swfdec_as_context_use_mem()</code></a>.Note that after <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-add"><code class="function">swfdec_as_object_add()</code></a> the garbage collector might hold theonly reference to <em class="parameter"><code>object</code></em>.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>object</code></em>&#160;:</span></td><td> <a href="swfdec-SwfdecAsObject.html#SwfdecAsObject"><span class="type">SwfdecAsObject</span></a> to make garbage-collected</td></tr><tr>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -