Mouse events outside stack bounds on mobile

J. Landman Gay jacque at hyperactivesw.com
Sat Oct 10 21:19:49 EDT 2015


Thanks guys, I guess I need to explain the layout better. This is 
Swami's stack, which I think Colin has looked at. I'm pretty sure this 
is a bug, but it just barely borders on understandable behavior so I'm 
not sure. I've run into multiple issues with visual effects, mouse 
messages, and other things with this stack, particularly on Android.

There's a background image (a real image object) on layer 1. Overlaid on 
that is a group containing a field with text. The field is the width of 
the card and scales correctly on mobile (in general; see below.)

The original idea was to swipe vertically to scroll the field text (with 
a native scroller, which works fine) and swipe horizontally to change 
the text and related image. I couldn't make that work because I 
consistently get a mouseDown in the field, but almost never get a 
mouseUp when swiping. I almost asked about that here, but the specs 
changed to use a tap at the sides of the field for navigation so I 
dropped it. I do get both mouseDown and mouseUp for simple taps, so that 
works.

But if the tap is outside the bounds of the original 141px stack width 
(on wider devices) no mouseUp or mouseDown messages are sent at all. 
Visually everything looks fine but nothing triggers. If I tap instead 
within the area of the unscaled stack width, it works.

One thing that clued me in is that we use a scroll down visual effect in 
the rect of the text group to show new text. When the scroll happens, it 
is only as wide as the original 141 pixels, there is no scrolling at the 
edges. When the scroll effect is finished, the screen redraws and 
expands the field to include the full width of the device. It's like the 
scroll is happening inside a narrower column in the middle of the card, 
and then the display is corrected to scale afterward. You can see the 
group pop out to the edges suddenly.

If I watch where the side edges of that column are, and I tap anywhere 
inside it, I get mouse events. If I tap anywhere outside it, no events. 
I did try a noBorder fullscreenMode instead of showAll, but the behavior 
was the same.

Sounds like a bug to me, but we're on a deadline so I was hoping for a 
workaround.


On 10/10/2015 2:59 PM, Colin Holgate wrote:
> showAll doesn’t just center things and reveal extra content, it also
> scales the stack to fill the screen, no matter what size it is.
>
> You would have thought that if the background image is an object with
> a script in it, the touches would register. Maybe you’re using a
> non-control background image?
>
> noBorder might have a better chance, because everything you see is
> within the card area. I don’t see why a card or stack script would
> fail to pick up touches.
>
> Do the touches respond if you don’t have the background images?
>
>
>> On Oct 10, 2015, at 3:40 PM, Scott Rossi <scott at tactilemedia.com>
>> wrote:
>>
>> I've been trying to figure out some option for this, but only thing
>> that comes to mind is: allowing the stack to fill the display
>> normally, and manually adjusting the card's content to stay
>> centered within the stack. The easiest way to do this would be to
>> have all your controls in a group, if that's possible.
>>
>> Why does does the background portion need to be tappable?
>>
>> Regards,
>>
>> Scott Rossi Creative Director Tactile Media UX/UI Design
>>
>>> On Oct 9, 2015, at 6:44 PM, J. Landman Gay
>>> <jacque at hyperactivesw.com> wrote:
>>>
>>> I am using "showAll" fullscreenmode for a mobile stack that uses
>>> large background images so that the entire screen will have
>>> content when the device is larger than the development stack. For
>>> example, the normal stack in the IDE is 414 pixels wide. On the
>>> iPhone simulator, there are perhaps 20-30 pixels outside that
>>> boundary on the edges.
>>>
>>> When I tap on those edge areas outside the "normal" stack
>>> boundary, no mouse messages are sent. I need to detect user
>>> clicks anywhere on the screen. I tried "noBorder" with the same
>>> results. Any suggestions? Given the current layout, letterbox
>>> won't work.
>>>
>>> -- Jacqueline Landman Gay         |     jacque at hyperactivesw.com
>>> HyperActive Software           |
>>> http://www.hyperactivesw.com


-- 
Jacqueline Landman Gay         |     jacque at hyperactivesw.com
HyperActive Software           |     http://www.hyperactivesw.com





More information about the use-livecode mailing list