flex-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Deepak MS <megharajdee...@gmail.com>
Subject Re: runtimeDPIProvider in mx:Application?
Date Mon, 16 Feb 2015 09:23:31 GMT
Instead of stage.scaleX i used just scaleX (core application's scaleX) and
it worked well.

Based on Capabilities.screenResolutionX\Y values, I'll customly scale the
application's scaleX\Y.

Thanks Om and Alex.

On Mon, Feb 16, 2015 at 2:17 PM, Deepak MS <megharajdeepak@gmail.com> wrote:

> Ok. I thought scaleX\Y would work.
>
> But when I try to set the scaleX\Y value, I'm getting error:
> //systemManager.stage.scaleMode = StageScaleMode.NO_SCALE;
>                 systemManager.stage.scaleX = 1.25;
>                 systemManager.stage.scaleY = 1.25;
>
> Error: Error #2071: The Stage class does not implement this property or
> method.
>     at Error$/throwError()
>     at flash.display::Stage/set scaleX()
>     at
> App/onCreationComplete()[C:\Users\deepakms\Documents\FlexProjectsWorkspaces\NewProjectSpace\IMD\src\App.mxml:76]
>     at
> App/___App_Application1_creationComplete()[C:\Users\deepakms\Documents\FlexProjectsWorkspaces\NewProjectSpace\IMD\src\App.mxml:13]
>     at flash.events::EventDispatcher/dispatchEventFunction()
>     at flash.events::EventDispatcher/dispatchEvent()
>     at
> mx.core::UIComponent/dispatchEvent()[C:\autobuild\3.x\frameworks\projects\framework\src\mx\core\UIComponent.as:9590]
>     at mx.core::UIComponent/set
> initialized()[C:\autobuild\3.x\frameworks\projects\framework\src\mx\core\UIComponent.as:1175]
>     at
> mx.managers::LayoutManager/doPhasedInstantiation()[C:\autobuild\3.x\frameworks\projects\framework\src\mx\managers\LayoutManager.as:718]
>     at Function/http://adobe.com/AS3/2006/builtin::apply()
>     at
> mx.core::UIComponent/callLaterDispatcher2()[C:\autobuild\3.x\frameworks\projects\framework\src\mx\core\UIComponent.as:8892]
>     at
> mx.core::UIComponent/callLaterDispatcher()[C:\autobuild\3.x\frameworks\projects\framework\src\mx\core\UIComponent.as:8832]
>
>
> What does runtimeDPIProvider in flex 4 internally do? I couldn't get much
> details on it, as you said, I believe it's about scaling ultimately. May be
> I can try to replicate that in flex 3 application?
>
>
>
> On Mon, Feb 16, 2015 at 1:05 PM, Alex Harui <aharui@adobe.com> wrote:
>
>> Flex defaults to NO_SCALE.
>>
>> In Flex, the SystemManager is the root.  You can play with setting
>> systemManager.scaleX and systemManager.scaleY.
>>
>> IIRC, there are several factors to controlling stage scale:  the SWF
>> dimensions stored in the SWF header and set in the MXML application tag
>> and the actual size of the window.  In AIR, you can control the size of
>> the window from code  AIR also has the requestedDisplayResolution
>> descriptor tag.
>>
>> If the SWF size matches the Window size it should scale more predictably.
>> I haven’t tried it with AIR and Retina.
>>
>> https://blogs.adobe.com/aharui/2008/01/flex_and_scalemodes.html
>>
>> On 2/15/15, 11:03 PM, "Deepak MS" <megharajdeepak@gmail.com> wrote:
>>
>> >Hi Alex,
>> >Just looked at it.
>> >
>> >There are 4 different values it can take. I tried all 4:
>> >EXACT_FIT
>> ><
>> http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/
>> >display/StageScaleMode.html#EXACT_FIT>
>> >NO_BORDER
>> ><
>> http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/
>> >display/StageScaleMode.html#NO_BORDER>
>> >SHOW_ALL
>> ><
>> http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/
>> >display/StageScaleMode.html#SHOW_ALL>
>> >All the 3 options above zoom the application upto 400%! (components are
>> >scaled up way too big)
>> >
>> >Then I tried NO_SCALE
>> ><
>> http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/
>> >display/StageScaleMode.html#NO_SCALE>.
>> >This doesn't change anything. It stays as is(components size look quite
>> >small).
>> >
>> >I came across this link:
>> >
>> http://stackoverflow.com/questions/23242855/using-stage-scalemode-stagesca
>> >lemode-show-all-how-to-determine-current-zoom-per
>> >
>> >Someone has mentioned this there:
>> >"Finally, I accomplished the same by alternative way. I instead of using,
>> >stage.scaleMode = StageScaleMode.SHOW_ALL, used stage.scaleMode =
>> >StageScaleMode.NO_SCALE and manually scaled the root to achieve zoom.
>> >Doing
>> >this, I now have zoomlevel known :). Hope this helps anyone with similar
>> >problem."
>> >
>> >I'm not sure what 'manually scaled the root' meant there. Any idea?
>> >
>> >On Mon, Feb 16, 2015 at 11:50 AM, Alex Harui <aharui@adobe.com> wrote:
>> >
>> >> Have you tried using Stage.scaleMode?
>> >>
>> >> On 2/15/15, 9:01 PM, "Deepak MS" <megharajdeepak@gmail.com> wrote:
>> >>
>> >> >Hi Om,
>> >> >Yes, Capabilities.screenDPI is there, but how do I set the DPI value
>> >>for
>> >> >the application?
>> >> >
>> >> >I tried a trace:
>> >> >trace(Capabilities.screenDPI.toString());
>> >> >                trace(Capabilities.screenResolutionX.toString());
>> >> >                trace(Capabilities.screenResolutionY.toString());
>> >> >
>> >> >In old laptop this is what I got:
>> >> >72
>> >> >1600
>> >> >900
>> >> >
>> >> >In new laptop:
>> >> >72
>> >> >1920
>> >> >1080
>> >> >
>> >> >Based on screenResolutionX\Y, I need to override the DPI value of the
>> >> >application. Where can I do that part?
>> >> >
>> >> >On Mon, Feb 16, 2015 at 10:04 AM, OmPrakash Muppirala
>> >> ><bigosmallm@gmail.com>
>> >> >wrote:
>> >> >
>> >> >> Have you tried Capabilities.screenDPI ?  It should be available
in
>> mx
>> >> >> applications as well.
>> >> >>
>> >> >> Thanks,
>> >> >> Om
>> >> >>
>> >> >> On Sun, Feb 15, 2015 at 8:29 PM, Deepak MS <
>> megharajdeepak@gmail.com>
>> >> >> wrote:
>> >> >>
>> >> >> > Hello,
>> >> >> > Just like retina display ipads, off late, there have been
laptops
>> >>with
>> >> >> > higher DPIs. And we have some of our flex 3 applications in
which
>> >>all
>> >> >>the
>> >> >> > components look too small in overall size on screen in new
laptops
>> >> >> > (something like the screenshots shown here in this link:
>> >> >> > https://forums.adobe.com/thread/977263 )
>> >> >> >
>> >> >> > We can achieve it in flex 4 :
>> >> >> >
>> >> >> >
>> >> >>
>> >> >>
>> >>
>> >>
>> http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/cor
>> >> >>e/RuntimeDPIProvider.html
>> >> >> >
>> >> >> > But I want to know if there is anything I can try to achieve
it in
>> >> >>flex 3
>> >> >> > we applications, as it doesn't have "runtimeDPIProvider" property.
>> >> >> >
>> >> >> > Appreciate your help.
>> >> >> >
>> >> >> > Cheers!
>> >> >> >
>> >> >>
>> >>
>> >>
>>
>>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message