I am struggling with a bug that was reported in February, and confirmed by the team, but remains unsolved. it's been so long that I posted a new bug report here, not remembering that I had one already in that related but is five months old
http://quality.livecode.com/show_bug.cgi?id=17906 And the confirmed one is here: http://quality.livecode.com/show_bug.cgi?id=16965 It's a blocker for me, so I looking for "hack-arounds" --perhaps we need to even go so far as to change our methods/architecture, where we intend, hopefully to make heavy use of the browser widget so that we can flip between native LC content, web content and HTML5 content on the fly. If you are interested you can download my "prototype" stack here: http://wiki.hindu.org/screenshots/surprise-me.zip this stack will eventually pull media from the web server. Challenge: the use case is to have cards render initially on mobile in portrait orientation, but when moving to card 3 the stack size is dynamically changed to 736w X 414h i.e. switches from portrait to landscape in order to accommodate a full screen browser widget rect 0,0,414,746. then moving back to another card, switches to portrait. Since the app intends to include a lot of content that needs to be view in a locked Portrait OR locked Landscape orientation, the goal was to find methods that would all for doing this dynamically as we move from one card to the next, all in the same stack. To make matters more dicy, we are using set fullscreenmode to "show all" My algorithm was: - set a custom prop on each card "uOrientation" which is hard wired to either "Portrait" or "Landscape" - preopen card handler the reformats the rect and layout on preopencard setOrientation end preopencard on setOrientation put the uOrientation of this card into tCurrentCardOrientation if tCurrentCardOrientation is "Landscape" then if isMobile() then mobileSetAllowedOrientations "landscape right, landscape left" set the width of this stack to 736 set the height of this stack to 414 setBarLocations setBottomNavtoSideAndBack "Side" else if isMobile() then mobileSetAllowedOrientations "portrait, portrait upside down" set the width of this stack to 414 set the height of this stack to 736 setBarLocations setBottomNavtoSideAndBack bottom" end if --set the loc of this stack to the screenloc end setOrientation Whether this is the smartest approach or not… I don't know… I'm a newbie at this orientation change business. But it works pretty well… almost… the Browser widget will not respond to a command to reposition. on card three we have: on preopencard setOrientation set the topleft of widget "surpriseBrowser" to 0,0 put 0 into gBrowserStatusFlag hide grp "homeScreensBottomNav" end preopencard On desktop, to get around the bug I have to do this "hacky thingy" on that same card: on opencard choose pointer tool choose browser tool # the browser widget jumps to the assigned rect 0,0,141,736 send checkBrowserState to me in 3 seconds end opencard On mobile, after introducing these commands if isMobile() then mobileSetAllowedOrientations "landscape right, landscape left" if isMobile() then mobileSetAllowedOrientations "portrait, portrait upside down" all the "native" LC controls behave perfectly in iOS, but the browser widget fails to appear on my iPhone Any ideas? Anyone else doing portrait/landscape/portrait switching "on the fly" with a browser widget? FYI side note I was able to get the card to respond to a mousedown when the browser widget covered the whole card and so control/move the position of the browser widget to expose stack navigation when in full screen mode. So if you get to card three and things look strange, just mousedown and hold an navigation will appear, then hide it with the icon the bottom left. I'm off now to see if I break out that browser widget to a substack with a fixed size… if that helps. BR _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode