One Rect For All specificaiton

Sannyasin Brahmanathaswami brahma at hindu.org
Mon Jan 25 21:49:25 CET 2016


Disclaimer on my “Safe Zone’ stack

The initial discovery “target” for that initiative was simply to come up with something to tell our illustrators and artists. I believe the 75%  “middle area is your safe zone”  but 12.5% top/Bottom (or left-right) holds as an instruction for artists.

BUT:  @Jacque: agreed we need take this to the “next level”

— for controls in the LC GUI, the issue is more complex: and yes, I see/saw the same problem…note in that stack how the bottom group “utils” is floating on a baseline 12.5% of the vertical height up from the actual bottom of the iPad in the simulator

@Colin: "Just have the left of left side tools be at 0, and the right of right side tools be at the card width.”

Good idea, but:

Where and when do you call this? I tried a similar simple approach for the bottom bar with  “set the bottom of group “utils” to the height of this stack”  this works if I resize the stack in Livecode (in an attempt to simulate the simulator)

but it’s not working in the xCode simulator when running a 16 X 9 stack to a iPad as the test target

I tried three methods which try to avoid "don’t use clever code to position the tools.:

but they all failed

but resizeStack is not sent when opened on a different device/ratio (it would be cool if that were a feature!()


on resizeStack x,y

   set the bottom of group "utils" to y

   set the bottom of group "bottomBleedGroup" to y

end resizestack


doesn’t work


This also does not work:


on preOpenStack

   if isMobile() then

      Set the fullScreenMode of this stack to "ShowAll"

   end if

   put the rect of this card into tCardRect

   set the bottom of group "utils" to item 4 of tCardRect

   set the bottom of group "bottomBleedGroup" to  item 4 of tCardRect



end preOpenStack


This also does not work:


on preOpenStack

   if isMobile() then

      Set the fullScreenMode of this stack to "ShowAll"

         put the effective working ScreenRect into tScreenRect

   end if


   set the bottom of group "utils" to item 4 of tScreenRect

   set the bottom of group "bottomBleedGroup" to  item 4 of tScreenRect



end preOpenStack


Those group stick to their original “native” stack location even though the current device context offers more area below (or top or left and right)


So, perhaps we need just a bit of “clever code”  ?? Is the card script is a better location, since possibly preOpenStack is not yet informed as the screen context?


BR







On January 25, 2016 at 8:12:49 AM, J. Landman Gay (jacque at hyperactivesw.com<mailto:jacque at hyperactivesw.com>) wrote:

I've moved a 16:9 stack to Android and the problem with right/left edges wasn't minor. There was a significant gap at the edges that made toolbars and images appear to be hanging in space.

I think the general rule to use 75% of the internal area for the content will probably translate to Android fine, but if there are background images, toolbars, or other objects that need to cover the entire visible area then they need to be much wider and/or taller than the dimensions of an iPhone to be usable on the wide variety of Android devices.


More information about the use-livecode mailing list