topical media & game development

talk show tell print

sample-CarouselImage.ax

sample-CarouselImage.ax (swf ) [ flash ]


  

/////////////////////////////////////////////////////////////////////////


// // Copyright (C) 2003-2006 Adobe Macromedia Software LLC and its licensors. // All Rights Reserved. // The following is Sample Code and is subject to all restrictions on such code // as contained in the End User License Agreement accompanying this product. // If you have received this file from a source other than Adobe, // then your use, modification, or distribution of it requires // the prior written permission of Adobe. //

/////////////////////////////////////////////////////////////////////////


package { import flash.display.Graphics; import mx.controls.Image; import mx.core.UIComponent; import mx.utils.GraphicsUtil;
The color of the frame. The default is black.

  
      [Style(name="frameColor", type="uint", format="color", inherit="no")]
  
      
The thickness of the surrounding frame. The default is 1.

  
      [Style(name="frameThickness", type="Number", format="Length", inherit="no")]
  
      
The size in pixels of a frame line drawn from the corner. The default is 5.

  
      [Style(name="frameSize", type="Number", format="Length", inherit="no")]
  
      public class sample-CarouselImage extends UIComponent
      {
          private var image:Image;
  
          public function sample-CarouselImage()
          {
              super();
              image = new Image();
          }
  
          override protected function createChildren():void
          {
              super.createChildren();
              image.setStyle("verticalAlign", "middle");
              image.setStyle("horizontalAlign", "center");
              addChild(image);
          }
  
          public function get source():String
          {
              return image.source as String;
          }
  
          public function set source(value:String):void
          {
              image.source = value;
          }
  
          override public function set width(value:Number):void
          {
              super.width = value;
              image.width = value;
          }
  
          override public function get width():Number
          {
              return super.width;
          }
  
          override public function set height(value:Number):void
          {
              super.height = value;
              image.height = value;
          }
  
          override public function get height():Number
          {
              return super.height;
          }
  
          override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
          {
              super.updateDisplayList(unscaledWidth, unscaledHeight);
              var frameColor:uint = getStyle("frameColor");
              var frameThickness:Number = getStyle("frameThickness");
              var frameSize:Number = getStyle("frameSize");
  
              //draw the four corners
              if (frameThickness > 0)
              {
                  var g:Graphics = graphics;
                  g.clear();
                  g.lineStyle(frameThickness, frameColor, 1);
  
                  //upper left corner
                  g.moveTo(0, frameSize);
                  g.lineTo(0, 0);
                  g.lineTo(frameSize, 0);
  
                  //lower left corner
                  g.moveTo(0, unscaledHeight - frameSize);
                  g.lineTo(0, unscaledHeight);
                  g.lineTo(frameSize, unscaledHeight);
  
                  //upper right corner
                  g.moveTo(unscaledWidth - frameSize, 0);
                  g.lineTo(unscaledWidth, 0);
                  g.lineTo(unscaledWidth, frameSize);
  
                  //lower right corner
                  g.moveTo(unscaledWidth, unscaledHeight - frameSize);
                  g.lineTo(unscaledWidth, unscaledHeight);
                  g.lineTo(unscaledWidth - frameSize, unscaledHeight);
              }
          }
  
      }
  }
  


(C) Æliens 20/2/2008

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.