Copy link to clipboard
Copied
Hello Everybody I would like to relate one issue I have when I load a normal Application SWF Module
from an external and add it to the main AIR WindowedApplication.
I have one WindowedApplication which goes like this :
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
skinClass="skin.Skin" showStatusBar="false">
<fx:Script>
<![CDATA[
.................. HERE IS THE CODE TO LOAD THE SWFLOADER
]]>
</fx:Script>
</s:WindowedApplication>
The skin of the main WindowedApplication goes like this ...
<?xml version="1.0" encoding="utf-8"?>
<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<!-- host component -->
<fx:Metadata>
[HostComponent("spark.components.Application")]
</fx:Metadata>
<s:states>
<mx:State name="normal" />
<mx:State name="disabled" />
<mx:State name="normalAndInactive"/>
<mx:State name="disabledAndInactive"/>
</s:states>
<s:Rect top="0" left="0" bottom="0" right="0" radiusX="10" radiusY="10">
<s:fill>
<mx:SolidColor color="#FFFFFF"/>
</s:fill>
<s:stroke>
<mx:SolidColorStroke color="#000000"/>
</s:stroke>
</s:Rect>
<s:Group id="contentGroup" top="0" bottom="0" left="0" right="0"/>
<!-- <s:Image bottom="5" right="5" mouseDown="onResizeImageClicked(event)" source="@Embed(source='assets/resize.png')" /> -->
</s:SparkSkin>
I have an Application module like this :
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
name="core" skinClass="skin.Skin" resize="onResize(event)">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here skinClass="skin.MainSkin" -->
</fx:Declarations>
<s:layout>
<s:VerticalLayout/>
</s:layout>
<s:Button id="cool" width="100%" height="100%" verticalCenter="0" horizontalCenter="0" label="COOL!"/>
</s:Application>
The skin of that application :
<?xml version="1.0" encoding="utf-8"?>
<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<!-- host component -->
<fx:Metadata>
[HostComponent("spark.components.Application")]
</fx:Metadata>
<s:states>
<s:State name="normal" />
<s:State name="disabled" />
<s:State name="normalAndInactive"/>
<s:State name="disabledAndInactive"/>
</s:states>
<fx:Script>
<![CDATA[
import mx.core.FlexGlobals;
import spark.components.Application;
protected function onResizeImageClicked(event:MouseEvent):void
{
var st:Stage = FlexGlobals.topLevelApplication.stage;
//this.stage.nativeWindow.startResize(NativeWindowResize.BOTTOM_RIGHT);
st.nativeWindow.startResize(NativeWindowResize.BOTTOM_RIGHT);
}
]]>
</fx:Script>
<s:Rect top="0" left="0" bottom="0" right="0" radiusX="10" radiusY="10">
<s:fill>
<mx:SolidColor color="#FBF793"/>
</s:fill>
<s:stroke>
<mx:SolidColorStroke color="#000000"/>
</s:stroke>
</s:Rect>
<s:Image bottom="5" right="5" mouseDown="onResizeImageClicked(event)" source="@Embed(source='assets/resize.png')" />
<s:Group id="contentGroup" left="0" right="0" top="10" bottom="25"/>
</s:SparkSkin>
The problem I have is really simple ... When the whole thing is launching and showing the main WindowedApplication everything is going fine.
The problem is when I scale down the size of the window by clicking the Image this is the artifact that is shown by the main WindowedApplication.
When I scale down It goes like this
When I minimize the WindowedApplication with the icon on the taskbar of the OS the main window disapear.
When I reclick the icon on the taskbar the window reappear and the bug is gone. I guess that Flash is triggering
some kind of general refresh of the whole app because it was not visible.
Note : this bug only happens when I scale down the size os the window.
How can I fix this bug or how can I simulate the minimize and show like I did when I clicked the app icon from the taskbar?