Add color correction to AS3 gallery

Hi there,

I have this XML gallery that I’m trying to add color correction to. I’m getting this error though:

1046: Type was not found or was not a compile-time constant: ColorCorrection.

This is a step up from the previous errors I was receiving, about ColorCorrection not even being defined.

Forgive me, this is the first time I’ve messed with AS3 and it’s got me pulling my hair out.

Here’s the code:


//----------------------------------------------------------------------------------------------------
//    XMLSlideshow.as 
//    19 Feb 2009
//    www.simplistika.com
//----------------------------------------------------------------------------------------------------
package com.simplistika
{
import flash.display.*;
import flash.events.*;
import flash.net.URLRequest;
import flash.utils.Timer;
import flash.display.ColorCorrection;

//----------------------------------------------------------------------------------------------------
//    class definition
//----------------------------------------------------------------------------------------------------
public class XMLSlideshow extends cXMLApp 
{
//----------------------------------------------------------------------------------------------------
//    member data
//----------------------------------------------------------------------------------------------------
private var _dummyClass:ColorCorrection;
private var mTimer : Timer;
private var mPlaceholder1 : Loader = new Loader();
private var mPlaceholder2 : Loader = new Loader();
private var mControl : mcControl = new mcControl();
private var mSlide : int;
var newfront:front = new front();


//----------------------------------------------------------------------------------------------------
//    slideshow setup
//----------------------------------------------------------------------------------------------------
private var mFile : String = "http://www.simplistika.com/files/ssp/Slideshow.xml";        // path to xml file
private var mInterval : uint = 8000;                                                    // slide interval
private function _added (e:Event)
{
  removeEventListener(Event.ADDED_TO_STAGE, _added);
  stage.colorCorrection = ColorCorrection.ON;
}

//----------------------------------------------------------------------------------------------------
//    constructor
//----------------------------------------------------------------------------------------------------
public function 
XMLSlideshow(    
) : void
{        
    trace(this + " " + "XMLSlideshow.constructor");
    
    mTimer = new Timer(mInterval, 0);
    
    mPlaceholder1.contentLoaderInfo.addEventListener(Event.OPEN, fOpen);
    mPlaceholder1.contentLoaderInfo.addEventListener(Event.COMPLETE, fResult);
    mPlaceholder2.contentLoaderInfo.addEventListener(Event.OPEN, fOpen);
    mPlaceholder2.contentLoaderInfo.addEventListener(Event.COMPLETE, fResult);
    
    this.addEventListener(MouseEvent.MOUSE_OVER, fOnMouseOver);
    this.addEventListener(MouseEvent.MOUSE_OUT, fOnMouseOut);
    this.addEventListener(MouseEvent.CLICK, fOnClick);
    mTimer.addEventListener(TimerEvent.TIMER, fTimer);
    this.addEventListener(Event.ADDED_TO_STAGE, _added);
    
    addChild(mPlaceholder1);
    addChild(mPlaceholder2);
    //addChild(mControl);
    addChild(newfront);


    mSlide = 0;
    mControl.btnForward.alpha = mControl.btnBack.alpha = mControl.btnPause.alpha = 0.0;
    mControl.btnForward.buttonMode = mControl.btnBack.buttonMode = mControl.btnPause.buttonMode = true;
    mControl.btnForward.visible = mControl.btnBack.visible = false;
    
    super(mFile);    
    super.addEventListener("XMLLoaded", fStart);
    setChildIndex(newfront,numChildren - 1); //bring front to front :)
}

//----------------------------------------------------------------------------------------------------
//    fStart
//----------------------------------------------------------------------------------------------------
private function 
fStart(
    e : Event
) : void
{
    trace(this + " " + "XMLSlideshow.fStart");
    
    fLoadImage();
}

//----------------------------------------------------------------------------------------------------
//    fOnMouseOver
//----------------------------------------------------------------------------------------------------
private function 
fOnMouseOver(
e : MouseEvent
) : void 
{    

    switch (e.target.name)
    {
    case "btnPause":
        mTimer.running ? mControl.txtDesc.text = "Pause" : mControl.txtDesc.text = "Play";
        break;        
    case "btnForward":
        mControl.txtDesc.text = "Next";
        break;        
    case "btnBack":
        mControl.txtDesc.text = "Back";        
        break;    
    default:
        return;
    }
    mControl.txtDesc.alpha = 1;
    e.target.alpha = 0.7;
}

//----------------------------------------------------------------------------------------------------
//    fOnMouseOut
//----------------------------------------------------------------------------------------------------
private function 
fOnMouseOut(
e : MouseEvent
) : void 
{
    switch (e.target.name)
    {
    case "btnPause":
    case "btnForward":
    case "btnBack":
        e.target.alpha = 0.5;
        mControl.txtDesc.alpha = 0;
        return;
    }
}

//----------------------------------------------------------------------------------------------------
//    fOnClick
//----------------------------------------------------------------------------------------------------
private function 
fOnClick(
    e : MouseEvent
) : void 
{
    trace(this + " " + "XMLSlideshow.fOnClick " + e.target.name);
    
    switch (e.target.name)
    {
    case "btnPause":
        if (mControl.txtDesc.text == "Pause") 
        {
            mTimer.stop();
            mControl.btnBack.visible = mControl.btnForward.visible = true;
            mControl.txtDesc.text = "Play";
        } 
        else 
        {
            mTimer.start();
            mControl.btnBack.visible = mControl.btnForward.visible = false;
            mControl.txtDesc.text = "Pause";
        }
        return;
    case "btnForward":
        mSlide == mItems - 1 ? mSlide = 0 : mSlide++;
        break;
    case "btnBack":
        mSlide == 0 ? mSlide = mItems - 1 : mSlide--;
        break;
    default:
        return;
    }        
    fLoadImage();
}

//----------------------------------------------------------------------------------------------------
//    fLoadImage
//----------------------------------------------------------------------------------------------------
private function 
fLoadImage(
) : void
{
    getChildIndex(mPlaceholder1) != 0 ?
        mPlaceholder2.load(new URLRequest(mData.slide[mSlide].url)) : 
            mPlaceholder1.load(new URLRequest(mData.slide[mSlide].url));
}

//----------------------------------------------------------------------------------------------------
//    fTimer
//----------------------------------------------------------------------------------------------------
private function 
fTimer(
    e : TimerEvent
) : void
{
    mSlide == mItems - 1 ? mSlide = 0 : mSlide++;
    fLoadImage();
}

//----------------------------------------------------------------------------------------------------
//    fOpen
//----------------------------------------------------------------------------------------------------
private function 
fOpen(
    e : Event
) : void 
{
    mTimer.stop();
}

//----------------------------------------------------------------------------------------------------
//    fResult
//----------------------------------------------------------------------------------------------------
private function 
fResult(
    e : Event
) : void
{
    if (!mControl.btnForward.visible)
        mTimer.start();
        
    getChildIndex(mPlaceholder1) == 0 ?    fNextImage(mPlaceholder1) : fNextImage(mPlaceholder2);
}

//----------------------------------------------------------------------------------------------------
//    fKenBurns
//----------------------------------------------------------------------------------------------------
private function 
fNextImage(
    vPlaceholder : Loader
) : void
{
    setChildIndex(vPlaceholder, this.numChildren - 2);
    vPlaceholder.alpha = 0;
    vPlaceholder == mPlaceholder1 ? cTween.to(mPlaceholder2, {alpha:0}, 1) : cTween.to(mPlaceholder1, {alpha:0}, 1);
    cTween.to(vPlaceholder, { alpha:1 }, 1);
}

//----------------------------------------------------------------------------------------------------
}    // class

//----------------------------------------------------------------------------------------------------
}    // package