                     _mask.cacheAsBitmap = true;
                     cacheAsBitmap = true;
                 }
+				else if (_maskType == MaskType.LUMINOSITY)
+				{
+					// Sets up the mask's mode property based on 
+					// whether the luminosityClip and 
+					// luminosityInvert properties are on or off. 
+					var mode:int;
+					if (luminosityClip && !luminosityInvert) 
+						mode = 0; 
+					if (luminosityClip && luminosityInvert) 
+						mode = 1; 
+					if (!luminosityClip && !luminosityInvert) 
+						mode = 2; 
+					if (!luminosityClip && luminosityInvert) 
+						mode = 3;
+					
+					_mask.cacheAsBitmap = true;
+					cacheAsBitmap = true;
+					
+					// Create the luminosityMask shader, apply the correct mode to it, 
+					// and create the filter
+					var luminosityMaskShader:LuminosityMaskShader = new LuminosityMaskShader();
+					luminosityMaskShader.mode = mode;
+					var maskFilter:ShaderFilter = new ShaderFilter(luminosityMaskShader);
+					
+					// Apply the filter to the mask
+					_mask.filters = [maskFilter];
+				}
             }
         }       
 

     */
    public function set maskType(value:String):void
    {
    	// FIXME (dsubrama): Temporarily exit when maskType is
    	// set to luminosity; support for this will come shortly. 
    	if (value == "luminosity")
    		return; 
    		
        if (_maskType != value)
        {
            _maskType = value;
            maskTypeChanged = true;

    
    /**
     *  The mask type.
     *  Possible values are <code>MaskType.CLIP</code> and <code>MaskType.ALPHA</code> 
	 *  or <code>MaskType.LUMINOSITY</code>. 
     *
     *  <p>The default value is <code>MaskType.CLIP</code>, corresponding to "clip".</p>
     *
