Quantcast

Transparent browser widgets?

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Transparent browser widgets?

Richmond Mathewson via use-livecode
Apparently, both WebView (android) and uiwebview (iOS) have transparent modes.

Would it be easy for the LC team to implement a transparent mode for browser widgets, where the background color is transparent, allowing other objects to show through?

This would obviate the need for some the processor intensive image transfers in and out of the widget.

I know one would have to set the background-color of the body element to transparent and set a couple of settings in the WebView calls. Is that all it would take?

Sent from my iPhone
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Transparent browser widgets?

Richmond Mathewson via use-livecode
jonathandlynch wrote:

 > Apparently, both WebView (android) and uiwebview (iOS) have
 > transparent modes.
 >
 > Would it be easy for the LC team to implement a transparent mode for
 > browser widgets, where the background color is transparent, allowing
 > other objects to show through?
 >
 > This would obviate the need for some the processor intensive image
 > transfers in and out of the widget.
 >
 > I know one would have to set the background-color of the body element
 > to transparent and set a couple of settings in the WebView calls. Is
 > that all it would take?

I'd guess that it wouldn't be hard to implement, but much harder to
implement in a way performant enough for anyone to want to use. :)

I believe the browser widget maintains its own buffer, blitted to
screen.  This makes it fast, but prevents it from mixing its rendering
with LC-native controls.

For mixed rendering it would need to render within the compositing
process Mark Waddingham outlined here a while back in answer to Jacque's
question about acceleratedRendering.  My guess would be that doing so as
rapidly as a browser might conceivably update would be computationally
expensive.

That's just a guess, though.  I'd be happy to be wrong. Integrated
rendering of the browser widget would be nice.

--
  Richard Gaskin
  Fourth World Systems
  Software Design and Development for the Desktop, Mobile, and the Web
  ____________________________________________________________________
  [hidden email]                http://www.FourthWorld.com

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Transparent browser widgets?

Richmond Mathewson via use-livecode
In reply to this post by Richmond Mathewson via use-livecode
I'll bet that a transparent background for the browser widget is
impossible to have. This would require that webkit or Chromium
(or whatever LC uses for the browser widget) allow a transparent
background.

What will be probably possible is setting the blendLevel of the
widget (as a whole), see Mark's note here:
http://quality.livecode.com/show_bug.cgi?id=19667 


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Transparent browser widgets?

Richmond Mathewson via use-livecode
I used to have an occasional bug in 8.1.3 where the browser widget would get a transparent background.

I had to restart the ide when that happened.

So, I think it may be possible.

Sent from my iPhone

> On May 13, 2017, at 7:15 PM, hh via use-livecode <[hidden email]> wrote:
>
> I'll bet that a transparent background for the browser widget is
> impossible to have. This would require that webkit or Chromium
> (or whatever LC uses for the browser widget) allow a transparent
> background.
>
> What will be probably possible is setting the blendLevel of the
> widget (as a whole), see Mark's note here:
> http://quality.livecode.com/show_bug.cgi?id=19667 
>
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Transparent browser widgets?

Richmond Mathewson via use-livecode
In reply to this post by Richmond Mathewson via use-livecode
On 2017-05-13 19:35, Jonathan Lynch via use-livecode wrote:

> Apparently, both WebView (android) and uiwebview (iOS) have transparent
> modes.
>
> Would it be easy for the LC team to implement a transparent mode for
> browser widgets, where the background color is transparent, allowing
> other objects to show through?
>
> This would obviate the need for some the processor intensive image
> transfers in and out of the widget.
>
> I know one would have to set the background-color of the body element
> to transparent and set a couple of settings in the WebView calls. Is
> that all it would take?

The browser widget uses a system 'view' (UIView on Mac, View on Android,
HWND on Windows, NSView on Mac and X11 Window on Linux) to host the
browser
control - thus whether or not they can be composited with a transparent
background depends on the system.

For Mac, Android and iOS it is probably possible by just toggling a flag
to say whether the view is opaque or not (although I've not looked into
it).

For Windows, Linux things are more tricky - as it requires that child
windows composite into the parent window. The 'traditional' model on
those
platforms is that child windows are islands-on-their-own. That being
said,
CEF does have a windowless mode in more recent versions which might be
usable to get a similar effect. However, I'm not sure what would be
involved
in providing that as a choice.

