flex-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason Moore (JIRA)" <j...@apache.org>
Subject [jira] [Created] (FLEX-34653) Overriding RuntimeDPIProvider causes incorrect application scalling
Date Tue, 02 Dec 2014 16:58:13 GMT
Jason Moore created FLEX-34653:

             Summary: Overriding RuntimeDPIProvider causes incorrect application scalling
                 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

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...
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
		<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"/>

	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;

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

View raw message