<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="function.swfbitmap.construct" xmlns="http://docbook.org/ns/docbook">
 <refnamediv>
  <refname>SWFBitmap->__construct</refname>
  <refpurpose>Loads Bitmap object</refpurpose>
 </refnamediv>
 <refsect1 role="description">
  &reftitle.description;
  <classsynopsis>
   <ooclass><classname>SWFBitmap</classname></ooclass>
   <methodsynopsis>
    <type>SWFBitmap</type><methodname>__construct</methodname>
    <methodparam><type>mixed</type><parameter>file</parameter></methodparam>
    <methodparam choice="opt"><type>mixed</type><parameter>alphafile</parameter></methodparam>
   </methodsynopsis>
  </classsynopsis>
  &warn.experimental.func;
  <para>
   Creates the new <classname>SWFBitmap</classname> object from the given
   <parameter>file</parameter>. 
  </para>
 </refsect1>

 <refsect1 role="parameters">
  &reftitle.parameters;
  <para>
   For both parameters you can provide a file pointer returned by
   <function>fopen</function> or the image data, as a binary string.
   <variablelist>
    <varlistentry>
     <term><parameter>file</parameter></term>
     <listitem>
      <para>
      </para>
      <note>
       <para>
        We can only deal with baseline (frame 0) jpegs, no baseline optimized or 
        progressive scan jpegs! 
       </para>
      </note>
      <para>
       You can't import png images directly, though- have to use the png2dbl 
       utility to make a dbl ("define bits lossless") file from the png. 
       The reason for this is that I don't want a dependency on the png library 
       in ming- autoconf should solve this, but that's not set up yet. 
      </para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><parameter>alphafile</parameter></term>
     <listitem>
      <para>
       An MSK file to be used as an alpha mask for a JPEG image. 
      </para>
     </listitem>
    </varlistentry>
   </variablelist>
  </para>
 </refsect1>

 <refsect1 role="examples">
  &reftitle.examples;
  <para>
   <example>
    <title>Importing a DBL file</title>
    <programlisting role="php">
<![CDATA[
<?php
$s = new SWFShape();
$f = $s->addFill(new SWFBitmap(file_get_contents("image.dbl")));
$s->setRightFill($f);

$s->drawLine(32, 0);
$s->drawLine(0, 32);
$s->drawLine(-32, 0);
$s->drawLine(0, -32);

$m = new SWFMovie();
$m->setDimension(32, 32);
$m->add($s);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>
]]>
    </programlisting>
   </example>
  </para>
  <para>
   <example>
    <title>Using an alpha mask</title>
    <programlisting role="php">
<![CDATA[
<?php

$s = new SWFShape();

// .msk file generated with "gif2mask" utility
$f = $s->addFill(new SWFBitmap(file_get_contents("alphafill.jpg"), file_get_contents("alphafill.msk")));
$s->setRightFill($f);

$s->drawLine(640, 0);
$s->drawLine(0, 480);
$s->drawLine(-640, 0);
$s->drawLine(0, -480);

$c = new SWFShape();
$c->setRightFill($c->addFill(0x99, 0x99, 0x99));
$c->drawLine(40, 0);
$c->drawLine(0, 40);
$c->drawLine(-40, 0);
$c->drawLine(0, -40);

$m = new SWFMovie();
$m->setDimension(640, 480);
$m->setBackground(0xcc, 0xcc, 0xcc);

// draw checkerboard background
for ($y=0; $y<480; $y+=40) {
  for ($x=0; $x<640; $x+=80) {
    $i = $m->add($c);
    $i->moveTo($x, $y);
  }

  $y+=40;

  for ($x=40; $x<640; $x+=80) {
    $i = $m->add($c);
    $i->moveTo($x, $y);
  }
}

$m->add($s);

header('Content-type: application/x-shockwave-flash');
$m->output();
?>
]]>
    </programlisting>
   </example>
  </para>
 </refsect1>

</refentry>

<!-- 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
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->