Warmest Regards,

Mark.

--
Mark Waddingham ~ [hidden email] ~ http://www.livecode.com/
LiveCode: Everyone can create apps

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Transparent browser widgets?

Richmond Mathewson via use-livecode
Hi Mark,

Would you guys consider looking into this further? It would give developers so many presentation options.

Sent from my iPhone

> On May 15, 2017, at 7:19 AM, Mark Waddingham via use-livecode <[hidden email]> wrote:
>
>> On 2017-05-13 19:35, Jonathan Lynch via use-livecode wrote:
>> Apparently, both WebView (android) and uiwebview (iOS) have transparent modes.
>> Would it be easy for the LC team to implement a transparent mode for
>> browser widgets, where the background color is transparent, allowing
>> other objects to show through?
>> This would obviate the need for some the processor intensive image
>> transfers in and out of the widget.
>> I know one would have to set the background-color of the body element
>> to transparent and set a couple of settings in the WebView calls. Is
>> that all it would take?
>
> The browser widget uses a system 'view' (UIView on Mac, View on Android,
> HWND on Windows, NSView on Mac and X11 Window on Linux) to host the browser
> control - thus whether or not they can be composited with a transparent
> background depends on the system.
>
> For Mac, Android and iOS it is probably possible by just toggling a flag
> to say whether the view is opaque or not (although I've not looked into
> it).
>
> For Windows, Linux things are more tricky - as it requires that child
> windows composite into the parent window. The 'traditional' model on those
> platforms is that child windows are islands-on-their-own. That being said,
> CEF does have a windowless mode in more recent versions which might be
> usable to get a similar effect. However, I'm not sure what would be involved
> in providing that as a choice.
>
> Warmest Regards,
>
> Mark.
>
> --
> Mark Waddingham ~ [hidden email] ~ http://www.livecode.com/
> LiveCode: Everyone can create apps
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Transparent browser widgets?

Richmond Mathewson via use-livecode
In reply to this post by Richmond Mathewson via use-livecode
I've added:

http://quality.livecode.com/show_bug.cgi?id=19697

As an enhancement request for an 'opaque' property - at least on
Mac, Android and iOS.

There is also this:

http://quality.livecode.com/show_bug.cgi?id=17613

Which, again, should be feasible on Mac, Android and iOS.

Warmest Regards,

Mark.

--
Mark Waddingham ~ [hidden email] ~ http://www.livecode.com/
LiveCode: Everyone can create apps

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Transparent browser widgets?

Richmond Mathewson via use-livecode
Mark Waddingham wrote:

> I've added:
>
> http://quality.livecode.com/show_bug.cgi?id=19697
>
> As an enhancement request for an 'opaque' property - at least on
> Mac, Android and iOS.
>
> There is also this:
>
> http://quality.livecode.com/show_bug.cgi?id=17613
>
> Which, again, should be feasible on Mac, Android and iOS.

These nuances will no doubt be useful on those platforms - thanks.

Any chance we'll see the ability to play audio and video at all in Linux
restored?

--
  Richard Gaskin
  Fourth World Systems
  Software Design and Development for the Desktop, Mobile, and the Web
  ____________________________________________________________________
  [hidden email]                http://www.FourthWorld.com

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Transparent browser widgets?

Richmond Mathewson via use-livecode
In reply to this post by Richmond Mathewson via use-livecode
Thank you for this, Mark.

I realize how many improvement requests the LC staff has to handle, so I do understand why we cannot all have our way whenever we make a request.

Sent from my iPhone

> On May 15, 2017, at 8:12 AM, Mark Waddingham via use-livecode <[hidden email]> wrote:
>
> I've added:
>
> http://quality.livecode.com/show_bug.cgi?id=19697
>
> As an enhancement request for an 'opaque' property - at least on
> Mac, Android and iOS.
>
> There is also this:
>
> http://quality.livecode.com/show_bug.cgi?id=17613
>
> Which, again, should be feasible on Mac, Android and iOS.
>
> Warmest Regards,
>
> Mark.
>
> --
> Mark Waddingham ~ [hidden email] ~ http://www.livecode.com/
> LiveCode: Everyone can create apps
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Transparent browser widgets?

Richmond Mathewson via use-livecode
In reply to this post by Richmond Mathewson via use-livecode
On 2017-05-15 16:43, Richard Gaskin via use-livecode wrote:
> Any chance we'll see the ability to play audio and video at all in
> Linux restored?

