[Topic][Dumbfounded] Is there a way to resize and move a group without touching the inside objects

Scott Rossi scott at tactilemedia.com
Thu May 9 16:24:25 EDT 2013

[ tags on posts are starting to get scary ]

Hi Tom:

Here's some group scaling code I've been meaning to post for a while now.
All it does is scale objects proportionally to a (locked) parent group. If
objects extend beyond the boundaries of the group, their positions and
sizes should stay intact.  The script does NOT scale all the objects'
properties (that's another script that will come later).  Maybe you can
make use of this.

command scaleGroup pGroup, pScale
   put rect of pGroup into theGroupRect
   put width of pGroup into W
   put height of pGroup into H
   set boundingRect of pGroup to rect of pGroup
   repeat with N = 1 to number of controls of pGroup
      put long id of control  N of pGroup into theControl
      put rect of theControl into theRect
      put item 1 of theRect - item 1 of theGroupRect into L
      put item 2 of theRect - item 2 of theGroupRect into T
      put item 1 of theRect + round(width of theControl * pScale) into
item 3 of theRect
      put item 2 of theRect + round(height of theControl * pScale) into
item 4 of theRect
      set rect of theControl to theRect
      set topLeft of theControl to \
            item 1 of theGroupRect + round(L * pScale),item 2 of
theGroupRect + round(T * pScale)
   end repeat
   put margins of pGroup into theMargins
   repeat with N = 1 to number of items of theMargins
      put round (item N of theMargins * pScale) into item N of theMargins
   end repeat
   set margins of pGroup to theMargins
   set boundingRect of pGroup to empty
   set rect of pGroup to \
         item 1 of theGroupRect,item 2 of theGroupRect,item 1 of
theGroupRect + round(W * pScale),item 2 of theGroupRect + round(H * pScale)
end scaleGroup


Scott Rossi
Creative Director
Tactile Media, UX/UI Design

On 5/9/13 12:23 PM, "Thomas McGrath III" <mcgrath3 at mac.com> wrote:

>Is there a way to resize and move a scrolling group without touching the
>inside contents of that group??? This is on mobile and I need to resize a
>scrolling group based on the position of the UI (navbar and toolbar when
>in portrait and landscape) when the UI changes and then after the
>scrolling group is right I then need to separately resize the contents
>for retina if needed -- to double their height, width and topleft -- or
>If I resize the group first then it moves the content and then doubling
>the content makes it the right size but positioned wrong.
>If I resize the content and then move the group then it again correctly
>sizes the contents but positions them wrong.
>If the group moves then everything is in a different position from when I
>laid them out in the desktop so they are off.
>I want the scrolling group code to be separate from the resizing code if
>-- Tom McGrath III
>mcgrath3 at mac.com
>use-livecode mailing list
>use-livecode at lists.runrev.com
>Please visit this url to subscribe, unsubscribe and manage your
>subscription preferences:

More information about the Use-livecode mailing list