Can anyone see the error in this setup?
 
//drawTest.mxml file:
 
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
layout="absolute" applicationComplete="init()"
backgroundColor="0xFFFFFF">
 <mx:Script>
  <![CDATA[
   import src.DrawBitmap;
   private function init():void
   {
    var spiral:DrawBitmap = new DrawBitmap(myCanvas);
   }
  ]]>
 </mx:Script>
 <mx:Canvas id="myCanvas" x="10" y="10"  width="774" height="463"
borderColor="0xD4001A" borderStyle="solid"/> 
</mx:Application>

 
// DrawBitmap.as class:
 
package src
{
 import mx.containers.Canvas;
 import flash.display.BitmapData;
 import flash.display.Bitmap;
 import flash.geom.Rectangle;
 
 public class DrawBitmap
 {
  private var _canvas:Canvas;
  private var _bitmap:Bitmap;
  private var _imgData:BitmapData;
  
  public function DrawBitmap(canvas:Canvas):void
  {
   _canvas = canvas;
   _imgData = new BitmapData(20, 20, false, 0xFF00FF00);
   _imgData.fillRect(new Rectangle(5, 5, 10, 10), 0xFF0000FF);
   _bitmap = new Bitmap(_imgData);
   _canvas.addChild(_bitmap);  //Produces error
  }
  
 }
}
 
At runtime, I get this error in the debugger:
TypeError: Error #1034: Type Coercion failed: cannot convert
flash.display::[EMAIL PROTECTED] to mx.core.IUIComponent.
at
mx.core::Container/http://www.adobe.com/2006/flex/mx/internal::addingChi
ld()[C:\dev\GMC\sdk\frameworks\mx\core\Container.as:3303]

Seems to appear on the last line of the DrawBitmap class when I do
_canvas.addChild(_bitmap).  That seems legal to me - add a bitmap
display object to a canvas display object.  No?  What am I missing?  If
that's not legal, then how to add my bitmap object to the canvas?
 
Thanks,
 

Jason Merrill 
Bank of America 
L&LD GT&O 
eTools & Multimedia Research & Development 

Reply via email to