I'm not quite sure what relation that has to 'Transparent Browser
Widget'...

Re-implementing audio and video in Linux is not currently on our near
term
todo list.

Warmest Regards,

Mark.

--
Mark Waddingham ~ [hidden email] ~ http://www.livecode.com/
LiveCode: Everyone can create apps

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Transparent browser widgets?

Richmond Mathewson via use-livecode
On Mon, May 15, 2017 at 12:03 PM, Mark Waddingham via use-livecode <
[hidden email]> wrote:

> On 2017-05-15 16:43, Richard Gaskin via use-livecode wrote:
>
>> Any chance we'll see the ability to play audio and video at all in
>> Linux restored?
>>
>
> I'm not quite sure what relation that has to 'Transparent Browser
> Widget'...
>
> Re-implementing audio and video in Linux is not currently on our near term
> todo list.
>
> Warmest Regards,
>
> Mark.
>
> --
> Mark Waddingham ~ [hidden email] ~ http://www.livecode.com/
> LiveCode: Everyone can create apps
>
>
I have to agree with Richard on this.  It seems tis always time to add new
and cool features to iOS and Mac, but not enough time to repair what has
been broken.  Linux isn't as mainstream, but it does have a decent base of
committed users.  I do believe they too would enjoy functional audio/video
content in their LC apps.  Just sayin'.

~Roger
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Transparent browser widgets?

Richmond Mathewson via use-livecode
On 2017-05-15 19:10, Roger Eller via use-livecode wrote:
> I have to agree with Richard on this.  It seems tis always time to add
> new
> and cool features to iOS and Mac, but not enough time to repair what
> has
> been broken.  Linux isn't as mainstream, but it does have a decent base
> of
> committed users.  I do believe they too would enjoy functional
> audio/video
> content in their LC apps.  Just sayin'.

Um - where did I say the request was going to be implemented NOW?
Nowhere that I can see...

I filed an enhancement request so the suggestion wasn't lost - why did
I?

Because I recalled adding an opaque property to the mobileControl
"browser" API years ago that did what was requested (on both iOS and
Android, IIRC). Given that Mac now uses WebView and not CEF, and thus
benefits from the flexibility of NSViews directly, it seemed reasonable
that the same approach used then would work on Mac too.

Therefore, it seemed a reasonable thing to record this fact - it gives
no indication of when it might get done, if at all (of course, being
open-source means that someone who is not us might do it).

Warmest Regards,

Mark.

--
Mark Waddingham ~ [hidden email] ~ http://www.livecode.com/
LiveCode: Everyone can create apps

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Transparent browser widgets?

Richmond Mathewson via use-livecode
On Mon, May 15, 2017 at 1:27 PM, Mark Waddingham via use-livecode <
[hidden email]> wrote:

> On 2017-05-15 19:10, Roger Eller via use-livecode wrote:
>
>> I have to agree with Richard on this.  It seems tis always time to add new
>> and cool features to iOS and Mac, but not enough time to repair what has
>> been broken.  Linux isn't as mainstream, but it does have a decent base of
>> committed users.  I do believe they too would enjoy functional audio/video
>> content in their LC apps.  Just sayin'.
>>
>
> Um - where did I say the request was going to be implemented NOW? Nowhere
> that I can see...
>
> I filed an enhancement request so the suggestion wasn't lost - why did I?
>
> Because I recalled adding an opaque property to the mobileControl
> "browser" API years ago that did what was requested (on both iOS and
> Android, IIRC). Given that Mac now uses WebView and not CEF, and thus
> benefits from the flexibility of NSViews directly, it seemed reasonable
> that the same approach used then would work on Mac too.
>
> Therefore, it seemed a reasonable thing to record this fact - it gives no
> indication of when it might get done, if at all (of course, being
> open-source means that someone who is not us might do it).
>
> Warmest Regards,
>
> Mark.
>
> --
> Mark Waddingham ~ [hidden email] ~ http://www.livecode.com/
> LiveCode: Everyone can create apps
>
>
Mark,

I've apparently found myself with "a case of the Mondays".  So sorry for my
mood.  Carry on with being awesome.  You and the team really are quite
awesome!  I mean it.

~Roger
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Loading...