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

📄 swfdec-swfdecasframe.html

📁 Swfdec is a decoder/renderer for Macromedia Flash animations. The decoding and rendering engine is
💻 HTML
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"><title>SwfdecAsFrame</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="swfdec-SwfdecAsFunction.html" title="SwfdecAsFunction"><link rel="next" href="SwfdecAsDebugger.html" title="SwfdecAsDebugger"><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="swfdec-SwfdecAsFunction.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="SwfdecAsDebugger.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="#id2562921" class="shortcut">Top</a>                  &#160;|&#160;                  <a href="#id2619034" class="shortcut">Description</a></nobr></td></tr></table><div class="refentry" lang="en"><a name="swfdec-SwfdecAsFrame"></a><div class="titlepage"></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><a name="id2562921"></a><span class="refentrytitle">SwfdecAsFrame</span></h2><p>SwfdecAsFrame &#8212; information about currently executing frames</p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis">                    <a href="swfdec-SwfdecAsFrame.html#SwfdecAsFrame">SwfdecAsFrame</a>;<a href="swfdec-SwfdecAsFrame.html#SwfdecAsFrame">SwfdecAsFrame</a>*      <a href="swfdec-SwfdecAsFrame.html#swfdec-as-frame-get-next">swfdec_as_frame_get_next</a>            (<a href="swfdec-SwfdecAsFrame.html#SwfdecAsFrame">SwfdecAsFrame</a> *frame);const char*         <a href="swfdec-SwfdecAsFrame.html#swfdec-as-frame-get-function-name">swfdec_as_frame_get_function_name</a>   (<a href="swfdec-SwfdecAsFrame.html#SwfdecAsFrame">SwfdecAsFrame</a> *frame);<a href="SwfdecAsDebugger.html#SwfdecScript">SwfdecScript</a>*       <a href="swfdec-SwfdecAsFrame.html#swfdec-as-frame-get-script">swfdec_as_frame_get_script</a>          (<a href="swfdec-SwfdecAsFrame.html#SwfdecAsFrame">SwfdecAsFrame</a> *frame);<a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a>*     <a href="swfdec-SwfdecAsFrame.html#swfdec-as-frame-get-this">swfdec_as_frame_get_this</a>            (<a href="swfdec-SwfdecAsFrame.html#SwfdecAsFrame">SwfdecAsFrame</a> *frame);                    <a href="swfdec-SwfdecAsFrame.html#SwfdecAsStackIterator">SwfdecAsStackIterator</a>;<a href="swfdec-SwfdecAsValue.html#SwfdecAsValue">SwfdecAsValue</a>*      <a href="swfdec-SwfdecAsFrame.html#swfdec-as-stack-iterator-init">swfdec_as_stack_iterator_init</a>       (<a href="swfdec-SwfdecAsFrame.html#SwfdecAsStackIterator">SwfdecAsStackIterator</a> *iter,                                                         <a href="swfdec-SwfdecAsFrame.html#SwfdecAsFrame">SwfdecAsFrame</a> *frame);<a href="swfdec-SwfdecAsValue.html#SwfdecAsValue">SwfdecAsValue</a>*      <a href="swfdec-SwfdecAsFrame.html#swfdec-as-stack-iterator-init-arguments">swfdec_as_stack_iterator_init_arguments</a>                                                        (<a href="swfdec-SwfdecAsFrame.html#SwfdecAsStackIterator">SwfdecAsStackIterator</a> *iter,                                                         <a href="swfdec-SwfdecAsFrame.html#SwfdecAsFrame">SwfdecAsFrame</a> *frame);<a href="swfdec-SwfdecAsValue.html#SwfdecAsValue">SwfdecAsValue</a>*      <a href="swfdec-SwfdecAsFrame.html#swfdec-as-stack-iterator-next">swfdec_as_stack_iterator_next</a>       (<a href="swfdec-SwfdecAsFrame.html#SwfdecAsStackIterator">SwfdecAsStackIterator</a> *iter);</pre></div><div class="refsect1" lang="en"><a name="id2619034"></a><h2>Description</h2><p>This section is only interesting for people that want to look into debugging.A SwfdecAsFrame describes a currently executing function while it isrunning. On every new function call, a new frame is created and pushed on topof the frame stack. To get the topmost one, use <a href="SwfdecAsContext.html#swfdec-as-context-get-frame"><code class="function">swfdec_as_context_get_frame()</code></a>. After that you can inspect various propertiesof the frame, like the current stack.</p><p>a <a href="swfdec-SwfdecAsFrame.html#SwfdecAsFrame"><span class="type">SwfdecAsFrame</span></a> is a <a href="swfdec-SwfdecAsObject.html#SwfdecAsObject"><span class="type">SwfdecAsObject</span></a>, so it is possible to set variables onit. These are local variables inside the executing function. So you can usefunctions such as <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-get-variable"><code class="function">swfdec_as_object_get_variable()</code></a> to inspect them.</p><p></p></div><div class="refsect1" lang="en"><a name="id2621187"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2621197"></a><h3><a name="SwfdecAsFrame"></a>SwfdecAsFrame</h3><a class="indexterm" name="id2621210"></a><pre class="programlisting">typedef struct _SwfdecAsFrame SwfdecAsFrame;</pre><p>the object used to represent an executing function.</p><p></p></div><hr><div class="refsect2" lang="en"><a name="id2621231"></a><h3><a name="swfdec-as-frame-get-next"></a>swfdec_as_frame_get_next ()</h3><a class="indexterm" name="id2621242"></a><pre class="programlisting"><a href="swfdec-SwfdecAsFrame.html#SwfdecAsFrame">SwfdecAsFrame</a>*      swfdec_as_frame_get_next            (<a href="swfdec-SwfdecAsFrame.html#SwfdecAsFrame">SwfdecAsFrame</a> *frame);</pre><p>Gets the next frame in the frame stack. The next frame is the frame thatwill be executed after this <em class="parameter"><code>frame</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>frame</code></em>&#160;:</span></td><td> a <a href="swfdec-SwfdecAsFrame.html#SwfdecAsFrame"><span class="type">SwfdecAsFrame</span></a></td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td><td> the next <a href="swfdec-SwfdecAsFrame.html#SwfdecAsFrame"><span class="type">SwfdecAsFrame</span></a> or <code class="literal">NULL</code> if this is the bottommost frame.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2624308"></a><h3><a name="swfdec-as-frame-get-function-name"></a>swfdec_as_frame_get_function_name ()</h3><a class="indexterm" name="id2624319"></a><pre class="programlisting">const char*         swfdec_as_frame_get_function_name   (<a href="swfdec-SwfdecAsFrame.html#SwfdecAsFrame">SwfdecAsFrame</a> *frame);</pre><p>Gets the name of the function that is currently executing. This function isintended for debugging purposes.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>frame</code></em>&#160;:</span></td><td> a <a href="swfdec-SwfdecAsFrame.html#SwfdecAsFrame"><span class="type">SwfdecAsFrame</span></a></td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td><td> a string. Do not free.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2624389"></a><h3><a name="swfdec-as-frame-get-script"></a>swfdec_as_frame_get_script ()</h3><a class="indexterm" name="id2624400"></a><pre class="programlisting"><a href="SwfdecAsDebugger.html#SwfdecScript">SwfdecScript</a>*       swfdec_as_frame_get_script          (<a href="swfdec-SwfdecAsFrame.html#SwfdecAsFrame">SwfdecAsFrame</a> *frame);</pre><p>Gets the script associated with the given <em class="parameter"><code>frame</code></em>. If the frame referencesa native function, there will be no script and this function returns <code class="literal">NULL</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>frame</code></em>&#160;:</span></td><td> a <a href="swfdec-SwfdecAsFrame.html#SwfdecAsFrame"><span class="type">SwfdecAsFrame</span></a></td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td><td> The script executed by this frame or <code class="literal">NULL</code></td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2624494"></a><h3><a name="swfdec-as-frame-get-this"></a>swfdec_as_frame_get_this ()</h3><a class="indexterm" name="id2623862"></a><pre class="programlisting"><a href="swfdec-SwfdecAsObject.html#SwfdecAsObject">SwfdecAsObject</a>*     swfdec_as_frame_get_this            (<a href="swfdec-SwfdecAsFrame.html#SwfdecAsFrame">SwfdecAsFrame</a> *frame);</pre><p>Gets the this object of the given <em class="parameter"><code>frame</code></em>. If the frame has no this object,<code class="literal">NULL</code> is returned.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>frame</code></em>&#160;:</span></td><td> a <a href="swfdec-SwfdecAsFrame.html#SwfdecAsFrame"><span class="type">SwfdecAsFrame</span></a></td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td><td> The this object of the frame or <code class="literal">NULL</code> if none.</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2623953"></a><h3><a name="SwfdecAsStackIterator"></a>SwfdecAsStackIterator</h3><a class="indexterm" name="id2623964"></a><pre class="programlisting">typedef struct {} SwfdecAsStackIterator;</pre><p>This is a struct used to walk the stack of a frame. It is supposed to be allocated on the stack. All of its members are private.</p><p></p></div><hr><div class="refsect2" lang="en"><a name="id2623986"></a><h3><a name="swfdec-as-stack-iterator-init"></a>swfdec_as_stack_iterator_init ()</h3><a class="indexterm" name="id2623997"></a><pre class="programlisting"><a href="swfdec-SwfdecAsValue.html#SwfdecAsValue">SwfdecAsValue</a>*      swfdec_as_stack_iterator_init       (<a href="swfdec-SwfdecAsFrame.html#SwfdecAsStackIterator">SwfdecAsStackIterator</a> *iter,                                                         <a href="swfdec-SwfdecAsFrame.html#SwfdecAsFrame">SwfdecAsFrame</a> *frame);</pre><p>Initializes <em class="parameter"><code>iter</code></em> to walk the stack of <em class="parameter"><code>frame</code></em>. The first value on the stackwill alread be returned. This makes it possible to write a simple loop to print the whole stack:</p><div class="informalexample"><pre class="programlisting">for (value = swfdec_as_stack_iterator_init (&amp;iter, frame); value != NULL;    value = swfdec_as_stack_iterator_next (&amp;iter)) {  char *s = swfdec_as_value_to_debug (value);  g_print ("%s\n", s);  g_free (s);}</pre></div><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>iter</code></em>&#160;:</span></td><td> a <span class="type">SwfdecStackIterator</span></td></tr><tr><td><span class="term"><em class="parameter"><code>frame</code></em>&#160;:</span></td><td> the frame to initialize from</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td><td> the topmost value on the stack of <em class="parameter"><code>frame</code></em> or <code class="literal">NULL</code> if none</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2624799"></a><h3><a name="swfdec-as-stack-iterator-init-arguments"></a>swfdec_as_stack_iterator_init_arguments ()</h3><a class="indexterm" name="id2624812"></a><pre class="programlisting"><a href="swfdec-SwfdecAsValue.html#SwfdecAsValue">SwfdecAsValue</a>*      swfdec_as_stack_iterator_init_arguments                                                        (<a href="swfdec-SwfdecAsFrame.html#SwfdecAsStackIterator">SwfdecAsStackIterator</a> *iter,                                                         <a href="swfdec-SwfdecAsFrame.html#SwfdecAsFrame">SwfdecAsFrame</a> *frame);</pre><p>Initializes a stack iterator to walk the arguments passed to the given <em class="parameter"><code>frame</code></em>. See<a href="swfdec-SwfdecAsFrame.html#swfdec-as-stack-iterator-init"><code class="function">swfdec_as_stack_iterator_init()</code></a> about suggested iterator usage.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>iter</code></em>&#160;:</span></td><td> iterator to be initialized</td></tr><tr><td><span class="term"><em class="parameter"><code>frame</code></em>&#160;:</span></td><td> the frame to initialize from</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td><td> The value of the first argument</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2624914"></a><h3><a name="swfdec-as-stack-iterator-next"></a>swfdec_as_stack_iterator_next ()</h3><a class="indexterm" name="id2624927"></a><pre class="programlisting"><a href="swfdec-SwfdecAsValue.html#SwfdecAsValue">SwfdecAsValue</a>*      swfdec_as_stack_iterator_next       (<a href="swfdec-SwfdecAsFrame.html#SwfdecAsStackIterator">SwfdecAsStackIterator</a> *iter);</pre><p>Gets the next value on 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>iter</code></em>&#160;:</span></td><td> a <a href="swfdec-SwfdecAsFrame.html#SwfdecAsStackIterator"><span class="type">SwfdecAsStackIterator</span></a></td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td><td> The next value on the stack or <code class="literal">NULL</code> if no more values are on the stack</td></tr></tbody></table></div></div></div><div class="refsect1" lang="en"><a name="id2625006"></a><div class="refsect2" lang="en"><a name="id2625007"></a></div><hr><div class="refsect2" lang="en"><a name="id2625008"></a></div></div></div></body></html>

⌨️ 快捷键说明

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