php-doc-en/functions/swf.xml
Sterling Hughes 46f576b3ae small fixes.
git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@25002 c90b9560-bf6c-de11-be94-00142212c4b1
2000-05-25 01:36:03 +00:00

2180 lines
No EOL
68 KiB
XML

<reference id="ref.swf">
<title>Shockwave Flash functions</title>
<titleabbrev>SWF</titleabbrev>
<partintro>
<simpara>
PHP offers the ability to create Shockwave Flash files via Paul Haeberli's
libswf module. You can download libswf at <ulink url="&url.swf;">&url.swf;</ulink>.
Once you have libswf all you need to do is to configure
<option role="configure">--with-swf[=DIR]</option> where DIR is the location of
libswf.a.
</simpara>
<para>
Once you've successfully installed PHP with Shockwave Flash support you can then
go about creating Shockwave files from PHP. You would be surprised at what you can
do, take the following code:
<example>
<title>
SWF example
</title>
<programlisting role="php">
&lt;php
swf_openfile ("test.swf", 256, 256, 30, 1, 1, 1);
swf_ortho2 (-100, 100, -100, 100);
swf_defineline (1, -70, 0, 70, 0, .2);
swf_definerect (4, 60, -10, 70, 0, 0);
swf_definerect (5, -60, 0, -70, 10, 0);
swf_addcolor (0, 0, 0, 0);
swf_definefont (10, "Mod");
swf_fontsize (5);
swf_fontslant (10);
swf_definetext (11, "This be Flash wit PHP!", 1);
swf_pushmatrix ();
swf_translate (-50, 80, 0);
swf_placeobject (11, 60);
swf_popmatrix ();
for ($i = 0; $i < 30; $i++) {
$p = $i/(30-1);
swf_pushmatrix ();
swf_scale (1-($p*.9), 1, 1);
swf_rotate (60*$p, 'z');
swf_translate (20+20*$p, $p/1.5, 0);
swf_rotate (270*$p, 'z');
swf_addcolor ($p, 0, $p/1.2, -$p);
swf_placeobject (1, 50);
swf_placeobject (4, 50);
swf_placeobject (5, 50);
swf_popmatrix ();
swf_showframe ();
}
for ($i = 0; $i < 30; $i++) {
swf_removeobject (50);
if (($i%4) == 0) {
swf_showframe ();
}
}
swf_startdoaction ();
swf_actionstop ();
swf_enddoaction ();
swf_closefile ();
?>
</programlisting>
</example>
It will produce the animation found at the following
<ulink url="&url.swf.test">url</ulink>.
</para>
<note>
<para>
SWF support was added in PHP4 RC2.
</para>
</note>
</partintro>
<refentry id="function.swf-openfile">
<refnamediv>
<refname>swf_openfile</refname>
<refpurpose>
Open a new Shockwave Flash file
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_openfile</function>
</funcdef>
<paramdef>string
<parameter>filename</parameter>
</paramdef>
<paramdef>float
<parameter>width</parameter>
</paramdef>
<paramdef>float
<parameter>height</parameter>
</paramdef>
<paramdef>float
<parameter>framerate</parameter>
</paramdef>
<paramdef>float
<parameter>r</parameter>
</paramdef>
<paramdef>float
<parameter>g</parameter>
</paramdef>
<paramdef>float
<parameter>b</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_openfile</function> function opens a new
file named <parameter>filename</parameter> with a width of
<parameter>width</parameter> and a height of <parameter>height</parameter>
a frame rate of <parameter>framerate</parameter> and background with a
red color of <parameter>r</parameter> a green color of <parameter>g</parameter>
and a blue color of <parameter>b</parameter>.
</para>
<para>
The <function>swf_openfile</function> must be the first function you call, otherwise
your script will cause a segfault. If you want to send your output to the screen
make the filename: "php://stdout" (support for this is in 4.0.1 and up).
</para>
</refsect1>
</refentry>
<refentry id="function.swf-closefile">
<refnamediv>
<refname>swf_closefile</refname>
<refpurpose>
Close the current Shockwave Flash file
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_closefile</function>
</funcdef>
<void/>
</funcsynopsis>
<para>
Close a file that was opened by the <function>swf_openfile</function>
function.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-labelframe">
<refnamediv>
<refname>swf_labelframe</refname>
<refpurpose>
Label the current frame
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_labelframe</function>
</funcdef>
<paramdef>string
<parameter>name</parameter>
</paramdef>
</funcsynopsis>
<para>
Label the current frame with the name given by the <parameter>name</parameter>
parameter.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-showframe">
<refnamediv>
<refname>swf_showframe</refname>
<refpurpose>
Display the current frame
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_showframe</function>
</funcdef>
<void/>
</funcsynopsis>
<para>
The swf_showframe function will output the current frame.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-setframe">
<refnamediv>
<refname>swf_setframe</refname>
<refpurpose>
Switch to a specified frame
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_setframe</function>
</funcdef>
<paramdef>int
<parameter>framenumber</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_setframe</function> changes the active frame to
the frame specified by <parameter>framenumber</parameter>.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-getframe">
<refnamediv>
<refname>swf_getframe</refname>
<refpurpose>
Get the frame number of the current frame.
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>int
<function>swf_getframe</function>
</funcdef>
<void/>
</funcsynopsis>
<para>
The <function>swf_getframe</function> function gets the number of the
current frame.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-mulcolor">
<refnamediv>
<refname>swf_mulcolor</refname>
<refpurpose>
Sets the global multiply color to the rgba value specified
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_mulcolor</function>
</funcdef>
<paramdef>float
<parameter>r</parameter>
</paramdef>
<paramdef>float
<parameter>g</parameter>
</paramdef>
<paramdef>float
<parameter>b</parameter>
</paramdef>
<paramdef>float
<parameter>a</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_mulcolor</function> function sets the global multiply
color to the <parameter>rgba</parameter> color specified. This color is
then used (implicitly) by the <function>swf_placeobject</function>,
<function>swf_modifyobject</function> and the
<function>swf_addbuttonrecord</function> functions. The color of the object
will be multiplied by the <parameter>rgba</parameter> values when the object
is written to the screen.
</para>
<note>
<para>
The <parameter>rgba</parameter> values can be either positive or negative.
</para>
</note>
</refsect1>
</refentry>
<refentry id="function.swf-addcolor">
<refnamediv>
<refname>swf_addcolor</refname>
<refpurpose>
Set the global add color to the rgba value specified
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_addcolor</function>
</funcdef>
<paramdef>float
<parameter>r</parameter>
</paramdef>
<paramdef>float
<parameter>g</parameter>
</paramdef>
<paramdef>float
<parameter>b</parameter>
</paramdef>
<paramdef>float
<parameter>a</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_addcolor</function> function sets the global add
color to the <parameter>rgba</parameter> color specified. This color is
then used (implicitly) by the <function>swf_placeobject</function>,
<function>swf_modifyobject</function> and the
<function>swf_addbuttonrecord</function> functions. The color of the object
will be add by the <parameter>rgba</parameter> values when the object
is written to the screen.
</para>
<note>
<para>
The <parameter>rgba</parameter> values can be either positive or negative.
</para>
</note>
</refsect1>
</refentry>
<refentry id="function.swf-placeobject">
<refnamediv>
<refname>swf_placeobject</refname>
<refpurpose>
Place and object onto the screen
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_placeobject</function>
</funcdef>
<paramdef>int
<parameter>objid</parameter>
</paramdef>
<paramdef>int
<parameter>depth</parameter>
</paramdef>
</funcsynopsis>
<para>
Places the object specified by <parameter>objid</parameter> in the current
frame at a depth of <parameter>depth</parameter>. The <parameter>objid</parameter>
parameter and the <parameter>depth</parameter> must be between 1 and 65535.
</para>
<para>
This uses the current mulcolor (specified by <function>swf_mulcolor</function>) and the
current addcolor (specified by <function>swf_addcolor</function> to color the object and
it uses the current matrix to position the object.
</para>
<note>
<para>
Full RGBA colors are supported.
</para>
</note>
</refsect1>
</refentry>
<refentry id="function.swf-modifyobject">
<refnamediv>
<refname>swf_modifyobject</refname>
<refpurpose>
Modify an object.
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_modifyobject</function>
</funcdef>
<paramdef>int
<parameter>depth</parameter>
</paramdef>
<paramdef>int
<parameter>how</parameter>
</paramdef>
</funcsynopsis>
<para>
Updates the position and/or color of the object at the specified depth,
<parameter>depth</parameter>. The parameter <parameter>how</parameter>
determines what is updated. <parameter>how</parameter> can either be
the constant MOD_MATRIX or MOD_COLOR or it can be a combination of both
(MOD_MATRIX|MOD_COLOR).
</para>
<para>
MOD_COLOR uses the current mulcolor (specified by the function
<function>swf_mulcolor</function>) and addcolor (specified by the function
<function>swf_addcolor</function>) to color the object. MOD_MATRIX uses
the current matrix to position the object.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-removeobject">
<refnamediv>
<refname>swf_removeobject</refname>
<refpurpose>
Remove an object
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_removeobject</function>
</funcdef>
<paramdef>int
<parameter>depth</parameter>
</paramdef>
</funcsynopsis>
<para>
Removes the object at the depth specified by <parameter>depth</parameter>.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-nextid">
<refnamediv>
<refname>swf_nextid</refname>
<refpurpose>
Returns the next free object id
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>int
<function>swf_nextid</function>
</funcdef>
<void/>
</funcsynopsis>
<para>
The <function>swf_nextid</function> function returns the
next available object id.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-startdoaction">
<refnamediv>
<refname>swf_startdoaction</refname>
<refpurpose>
Start a description of an action list for the current frame
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_startdoaction</function>
</funcdef>
<void/>
</funcsynopsis>
<para>
The <function>swf_startdoaction</function> function starts the
description of an action list for the current frame. This must
be called before actions are defined for the current frame.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-actiongotoframe">
<refnamediv>
<refname>swf_actiongotoframe</refname>
<refpurpose>
Play a frame and then stop
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_actiongotoframe</function>
</funcdef>
<paramdef>int
<parameter>framenumber</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_actionGotoFrame</function> function will go to the
frame specified by <parameter>framenumber</parameter>, play it, and then stop.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-actiongeturl">
<refnamediv>
<refname>swf_actiongeturl</refname>
<refpurpose>
Get a URL from a Shockwave Flash movie
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_actiongeturl</function>
</funcdef>
<paramdef>string
<parameter>url</parameter>
</paramdef>
<paramdef>string
<parameter>target</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_actionGetUrl</function> function gets the URL specified
by the parameter <parameter>url</parameter> with the target <parameter>
target</parameter>.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-actionnextframe">
<refnamediv>
<refname>swf_actionnextframe</refname>
<refpurpose>
Go foward one frame
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_actionnextframe</function>
</funcdef>
<void/>
</funcsynopsis>
<para>
Go foward one frame.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-actionprevframe">
<refnamediv>
<refname>swf_actionprevframe</refname>
<refpurpose>
Go backwards one frame
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_actionprevframe</function>
</funcdef>
<void/>
</funcsynopsis>
</refsect1>
</refentry>
<refentry id="function.swf-actionplay">
<refnamediv>
<refname>swf_actionplay</refname>
<refpurpose>
Start playing the flash movie from the current frame
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_actionplay</function>
</funcdef>
<void/>
</funcsynopsis>
<para>
Start playing the flash movie from the current frame.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-actionstop">
<refnamediv>
<refname>swf_actionstop</refname>
<refpurpose>
Stop playing the flash movie at the current frame
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_actionstop</function>
</funcdef>
<void/>
</funcsynopsis>
<para>
Stop playing the flash movie at the current frame.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-actiontogglequality">
<refnamediv>
<refname>swf_actiontogglequality</refname>
<refpurpose>
Toggle between low and high quality
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_actiontogglequality</function>
</funcdef>
<void/>
</funcsynopsis>
<para>
Toggle the flash movie between high and low quality.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-actionwaitforframe">
<refnamediv>
<refname>swf_actionwaitforframe</refname>
<refpurpose>
Skip actions if a frame has not been loaded
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_actionwaitforframe</function>
</funcdef>
<paramdef>int
<parameter>framenumber</parameter>
</paramdef>
<paramdef>int
<parameter>skipcount</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_actionWaitForFrame</function> function will check to
see if the frame, specified by the <parameter>framenumber</parameter> parameter
has been loaded, if not it will skip the number of actions specified by
the <parameter>skipcount</parameter> parameter. This can be useful for
"Loading..." type animations.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-actionsettarget">
<refnamediv>
<refname>swf_actionsettarget</refname>
<refpurpose>
Set the context for actions
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_actionsettarget</function>
</funcdef>
<paramdef>string
<parameter>target</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_actionSetTarget</function> function sets the context for
all actions. You can use this to control other flash movies that are currently
playing.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-actiongotolabel">
<refnamediv>
<refname>swf_actiongotolabel</refname>
<refpurpose>
Display a frame with the specified label
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_actiongotolabel</function>
</funcdef>
<paramdef>string
<parameter>label</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_actionGotoLabel</function> function displays the
frame with the label given by the <parameter>label</parameter>
parameter and then stops.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-enddoaction">
<refnamediv>
<refname>swf_enddoaction</refname>
<refpurpose>
End the current action
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_enddoaction</function>
</funcdef>
<void/>
</funcsynopsis>
<para>
Ends the current action started by the <function>swf_startdoaction</function>
function.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-defineline">
<refnamediv>
<refname>swf_defineline</refname>
<refpurpose>
Define a line
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_defineline</function>
</funcdef>
<paramdef>int
<parameter>objid</parameter>
</paramdef>
<paramdef>float
<parameter>x1</parameter>
</paramdef>
<paramdef>float
<parameter>y1</parameter>
</paramdef>
<paramdef>float
<parameter>x2</parameter>
</paramdef>
<paramdef>float
<parameter>y2</parameter>
</paramdef>
<paramdef>float
<parameter>width</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_defineline</function> defines a line starting from the x coordinate
given by <parameter>x1</parameter> and the y coordinate given by <parameter>y1
</parameter> parameter. Up to the x coordinate given by the <parameter>x2</parameter>
parameter and the y coordinate given by the <parameter>y2</parameter> parameter. It
will have a width defined by the <parameter>width</parameter> parameter.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-definerect">
<refnamediv>
<refname>swf_definerect</refname>
<refpurpose>
Define a rectangle.
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_definerect</function>
</funcdef>
<paramdef>int
<parameter>objid</parameter>
</paramdef>
<paramdef>float
<parameter>x1</parameter>
</paramdef>
<paramdef>float
<parameter>y1</parameter>
</paramdef>
<paramdef>float
<parameter>x2</parameter>
</paramdef>
<paramdef>float
<parameter>y2</parameter>
</paramdef>
<paramdef>float
<parameter>width</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_definerect</function> defines a rectangle with an upper
left hand coordinate given by the x, <parameter>x1</parameter>, and the y,
<parameter>y1</parameter>. And a lower right hand coordinate given by the
x coordinate, <parameter>x2</parameter>, and the y coordinate, <parameter>y2
</parameter>. Width of the rectangles border is given by the <parameter>width</parameter>
parameter, if the width is 0.0 then the rectangle is filled.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-definepoly">
<refnamediv>
<refname>swf_definepoly</refname>
<refpurpose>
Define a polygon
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_definepoly</function>
</funcdef>
<paramdef>int
<parameter>objid</parameter>
</paramdef>
<paramdef>array
<parameter>coords</parameter>
</paramdef>
<paramdef>int
<parameter>npoints</parameter>
</paramdef>
<paramdef>float
<parameter>width</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_definepoly</function> function defines a polygon given
an array of x, y coordinates (the coordinates are defined in the parameter
<parameter>coords</parameter>). The parameter <parameter>npoints</parameter>
is the number of overall points that are contained in the array given by
<parameter>coords</parameter>. The <parameter>width</parameter> is the width
of the polygon's border, if set to 0.0 the polygon is filled.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-startshape">
<refnamediv>
<refname>swf_startshape</refname>
<refpurpose>
Start a complex shape
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_startshape</function>
</funcdef>
<paramdef>int
<parameter>objid</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_startshape</function> function starts a complex shape,
with an object id given by the <parameter>objid</parameter> parameter.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-shapelinesold">
<refnamediv>
<refname>swf_shapelinesolid</refname>
<refpurpose>
Set the current line style
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_shapelinesolid</function>
</funcdef>
<paramdef>float
<parameter>r</parameter>
</paramdef>
<paramdef>float
<parameter>g</parameter>
</paramdef>
<paramdef>float
<parameter>b</parameter>
</paramdef>
<paramdef>float
<parameter>a</parameter>
</paramdef>
<paramdef>float
<parameter>width</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_shapeLineSolid</function> function sets the current line style
to the color of the <parameter>rgba</parameter> parameters and width to the
<parameter>width</parameter> parameter. If 0.0 is given as a width then no lines
are drawn.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-shapefilloff">
<refnamediv>
<refname>swf_shapefilloff</refname>
<refpurpose>
Turns off filling
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_shapefilloff</function>
</funcdef>
<void/>
</funcsynopsis>
<para>
The <function>swf_shapeFillOff</function> function turns off filling for the
current shape.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-shapefillsolid">
<refnamediv>
<refname>swf_shapefillsolid</refname>
<refpurpose>
Set the current fill style to the specified color
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_shapefillsolid</function>
</funcdef>
<paramdef>float
<parameter>r</parameter>
</paramdef>
<paramdef>float
<parameter>g</parameter>
</paramdef>
<paramdef>float
<parameter>b</parameter>
</paramdef>
<paramdef>float
<parameter>a</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_shapeFillSolid</function> function sets the current fill style
to solid, and then sets the fill color to the values of the <parameter>rgba</parameter>
parameters.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-shapefillbitmapclip">
<refnamediv>
<refname>swf_shapefillbitmaptile</refname>
<refpurpose>
Set current fill mode to clipped bitmap
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_shapefillbitmapclip</function>
</funcdef>
<paramdef>int
<parameter>bitmapid</parameter>
</paramdef>
</funcsynopsis>
<para>
Sets the fill to bitmap clipped, empty spaces will be filled by the
bitmap given by the <parameter>bitmapid</parameter> parameter.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-shapefillbitmaptile">
<refnamediv>
<refname>swf_shapefillbitmaptile</refname>
<refpurpose>
Set current fill mode to tiled bitmap
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_shapefillbitmaptile</function>
</funcdef>
<paramdef>int
<parameter>bitmapid</parameter>
</paramdef>
</funcsynopsis>
<para>
Sets the fill to bitmap tile, empty spaces will be filled by the
bitmap given by the <parameter>bitmapid</parameter> parameter (tiled).
</para>
</refsect1>
</refentry>
<refentry id="function.swf-shapemoveto">
<refnamediv>
<refname>swf_shapemoveto</refname>
<refpurpose>
Move the current position
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_shapemoveto</function>
</funcdef>
<paramdef>float
<parameter>x</parameter>
</paramdef>
<paramdef>float
<parameter>y</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_shapeMoveTo</function> function moves the current position to
the x coordinate given by the <parameter>x</parameter> parameter and the y position
given by the <parameter>y</parameter> parameter.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-shapelineto">
<refnamediv>
<refname>swf_shapelineto</refname>
<refpurpose>
Draw a line
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_shapelineto</function>
</funcdef>
<paramdef>float
<parameter>x</parameter>
</paramdef>
<paramdef>float
<parameter>y</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_shapeLineTo</function> draws a line to the x,y coordinates given by
the <parameter>x</parameter> parameter & the <parameter>y</parameter> parameter. The
current position is then set to the x,y parameters.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-shapecurveto">
<refnamediv>
<refname>swf_shapecurveto</refname>
<refpurpose>
Draw a quadratic bezier curve between two points
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_shapecurveto</function>
</funcdef>
<paramdef>float
<parameter>x1</parameter>
</paramdef>
<paramdef>float
<parameter>y1</parameter>
</paramdef>
<paramdef>float
<parameter>x2</parameter>
</paramdef>
<paramdef>float
<parameter>y2</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_shapecurveto</function> function draws a quadratic bezier curve
from the x coordinate given by <parameter>x1</parameter> and the y coordinate given
by <parameter>y1</parameter> to the x coordinate given by <parameter>x2</parameter>
and the y coordinate given by <parameter>y2</parameter>. The current position is then
set to the x,y coordinates given by the <parameter>x2</parameter> and <parameter>y2</parameter>
parameters
</para>
</refsect1>
</refentry>
<refentry id="function.swf-shapecurveto3">
<refnamediv>
<refname>swf_shapecurveto3</refname>
<refpurpose>
Draw a cubic bezier curve
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_shapecurveto3</function>
</funcdef>
<paramdef>float
<parameter>x1</parameter>
</paramdef>
<paramdef>float
<parameter>y1</parameter>
</paramdef>
<paramdef>float
<parameter>x2</parameter>
</paramdef>
<paramdef>float
<parameter>y2</parameter>
</paramdef>
<paramdef>float
<parameter>x3</parameter>
</paramdef>
<paramdef>float
<parameter>y3</parameter>
</paramdef>
</funcsynopsis>
<para>
Draw a cubic bezier curve using the x,y coordinate pairs <parameter>x1</parameter>,
<parameter>y1</parameter> and <parameter>x2</parameter>,<parameter>y2</parameter> as
off curve control points and the x,y coordinate <parameter>x3</parameter>,<parameter>
y3</parameter> as an endpoint. The current position is then set to the x,y coordinate
pair given by <parameter>x3</parameter>,<parameter>y3</parameter>.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-shapearc">
<refnamediv>
<refname>swf_shapearc</refname>
<refpurpose>
Draw a circular arc
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_shapearc</function>
</funcdef>
<paramdef>float
<parameter>x</parameter>
</paramdef>
<paramdef>float
<parameter>y</parameter>
</paramdef>
<paramdef>float
<parameter>r</parameter>
</paramdef>
<paramdef>float
<parameter>ang1</parameter>
</paramdef>
<paramdef>float
<parameter>ang2</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_shapeArc</function> function draws a circular arc from angle A
given by the <parameter>ang1</parameter> parameter to angle B given by the
<parameter>ang2</parameter> parameter. The center of the circle has an x coordinate
given by the <parameter>x</parameter> parameter and a y coordinate given by the
<parameter>y</parameter>, the radius of the circle is given by the <parameter>r</parameter>
parameter.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-endshape">
<refnamediv>
<refname>swf_endshape</refname>
<refpurpose>
Completes the definition of the current shape
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_endshape</function>
</funcdef>
<void/>
</funcsynopsis>
<para>
The <function>swf_endshape</function> completes the definition of
the current shape.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-definefont">
<refnamediv>
<refname>swf_definefont</refname>
<refpurpose>
Defines a font
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_definefont</function>
</funcdef>
<paramdef>int
<parameter>fontid</parameter>
</paramdef>
<paramdef>string
<parameter>fontname</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_definefont</function> function defines a font given by the
<parameter>fontname</parameter> parameter and gives it the id specified by the
<parameter>fontid</parameter> parameter. It then sets the font given by <parameter>
fontname</parameter> to the current font.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-setfont">
<refnamediv>
<refname>swf_setfont</refname>
<refpurpose>
Change the current font.
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_setfont</function>
</funcdef>
<paramdef>int
<parameter>fontid</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_setfont</function> sets the current font to the value given by
the <parameter>fontid</parameter> parameter.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-fontsize">
<refnamediv>
<refname>swf_fontsize</refname>
<refpurpose>
Change the font size
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_fontsize</function>
</funcdef>
<paramdef>float
<parameter>size</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_fontsize</function> function changes the font size to the value given
by the <parameter>size</parameter> parameter.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-fontslant">
<refnamediv>
<refname>swf_fontslant</refname>
<refpurpose>
Set the font slant
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_fontslant</function>
</funcdef>
<paramdef>float
<parameter>slant</parameter>
</paramdef>
</funcsynopsis>
<para>
Set the current font slant to the angle indicated by the <parameter>slant</parameter>
parameter. Positive values create a foward slant, negative values create a negative
slant.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-fonttracking">
<refnamediv>
<refname>swf_fonttracking</refname>
<refpurpose>
Set the current font tracking
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_fonttracking</function>
</funcdef>
<paramdef>float
<parameter>tracking</parameter>
</paramdef>
</funcsynopsis>
<para>
Set the font tracking to the value specified by the <parameter>tracking</parameter>
parameter. This function is used to increase the spacing between letters and
text, positive values increase the space and negative values decrease the space between
letters.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-getfontinfo">
<refnamediv>
<refname>swf_getfontinfo</refname>
<refpurpose>
The height in pixels of a capital A and a lowercase x
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>array
<function>swf_getfontinfo</function>
</funcdef>
<void/>
</funcsynopsis>
<para>
The <function>swf_getfontinfo</function> function returns an associative array
with the following parameters:
<itemizedlist>
<listitem>
<simpara>
Aheight - The height in pixels of a capital A.
</simpara>
</listitem>
<listitem>
<simpara>
xheight - The height in pixels of a lowercase x.
</simpara>
</listitem>
</itemizedlist>
</para>
</refsect1>
</refentry>
<refentry id="function.swf-definetext">
<refnamediv>
<refname>swf_definetext</refname>
<refpurpose>
Define a text string
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_definetext</function>
</funcdef>
<paramdef>int
<parameter>objid</parameter>
</paramdef>
<paramdef>string
<parameter>str</parameter>
</paramdef>
<paramdef>int
<parameter>docenter</parameter>
</paramdef>
</funcsynopsis>
<para>
Define a text string (the <parameter>str</parameter> parameter) using the
current font and font size. The <parameter>docenter</parameter> is where the
word is centered, if <parameter>docenter</parameter> is 1, then the word is
centered in x.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-textwidth">
<refnamediv>
<refname>swf_textwidth</refname>
<refpurpose>
Get the width of a string
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>float
<function>swf_textwidth</function>
</funcdef>
<paramdef>string
<parameter>str</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_textwidth</function> function gives the width of the string,
<parameter>str</parameter>, in pixels, using the current font and font size.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-definebitmap">
<refnamediv>
<refname>swf_definebitmap</refname>
<refpurpose>
Define a bitmap
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_definebitmap</function>
</funcdef>
<paramdef>int
<parameter>objid</parameter>
</paramdef>
<paramdef>string
<parameter>image_name</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_definebitmap</function> function defines a bitmap given a GIF,
JPEG, RGB or FI image. The image will be converted into a Flash JPEG or Flash color
map format.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-getbitmapinfo">
<refnamediv>
<refname>swf_getbitmapinfo</refname>
<refpurpose>
Get information about a bitmap
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>array
<function>swf_getbitmapinfo</function>
</funcdef>
<paramdef>int
<parameter>bitmapid</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_getbitmapinfo</function> function returns an array of information about
a bitmap given by the <parameter>bitmapid</parameter> parameter. The returned array has
the following elements:
<itemizedlist>
<listitem>
<simpara>
"size" - The size in bytes of the bitmap.
</simpara>
</listitem>
<listitem>
<simpara>
"width" - The width in pixels of the bitmap.
</simpara>
</listitem>
<listitem>
<simpara>
"height" - The height in pixels of the bitmap.
</simpara>
</listitem>
</itemizedlist>
</para>
</refsect1>
</refentry>
<refentry id="function.swf-startsymbol">
<refnamediv>
<refname>swf_startsymbol</refname>
<refpurpose>
Define a symbol
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_startsymbol</function>
</funcdef>
<paramdef>int
<parameter>objid</parameter>
</paramdef>
</funcsynopsis>
<para>
Define an object id as a symbol. Symbols are tiny flash movies that can be played
simultaneously. The <parameter>objid</parameter> parameter is the object id you
want to define as a symbol.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-endsymbol">
<refnamediv>
<refname>swf_endsymbol</refname>
<refpurpose>
End the definition of a symbol
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_endsymbol</function>
</funcdef>
<void/>
</funcsynopsis>
<para>
The <function>swf_endsymbol</function> function ends the definition of a symbol that was
started by the <function>swf_startsymbol</function> function.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-startbutton">
<refnamediv>
<refname>swf_startbutton</refname>
<refpurpose>
Start the definition of a button
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_startbutton</function>
</funcdef>
<paramdef>int
<parameter>objid</parameter>
</paramdef>
<paramdef>int
<parameter>type</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_startbutton</function> function starts off the definition of a button.
The <parameter>type</parameter> parameter can either be TYPE_MENUBUTTON or
TYPE_PUSHBUTTON. The TYPE_MENUBUTTON constant allows the focus to travel from the button
when the mouse is down, TYPE_PUSHBUTTON does not allow the focus to travel when the mouse is
down.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-addbuttonrecord">
<refnamediv>
<refname>swf_addbuttonrecord</refname>
<refpurpose>
Controls location, appearance and active area of the current button
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_addbuttonrecord</function>
</funcdef>
<paramdef>int
<parameter>states</parameter>
</paramdef>
<paramdef>int
<parameter>shapeid</parameter>
</paramdef>
<paramdef>int
<parameter>depth</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_addbuttonrecord</function> function allows you to define the specifics of using
a button. The first parameter, <parameter>states</parameter>, defines what states the button can
have, these can be any or all of the following constants: BSHitTest, BSDown, BSOver or BSUp. The
second parameter, the <parameter>shapeid</parameter> is the look of the button, this is usually the
object id of the shape of the button. The <parameter>depth</parameter> parameter is the placement
of the button in the current frame.
<example>
<title>
<function>swf_addbuttonrecord</function> function example
</title>
<programlisting role="php">
swf_startButton ($objid, TYPE_MENUBUTTON);
swf_addButtonRecord (BSDown|BSOver, $buttonImageId, 340);
swf_onCondition (MenuEnter);
swf_actionGetUrl ("http://www.designmultimedia.com", "_level1");
swf_onCondition (MenuExit);
swf_actionGetUrl ("", "_level1");
swf_endButton ();
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<refentry id="function.swf-oncondition">
<refnamediv>
<refname>swf_oncondition</refname>
<refpurpose>
Describe a transition used to trigger an action list
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_oncondition</function>
</funcdef>
<paramdef>int
<parameter>transition</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_onCondition</function> function describes a transition that will trigger
an action list. There are several types of possible transitions, the following are for buttons
defined as TYPE_MENUBUTTON:
<itemizedlist>
<listitem>
<simpara>
IdletoOverUp
</simpara>
</listitem>
<listitem>
<simpara>
OverUptoIdle
</simpara>
</listitem>
<listitem>
<simpara>
OverUptoOverDown
</simpara>
</listitem>
<listitem>
<simpara>
OverDowntoOverUp
</simpara>
</listitem>
<listitem>
<simpara>
IdletoOverDown
</simpara>
</listitem>
<listitem>
<simpara>
OutDowntoIdle
</simpara>
</listitem>
<listitem>
<simpara>
MenuEnter (IdletoOverUp|IdletoOverDown)
</simpara>
</listitem>
<listitem>
<simpara>
MenuExit (OverUptoIdle|OverDowntoIdle)
</simpara>
</listitem>
</itemizedlist>
For TYPE_PUSHBUTTON there are the following options:
<itemizedlist>
<listitem>
<simpara>
IdletoOverUp
</simpara>
</listitem>
<listitem>
<simpara>
OverUptoIdle
</simpara>
</listitem>
<listitem>
<simpara>
OverUptoOverDown
</simpara>
</listitem>
<listitem>
<simpara>
OverDowntoOverUp
</simpara>
</listitem>
<listitem>
<simpara>
OverDowntoOutDown
</simpara>
</listitem>
<listitem>
<simpara>
OutDowntoOverDown
</simpara>
</listitem>
<listitem>
<simpara>
OutDowntoIdle
</simpara>
</listitem>
<listitem>
<simpara>
ButtonEnter (IdletoOverUp|OutDowntoOverDown)
</simpara>
</listitem>
<listitem>
<simpara>
ButtonExit (OverUptoIdle|OverDowntoOutDown)
</simpara>
</listitem>
</itemizedlist>
</para>
</refsect1>
</refentry>
<refentry id="function.swf-endbutton">
<refnamediv>
<refname>swf_endbutton</refname>
<refpurpose>
End the definition of the current button
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_endbutton</function>
</funcdef>
<void/>
</funcsynopsis>
<para>
The <function>swf_endButton</function> function ends the definition of the
current button.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-viewport">
<refnamediv>
<refname>swf_viewport</refname>
<refpurpose>
Select an area for future drawing
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_viewport</function>
</funcdef>
<paramdef>double
<parameter>xmin</parameter>
</paramdef>
<paramdef>double
<parameter>xmax</parameter>
</paramdef>
<paramdef>double
<parameter>ymin</parameter>
</paramdef>
<paramdef>double
<parameter>ymax</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_viewport</function> function selects an area for future drawing for
<parameter>xmin</parameter> to <parameter>xmax</parameter> and <parameter>ymin</parameter> to
<parameter>ymax</parameter>, if this function is not called the area defaults to the size of the screen.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-ortho">
<refnamediv>
<refname>swf_ortho</refname>
<refpurpose>
Defines an orthographic mapping of user coordinates onto the current viewport
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_ortho</function>
</funcdef>
<paramdef>double
<parameter>xmin</parameter>
</paramdef>
<paramdef>double
<parameter>xmax</parameter>
</paramdef>
<paramdef>double
<parameter>ymin</parameter>
</paramdef>
<paramdef>double
<parameter>ymax</parameter>
</paramdef>
<paramdef>double
<parameter>zmin</parameter>
</paramdef>
<paramdef>double
<parameter>zmax</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_ortho</function> funcion defines a orthographic mapping of user
coordinates onto the current viewport.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-ortho2">
<refnamediv>
<refname>swf_ortho2</refname>
<refpurpose>
Defines 2D orthographic mapping of user coordinates onto the current viewport
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_ortho2</function>
</funcdef>
<paramdef>double
<parameter>xmin</parameter>
</paramdef>
<paramdef>double
<parameter>xmax</parameter>
</paramdef>
<paramdef>double
<parameter>ymin</parameter>
</paramdef>
<paramdef>double
<parameter>ymax</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_ortho2</function> function defines a two dimensional orthographic mapping of
user coordinates onto the current viewport, this defaults to one to one mapping of the area of
the Flash movie. If a perspective transformation is desired, the <function>swf_perspective
</function> function can be used.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-perspective">
<refnamediv>
<refname>swf_perspective</refname>
<refpurpose>
Define a perspective projection transformation
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_perspective</function>
</funcdef>
<paramdef>double
<parameter>fovy</parameter>
</paramdef>
<paramdef>double
<parameter>aspect</parameter>
</paramdef>
<paramdef>double
<parameter>near</parameter>
</paramdef>
<paramdef>double
<parameter>far</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_perspective</function> function defines a perspective projection transformation.
The <parameter>fovy</parameter> parameter is field-of-view angle in the y direction. The
<parameter>aspect</parameter> parameter should be set to the aspect ratio of the viewport that is
being drawn onto. The <parameter>near</parameter> parameter is the near clipping plane and the
<parameter>far</parameter> parameter is the far clipping plane.
</para>
<note>
<para>
Various distortion artifacts may appear when performing a perspective projection, this is because
Flash players only have a two dimensional matrix. Some are not to pretty.
</para>
</note>
</refsect1>
</refentry>
<refentry id="function.swf-polarview">
<refnamediv>
<refname>swf_polarview</refname>
<refpurpose>
Define the viewer's position with polar coordinates
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_polarview</function>
</funcdef>
<paramdef>double
<parameter>dist</parameter>
</paramdef>
<paramdef>double
<parameter>azimuth</parameter>
</paramdef>
<paramdef>double
<parameter>incidence</parameter>
</paramdef>
<paramdef>double
<parameter>twist</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_polarview</function> function defines the viewer's position in polar coordinates.
The <parameter>dist</parameter> parameter gives the distance between the viewpoint to the world
space origin. The <parameter>azimuth</parameter> parameter defines the azimuthal angle in the x,y
coordinate plane, measured in distance from the y axis. The <parameter>incidence</parameter>
parameter defines the angle of incidence in the y,z plane, measured in distance from the z axis.
The incidence angle is defined as the angle of the viewport relative to the z axis. Finally the
<parameter>twist</parameter> specifies the amount that the viewpoint is to be rotated about the
line of sight using the right hand rule.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-lookat">
<refnamediv>
<refname>swf_lookat</refname>
<refpurpose>
Define a viewing transformation
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_lookat</function>
</funcdef>
<paramdef>double
<parameter>view_x</parameter>
</paramdef>
<paramdef>double
<parameter>view_y</parameter>
</paramdef>
<paramdef>double
<parameter>view_z</parameter>
</paramdef>
<paramdef>double
<parameter>reference_x</parameter>
</paramdef>
<paramdef>double
<parameter>reference_y</parameter>
</paramdef>
<paramdef>double
<parameter>reference_z</parameter>
</paramdef>
<paramdef>double
<parameter>twist</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_lookat</function> function defines a viewing transformation by giving the
viewing position (the parameters <parameter>view_x</parameter>, <parameter>view_y</parameter>,
and <parameter>view_z</parameter>) and the coordinates of a reference point in the scene, the
reference point is defined by the <parameter>reference_x</parameter>, <parameter>reference_y
</parameter>, and <parameter>reference_z</parameter> parameters. The <parameter>twist
</parameter> controls the rotation along with viewer's z axis.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-pushmatrix">
<refnamediv>
<refname>swf_pushmatrix</refname>
<refpurpose>
Push the current transformation matrix back unto the stack
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_pushmatrix</function>
</funcdef>
<void/>
</funcsynopsis>
<para>
The <function>swf_pushmatrix</function> function pushes the current transformation
matrix back onto the stack.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-popmatrix">
<refnamediv>
<refname>swf_popmatrix</refname>
<refpurpose>
Restore a previous transformation matrix
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_popmatrix</function>
</funcdef>
<void/>
</funcsynopsis>
<para>
The <function>swf_popmatrix</function> function pushes the current transformation
matrix back onto the stack.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-scale">
<refnamediv>
<refname>swf_scale</refname>
<refpurpose>
Scale the current transformation
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_scale</function>
</funcdef>
<paramdef>double
<parameter>x</parameter>
</paramdef>
<paramdef>double
<parameter>y</parameter>
</paramdef>
<paramdef>double
<parameter>z</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_scale</function> scales the x coordinate of the curve by the
value of the <parameter>x</parameter> parameter, the y coordinate of the curve by the
value of the <parameter>y</parameter> parameter, and the z coordinate of the curve by
the value of the <parameter>z</parameter> parameter.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-translate">
<refnamediv>
<refname>swf_translate</refname>
<refpurpose>
Translate the current transformations
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_translate</function>
</funcdef>
<paramdef>double
<parameter>x</parameter>
</paramdef>
<paramdef>double
<parameter>y</parameter>
</paramdef>
<paramdef>double
<parameter>z</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_translate</function> function translates the current transformation
by the <parameter>x</parameter>, <parameter>y</parameter>, and <parameter>z</parameter>
values given.
</para>
</refsect1>
</refentry>
<refentry id="function.swf-rotate">
<refnamediv>
<refname>swf_rotate</refname>
<refpurpose>
Rotate the current transformation
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_rotate</function>
</funcdef>
<paramdef>double
<parameter>angle</parameter>
</paramdef>
<paramdef>string
<parameter>axis</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_rotate</function> rotates the current transformation by the angle
given by the <parameter>angle</parameter> parameter around the axis given by the
<parameter>axis</parameter> parameter. Valid values for the axis are 'x' (the x
axis), 'y' (the y axis) or 'z' (the z axis).
</para>
</refsect1>
</refentry>
<refentry id="function.swf-posround">
<refnamediv>
<refname>swf_posround</refname>
<refpurpose>
Enables or Disables the rounding of the translation when objects are placed or moved
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
<funcdef>void
<function>swf_posround</function>
</funcdef>
<paramdef>int
<parameter>round</parameter>
</paramdef>
</funcsynopsis>
<para>
The <function>swf_posround</function> function enables or disables the rounding of the
translation when objects are placed or moved, there are times when text becomes more
readable because rounding has been enabled. The <parameter>round</parameter> is whether to
enable rounding or not, if set to the value of 1, then rounding is enabled, if set to 0 then
rounding is disabled.
</para>
</refsect1>
</refentry>
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->