I’m not sure that 1980 counts as a Retina-class display.  IIRC, the player
has reported 72dpi for desktop screens forever.  I think you can also get
it to report 120dpi in some cases, but I don’t think they’ve tried to
introduce useful screenDensity except on mobile devices.  You can try
filing a bug at bugbase.adobe.com and see what they have to say.  They
could have changed something else recently that I’m unaware of.

-Alex


On 3/3/15, 11:55 PM, "Deepak MS" <[email protected]> wrote:

>Yes.
>It's just a recommended screen resolution which user can change under
>system's display(shown in image in the link below):
>http://pbrd.co/1M66RiC
>
>If I change the resolution to 1280 x 1024, then
>Capabilities.screenResolutionX and Y give me 1280 and 1024, which are
>correct values. Only problem is the DPI value.
>
>
>On Wed, Mar 4, 2015 at 12:54 PM, Alex Harui <[email protected]> wrote:
>
>> Is the laptop screen actually 1920 x 1080?
>>
>> On 3/3/15, 10:51 PM, "Deepak MS" <[email protected]> wrote:
>>
>> >Hi Alex,
>> >No luck ;(
>> >
>> >I updated to Flex4.14 FP 16 AIR 16.
>> >
>> >Sample code that I have been trying:
>> >
>> ><?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" minWidth="955"
>> >minHeight="600"
>> >               runtimeDPIProvider="AppRuntimeDPI"
>> >
>> >creationComplete="application1_creationCompleteHandler(event)">
>> >    <s:layout>
>> >        <s:VerticalLayout/>
>> >    </s:layout>
>> >    <fx:Script>
>> >        <![CDATA[
>> >            import mx.events.FlexEvent;
>> >
>> >            protected function
>> >application1_creationCompleteHandler(event:FlexEvent):void
>> >            {
>> >                ta.text = '';
>> >                ta.text += "Capabilities.screenDPI : "+
>> >Capabilities.screenDPI.toString(); //72 in both normal laptop and HD
>> >laptop
>> >                ta.text += "\nCapabilities.screenResolutionX : "+
>> >Capabilities.screenResolutionX.toString();//1600 in normal laptop and
>>1920
>> >in HD laptop
>> >                ta.text += "\nCapabilities.screenResolutionY : "+
>> >Capabilities.screenResolutionY.toString();//900 in normal laptop and
>>1080
>> >in HD laptop
>> >
>> >            }
>> >
>> >        ]]>
>> >    </fx:Script>
>> >    <s:Button label="Hello"/>
>> >    <s:TextInput/>
>> >    <s:DropDownList/>
>> >    <s:Label text="Hello Label"/>
>> >    <s:NumericStepper />
>> >    <s:TextArea id="ta" width="100%"/>
>> ></s:Application>
>> >
>> >AppRuntimeDPI.as :
>> >
>> >package
>> >{
>> >    import mx.core.DPIClassification;
>> >    import mx.core.RuntimeDPIProvider;
>> >
>> >    public class AppRuntimeDPI extends RuntimeDPIProvider
>> >    {
>> >        public function AppRuntimeDPI()
>> >        {
>> >            //super();
>> >        }
>> >
>> >        override public function get runtimeDPI():Number
>> >        {
>> >// cannot check for this condition too as screenDPI for any
>>laptop(normal
>> >or HD) is returned as 72 always. Moreover, any DPI value that I assign
>> >here, doesn't have any effect on the screen element sizes. It's always
>> >same
>> >for all values.
>> >
>> >            // A tablet reporting an incorrect DPI of 240.
>> >            /*if (Capabilities.screenDPI == 240 &&
>> >            Capabilities.screenResolutionX == 600 &&
>> >            Capabilities.screenResolutionY == 1024)
>> >            {
>> >            return DPIClassification.DPI_160;
>> >            }
>> >
>> >            return super.runtimeDPI;*/
>> >            return DPIClassification.DPI_240;
>> >        }
>> >    }
>> >}
>> >
>> >
>> >On Tue, Mar 3, 2015 at 10:30 PM, Deepak MS <[email protected]>
>> >wrote:
>> >
>> >> Hmmm okay. I'll give it a try and let you know. Just hope it works.
>> >> On 3 Mar 2015 21:21, "Alex Harui" <[email protected]> wrote:
>> >>
>> >>> Try the latest AIR SDK?
>> >>>
>> >>> On 3/3/15, 5:28 AM, "Deepak MS" <[email protected]> wrote:
>> >>>
>> >>> >
>> >>>
>> >>>
>> http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/co
>> >>>re
>> >>> >/RuntimeDPIProvider.html
>> >>> >I have tried this on Flex 4 application(4.13, FP15, AIR15) and I'm
>> >>>afraid
>> >>> >it isn't working as expected. I tried to create a runtime class and
>> >>>DPI
>> >>> >value was overridden. But still there is no change. All screen
>> >>>elements
>> >>> >look very small than normal.
>> >>> >
>> >>> >Has anybody come across this case on laptops(high DPI\retina
>> >>>display\HD)?
>> >>> >
>> >>> >On iPad retina display, it works out of the box without any
>> >>> >runtimedpiprovider class when I use flex 4.13 but not on this
>>laptop.
>> >>> When
>> >>> >I checked Capabilites.screenDPI, I get the value as 72. Looks like
>> >>>value
>> >>> >returned isn't correct nor is it getting overridden.
>> >>> >
>> >>> >Any ideas?
>> >>> >
>> >>> >PS: I'm testing this on Dell latitude E7440.
>> >>>
>> >>>
>>
>>

Reply via email to