[
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="<--- LEFT" fontSize="24"/>
> <s:Label id="MiddleMarker" horizontalCenter="0"
> verticalCenter="0" text="> > > MIDDLE < < <" fontSize="24"/>
> <s:Label id="RightMarker" right="0" verticalCenter="0"
> text="RIGHT --->" 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)