[ 
https://issues.apache.org/jira/browse/FLEX-34653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15293008#comment-15293008
 ] 

Fréderic Cox commented on FLEX-34653:
-------------------------------------

No problem. Below code works for me although I'm not quite sure what it will do 
on a retina desktop screen..

<?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" xmlns:local="*"
                                           width="1024" height="768" 
runtimeDPIProvider="CustomDPI">
        
        <fx:Style source="css/default.css" />
        
        <local:ShopManager width="100%" height="100%" />

</s:WindowedApplication>

package
{
        import mx.core.RuntimeDPIProvider;
        
        public class CustomDPI extends RuntimeDPIProvider
        {
                public function CustomDPI()
                {
                        super();
                }
                
                override public function get runtimeDPI():Number{
                        return 160;
                }
        }
}

> Setting applicationDPI (autoscaling) on desktop works incorrectly.
> ------------------------------------------------------------------
>
>                 Key: FLEX-34653
>                 URL: https://issues.apache.org/jira/browse/FLEX-34653
>             Project: Apache Flex
>          Issue Type: Bug
>          Components: Layout - General, Skinning
>    Affects Versions: Apache Flex 4.13.0
>         Environment: Windows ( Possible Mac - Not checked ).
>            Reporter: Jason Moore
>              Labels: DPI, Scaling, automatic
>         Attachments: Main.mxml, screenshot.png, screenshot2.png
>
>
> The issue occurs when using automatic scaling and setting the application DPI 
> and overriding the runtimeDPIProvider to set the runtimeDPI where it is 
> incorrectly returned from the OS ( On desktop devices for instance ).
> If the two values match ie 1:1 scaling, there is no issue. But if they differ 
> then the application content is scalled correctly , but the stage size is 
> also scaled, incorrect. This leads to the application being clipped when 
> scaling up and excess space when scaling down.. See code excepts to 
> recreate...
> {code:title=ScaleIssue.mxml|borderStyle=solid}
> <?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"
>                                          applicationDPI="160"
>                                          
> runtimeDPIProvider="myRuntimeDPIProvider">
>       
>               <s:Label id="LeftMarker" left="0" verticalCenter="0" 
> text="&lt;--- LEFT" fontSize="24"/>
>               <s:Label id="MiddleMarker" horizontalCenter="0" 
> verticalCenter="0" text="&gt; &gt; &gt; MIDDLE &lt; &lt; &lt;" fontSize="24"/>
>               <s:Label id="RightMarker" right="0" verticalCenter="0" 
> text="RIGHT ---&gt;" fontSize="24"/>
>                                                        
> </s:WindowedApplication>
> {code}
> {code:title=myRuntimeDPIProvider.as|borderStyle=solid}
> package 
> {
>       
>       import mx.core.DPIClassification;
>       import mx.core.RuntimeDPIProvider;
>       
>       public class myRuntimeDPIProvider extends RuntimeDPIProvider
>       {
>                               
>               /**
>                * Overrride getter function so we can set the dpi manually 
> when running on desktop device
>                * This would normally be a bit more sophisticated... 
>                * 
>                * @return 
>                * 
>                */             
>               override public function get runtimeDPI():Number
>               {                       
>                       return DPIClassification.DPI_240;
>               }
>               
>       }
> }
> {code}
> You should see the text labels pointing to the left and right screen edges.. 
> but instead the right hand label is off screen.
> Hope that makes sense.
> J :)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to