You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@royale.apache.org by Piotr Zarzycki <pi...@gmail.com> on 2017/11/12 16:24:38 UTC
Re: [royale-asjs] branch develop updated: Allow detection of default
scrollbar width
Hi Yishay,
I like that bead. Just quick question. This class resolves some problems
with scroll bar for whole document. Am I thinking correctly? Can we have
such problems for scrollbars in nested elements where scrollbar appears ?
Thanks, Piotr
On Sun, Nov 12, 2017, 16:19 <yi...@apache.org> wrote:
> This is an automated email from the ASF dual-hosted git repository.
>
> yishayw pushed a commit to branch develop
> in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
>
>
> The following commit(s) were added to refs/heads/develop by this push:
> new 200d4f0 Allow detection of default scrollbar width
> new 2f0b056 Merge branch 'develop' of
> https://github.com/apache/royale-asjs into develop
> 200d4f0 is described below
>
> commit 200d4f097254163100c646192678bdaf112030c2
> Author: DESKTOP-RH4S838\Yishay <yi...@hotmail.com>
> AuthorDate: Sun Nov 12 17:18:31 2017 +0200
>
> Allow detection of default scrollbar width
> ---
> .../Basic/src/main/resources/basic-manifest.xml | 2 +
> .../apache/royale/html/beads/GetScrollbarWidth.as | 71
> ++++++++++++++++++++++
> 2 files changed, 73 insertions(+)
>
> diff --git
> a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
> b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
> index 4adafe9..90b72b3 100644
> --- a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
> +++ b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
> @@ -108,6 +108,8 @@
> <component id="HRuleView"
> class="org.apache.royale.html.beads.HRuleView" />
> <component id="VRuleView"
> class="org.apache.royale.html.beads.VRuleView" />
> -->
> +
> + <component id="GetScrollbarWidth"
> class="org.apache.royale.html.beads.GetScrollbarWidth"/>
> <component id="UnselectableElementBead"
> class="org.apache.royale.html.beads.UnselectableElementBead"/>
> <component id="DisableBead"
> class="org.apache.royale.html.beads.DisableBead" />
> <component id="DisabledAlphaBead"
> class="org.apache.royale.html.beads.DisabledAlphaBead" />
> diff --git
> a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/GetScrollbarWidth.as
> b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/GetScrollbarWidth.as
> new file mode 100644
> index 0000000..91f546e
> --- /dev/null
> +++
> b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/GetScrollbarWidth.as
> @@ -0,0 +1,71 @@
>
> +////////////////////////////////////////////////////////////////////////////////
> +//
> +// Licensed to the Apache Software Foundation (ASF) under one or more
> +// contributor license agreements. See the NOTICE file distributed with
> +// this work for additional information regarding copyright ownership.
> +// The ASF licenses this file to You under the Apache License, Version
> 2.0
> +// (the "License"); you may not use this file except in compliance with
> +// the License. You may obtain a copy of the License at
> +//
> +// http://www.apache.org/licenses/LICENSE-2.0
> +//
> +// Unless required by applicable law or agreed to in writing, software
> +// distributed under the License is distributed on an "AS IS" BASIS,
> +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> +// See the License for the specific language governing permissions and
> +// limitations under the License.
> +//
>
> +////////////////////////////////////////////////////////////////////////////////
> +package org.apache.royale.html.beads
> +{
> + import org.apache.royale.core.IBead;
> + import org.apache.royale.core.IStrand;
> + COMPILE::JS
> + {
> + import org.apache.royale.core.WrappedHTMLElement;
> + }
> +
> + /**
> + * The GetScrollbarWidth class detects the browser's default
> + * scrollbar width. This can be useful when changing the viewport
> + * width to avoid it being obstructed by the scrollbar.
> + *
> + * @langversion 3.0
> + * @playerversion Flash 10.2
> + * @playerversion AIR 2.6
> + * @productversion Royale 0.9
> + */
> + public class GetScrollbarWidth implements IBead
> + {
> + private var _scrollbarWidth:Number;
> +
> + public function GetScrollbarWidth()
> + {
> + }
> +
> + /**
> + * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
> + */
> + public function set strand (value:IStrand):void
> + {
> + COMPILE::JS
> + {
> + var outerDiv:WrappedHTMLElement =
> document.createElement("div") as WrappedHTMLElement;
> + document.body.appendChild(outerDiv);
> + outerDiv.style.overflow = "scroll";
> + outerDiv.style.width = "50px";
> + var innerDiv:WrappedHTMLElement =
> document.createElement("div") as WrappedHTMLElement;
> + innerDiv.style.width = "100%";
> + outerDiv.appendChild(innerDiv);
> + _scrollbarWidth = outerDiv.offsetWidth -
> innerDiv.offsetWidth;
> + document.body.removeChild(outerDiv);
> + }
> + }
> +
> + public function get scrollbarWidth():Number
> + {
> + return _scrollbarWidth;
> + }
> + }
> +}
> +
>
> --
> To stop receiving notification emails like this one, please contact
> ['"commits@royale.apache.org" <co...@royale.apache.org>'].
>
RE: [royale-asjs] branch develop updated: Allow detection of default
scrollbar width
Posted by Yishay Weiss <yi...@hotmail.com>.
Hi Piotr, Harbs,
Today I hope to create another bead that adjusts the padding of a container according to the scrollbar width, when a scrollbar appears. That was the use-case that motivated this.
I think it’s ok to initialize the member to NaN. It will be assigned a number when the bead is added. Hopefully it’ll be clearer later today.
Thanks.
________________________________
From: Piotr Zarzycki <pi...@gmail.com>
Sent: Sunday, November 12, 2017 9:29:03 PM
To: dev@royale.apache.org
Subject: Re: [royale-asjs] branch develop updated: Allow detection of default scrollbar width
Ok. Just thought that by adding this line there is document.body.appendChild
(outerDiv); that there is something more happen. The undefined for Number
is acceptable for you at the beginning ? Just asking I don't see anything
wrong here. :)
Thanks, Piotr
2017-11-12 20:20 GMT+01:00 Harbs <ha...@gmail.com>:
> I think the only thing the bead does is calculates what the width of a
> scrollbar will be *if it’s visible*.
>
> The actual logic of setting the width of a component must be set
> separately.
>
>
> > On Nov 12, 2017, at 6:24 PM, Piotr Zarzycki <pi...@gmail.com>
> wrote:
> >
> > Hi Yishay,
> >
> > I like that bead. Just quick question. This class resolves some problems
> > with scroll bar for whole document. Am I thinking correctly? Can we have
> > such problems for scrollbars in nested elements where scrollbar appears ?
> >
> > Thanks, Piotr
> >
> > On Sun, Nov 12, 2017, 16:19 <yi...@apache.org> wrote:
> >
> >> This is an automated email from the ASF dual-hosted git repository.
> >>
> >> yishayw pushed a commit to branch develop
> >> in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
> >>
> >>
> >> The following commit(s) were added to refs/heads/develop by this push:
> >> new 200d4f0 Allow detection of default scrollbar width
> >> new 2f0b056 Merge branch 'develop' of
> >> https://github.com/apache/royale-asjs into develop
> >> 200d4f0 is described below
> >>
> >> commit 200d4f097254163100c646192678bdaf112030c2
> >> Author: DESKTOP-RH4S838\Yishay <yi...@hotmail.com>
> >> AuthorDate: Sun Nov 12 17:18:31 2017 +0200
> >>
> >> Allow detection of default scrollbar width
> >> ---
> >> .../Basic/src/main/resources/basic-manifest.xml | 2 +
> >> .../apache/royale/html/beads/GetScrollbarWidth.as | 71
> >> ++++++++++++++++++++++
> >> 2 files changed, 73 insertions(+)
> >>
> >> diff --git
> >> a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
> >> b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
> >> index 4adafe9..90b72b3 100644
> >> --- a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
> >> +++ b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
> >> @@ -108,6 +108,8 @@
> >> <component id="HRuleView"
> >> class="org.apache.royale.html.beads.HRuleView" />
> >> <component id="VRuleView"
> >> class="org.apache.royale.html.beads.VRuleView" />
> >> -->
> >> +
> >> + <component id="GetScrollbarWidth"
> >> class="org.apache.royale.html.beads.GetScrollbarWidth"/>
> >> <component id="UnselectableElementBead"
> >> class="org.apache.royale.html.beads.UnselectableElementBead"/>
> >> <component id="DisableBead"
> >> class="org.apache.royale.html.beads.DisableBead" />
> >> <component id="DisabledAlphaBead"
> >> class="org.apache.royale.html.beads.DisabledAlphaBead" />
> >> diff --git
> >> a/frameworks/projects/Basic/src/main/royale/org/apache/
> royale/html/beads/GetScrollbarWidth.as
> >> b/frameworks/projects/Basic/src/main/royale/org/apache/
> royale/html/beads/GetScrollbarWidth.as
> >> new file mode 100644
> >> index 0000000..91f546e
> >> --- /dev/null
> >> +++
> >> b/frameworks/projects/Basic/src/main/royale/org/apache/
> royale/html/beads/GetScrollbarWidth.as
> >> @@ -0,0 +1,71 @@
> >>
> >> +///////////////////////////////////////////////////////////
> /////////////////////
> >> +//
> >> +// Licensed to the Apache Software Foundation (ASF) under one or more
> >> +// contributor license agreements. See the NOTICE file distributed
> with
> >> +// this work for additional information regarding copyright ownership.
> >> +// The ASF licenses this file to You under the Apache License, Version
> >> 2.0
> >> +// (the "License"); you may not use this file except in compliance
> with
> >> +// the License. You may obtain a copy of the License at
> >> +//
> >> +// http://www.apache.org/licenses/LICENSE-2.0
> >> +//
> >> +// Unless required by applicable law or agreed to in writing, software
> >> +// distributed under the License is distributed on an "AS IS" BASIS,
> >> +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> >> implied.
> >> +// See the License for the specific language governing permissions and
> >> +// limitations under the License.
> >> +//
> >>
> >> +///////////////////////////////////////////////////////////
> /////////////////////
> >> +package org.apache.royale.html.beads
> >> +{
> >> + import org.apache.royale.core.IBead;
> >> + import org.apache.royale.core.IStrand;
> >> + COMPILE::JS
> >> + {
> >> + import org.apache.royale.core.WrappedHTMLElement;
> >> + }
> >> +
> >> + /**
> >> + * The GetScrollbarWidth class detects the browser's default
> >> + * scrollbar width. This can be useful when changing the
> viewport
> >> + * width to avoid it being obstructed by the scrollbar.
> >> + *
> >> + * @langversion 3.0
> >> + * @playerversion Flash 10.2
> >> + * @playerversion AIR 2.6
> >> + * @productversion Royale 0.9
> >> + */
> >> + public class GetScrollbarWidth implements IBead
> >> + {
> >> + private var _scrollbarWidth:Number;
> >> +
> >> + public function GetScrollbarWidth()
> >> + {
> >> + }
> >> +
> >> + /**
> >> + * @royaleignorecoercion org.apache.royale.core.
> WrappedHTMLElement
> >> + */
> >> + public function set strand (value:IStrand):void
> >> + {
> >> + COMPILE::JS
> >> + {
> >> + var outerDiv:WrappedHTMLElement =
> >> document.createElement("div") as WrappedHTMLElement;
> >> + document.body.appendChild(outerDiv);
> >> + outerDiv.style.overflow = "scroll";
> >> + outerDiv.style.width = "50px";
> >> + var innerDiv:WrappedHTMLElement =
> >> document.createElement("div") as WrappedHTMLElement;
> >> + innerDiv.style.width = "100%";
> >> + outerDiv.appendChild(innerDiv);
> >> + _scrollbarWidth = outerDiv.offsetWidth -
> >> innerDiv.offsetWidth;
> >> + document.body.removeChild(outerDiv);
> >> + }
> >> + }
> >> +
> >> + public function get scrollbarWidth():Number
> >> + {
> >> + return _scrollbarWidth;
> >> + }
> >> + }
> >> +}
> >> +
> >>
> >> --
> >> To stop receiving notification emails like this one, please contact
> >> ['"commits@royale.apache.org" <co...@royale.apache.org>'].
> >>
>
>
--
Piotr Zarzycki
Patreon: *https://www.patreon.com/piotrzarzycki
<https://www.patreon.com/piotrzarzycki>*
Re: [royale-asjs] branch develop updated: Allow detection of default
scrollbar width
Posted by Piotr Zarzycki <pi...@gmail.com>.
Ok. Just thought that by adding this line there is document.body.appendChild
(outerDiv); that there is something more happen. The undefined for Number
is acceptable for you at the beginning ? Just asking I don't see anything
wrong here. :)
Thanks, Piotr
2017-11-12 20:20 GMT+01:00 Harbs <ha...@gmail.com>:
> I think the only thing the bead does is calculates what the width of a
> scrollbar will be *if it’s visible*.
>
> The actual logic of setting the width of a component must be set
> separately.
>
>
> > On Nov 12, 2017, at 6:24 PM, Piotr Zarzycki <pi...@gmail.com>
> wrote:
> >
> > Hi Yishay,
> >
> > I like that bead. Just quick question. This class resolves some problems
> > with scroll bar for whole document. Am I thinking correctly? Can we have
> > such problems for scrollbars in nested elements where scrollbar appears ?
> >
> > Thanks, Piotr
> >
> > On Sun, Nov 12, 2017, 16:19 <yi...@apache.org> wrote:
> >
> >> This is an automated email from the ASF dual-hosted git repository.
> >>
> >> yishayw pushed a commit to branch develop
> >> in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
> >>
> >>
> >> The following commit(s) were added to refs/heads/develop by this push:
> >> new 200d4f0 Allow detection of default scrollbar width
> >> new 2f0b056 Merge branch 'develop' of
> >> https://github.com/apache/royale-asjs into develop
> >> 200d4f0 is described below
> >>
> >> commit 200d4f097254163100c646192678bdaf112030c2
> >> Author: DESKTOP-RH4S838\Yishay <yi...@hotmail.com>
> >> AuthorDate: Sun Nov 12 17:18:31 2017 +0200
> >>
> >> Allow detection of default scrollbar width
> >> ---
> >> .../Basic/src/main/resources/basic-manifest.xml | 2 +
> >> .../apache/royale/html/beads/GetScrollbarWidth.as | 71
> >> ++++++++++++++++++++++
> >> 2 files changed, 73 insertions(+)
> >>
> >> diff --git
> >> a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
> >> b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
> >> index 4adafe9..90b72b3 100644
> >> --- a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
> >> +++ b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
> >> @@ -108,6 +108,8 @@
> >> <component id="HRuleView"
> >> class="org.apache.royale.html.beads.HRuleView" />
> >> <component id="VRuleView"
> >> class="org.apache.royale.html.beads.VRuleView" />
> >> -->
> >> +
> >> + <component id="GetScrollbarWidth"
> >> class="org.apache.royale.html.beads.GetScrollbarWidth"/>
> >> <component id="UnselectableElementBead"
> >> class="org.apache.royale.html.beads.UnselectableElementBead"/>
> >> <component id="DisableBead"
> >> class="org.apache.royale.html.beads.DisableBead" />
> >> <component id="DisabledAlphaBead"
> >> class="org.apache.royale.html.beads.DisabledAlphaBead" />
> >> diff --git
> >> a/frameworks/projects/Basic/src/main/royale/org/apache/
> royale/html/beads/GetScrollbarWidth.as
> >> b/frameworks/projects/Basic/src/main/royale/org/apache/
> royale/html/beads/GetScrollbarWidth.as
> >> new file mode 100644
> >> index 0000000..91f546e
> >> --- /dev/null
> >> +++
> >> b/frameworks/projects/Basic/src/main/royale/org/apache/
> royale/html/beads/GetScrollbarWidth.as
> >> @@ -0,0 +1,71 @@
> >>
> >> +///////////////////////////////////////////////////////////
> /////////////////////
> >> +//
> >> +// Licensed to the Apache Software Foundation (ASF) under one or more
> >> +// contributor license agreements. See the NOTICE file distributed
> with
> >> +// this work for additional information regarding copyright ownership.
> >> +// The ASF licenses this file to You under the Apache License, Version
> >> 2.0
> >> +// (the "License"); you may not use this file except in compliance
> with
> >> +// the License. You may obtain a copy of the License at
> >> +//
> >> +// http://www.apache.org/licenses/LICENSE-2.0
> >> +//
> >> +// Unless required by applicable law or agreed to in writing, software
> >> +// distributed under the License is distributed on an "AS IS" BASIS,
> >> +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> >> implied.
> >> +// See the License for the specific language governing permissions and
> >> +// limitations under the License.
> >> +//
> >>
> >> +///////////////////////////////////////////////////////////
> /////////////////////
> >> +package org.apache.royale.html.beads
> >> +{
> >> + import org.apache.royale.core.IBead;
> >> + import org.apache.royale.core.IStrand;
> >> + COMPILE::JS
> >> + {
> >> + import org.apache.royale.core.WrappedHTMLElement;
> >> + }
> >> +
> >> + /**
> >> + * The GetScrollbarWidth class detects the browser's default
> >> + * scrollbar width. This can be useful when changing the
> viewport
> >> + * width to avoid it being obstructed by the scrollbar.
> >> + *
> >> + * @langversion 3.0
> >> + * @playerversion Flash 10.2
> >> + * @playerversion AIR 2.6
> >> + * @productversion Royale 0.9
> >> + */
> >> + public class GetScrollbarWidth implements IBead
> >> + {
> >> + private var _scrollbarWidth:Number;
> >> +
> >> + public function GetScrollbarWidth()
> >> + {
> >> + }
> >> +
> >> + /**
> >> + * @royaleignorecoercion org.apache.royale.core.
> WrappedHTMLElement
> >> + */
> >> + public function set strand (value:IStrand):void
> >> + {
> >> + COMPILE::JS
> >> + {
> >> + var outerDiv:WrappedHTMLElement =
> >> document.createElement("div") as WrappedHTMLElement;
> >> + document.body.appendChild(outerDiv);
> >> + outerDiv.style.overflow = "scroll";
> >> + outerDiv.style.width = "50px";
> >> + var innerDiv:WrappedHTMLElement =
> >> document.createElement("div") as WrappedHTMLElement;
> >> + innerDiv.style.width = "100%";
> >> + outerDiv.appendChild(innerDiv);
> >> + _scrollbarWidth = outerDiv.offsetWidth -
> >> innerDiv.offsetWidth;
> >> + document.body.removeChild(outerDiv);
> >> + }
> >> + }
> >> +
> >> + public function get scrollbarWidth():Number
> >> + {
> >> + return _scrollbarWidth;
> >> + }
> >> + }
> >> +}
> >> +
> >>
> >> --
> >> To stop receiving notification emails like this one, please contact
> >> ['"commits@royale.apache.org" <co...@royale.apache.org>'].
> >>
>
>
--
Piotr Zarzycki
Patreon: *https://www.patreon.com/piotrzarzycki
<https://www.patreon.com/piotrzarzycki>*
Re: [royale-asjs] branch develop updated: Allow detection of default scrollbar width
Posted by Harbs <ha...@gmail.com>.
I think the only thing the bead does is calculates what the width of a scrollbar will be *if it’s visible*.
The actual logic of setting the width of a component must be set separately.
> On Nov 12, 2017, at 6:24 PM, Piotr Zarzycki <pi...@gmail.com> wrote:
>
> Hi Yishay,
>
> I like that bead. Just quick question. This class resolves some problems
> with scroll bar for whole document. Am I thinking correctly? Can we have
> such problems for scrollbars in nested elements where scrollbar appears ?
>
> Thanks, Piotr
>
> On Sun, Nov 12, 2017, 16:19 <yi...@apache.org> wrote:
>
>> This is an automated email from the ASF dual-hosted git repository.
>>
>> yishayw pushed a commit to branch develop
>> in repository https://gitbox.apache.org/repos/asf/royale-asjs.git
>>
>>
>> The following commit(s) were added to refs/heads/develop by this push:
>> new 200d4f0 Allow detection of default scrollbar width
>> new 2f0b056 Merge branch 'develop' of
>> https://github.com/apache/royale-asjs into develop
>> 200d4f0 is described below
>>
>> commit 200d4f097254163100c646192678bdaf112030c2
>> Author: DESKTOP-RH4S838\Yishay <yi...@hotmail.com>
>> AuthorDate: Sun Nov 12 17:18:31 2017 +0200
>>
>> Allow detection of default scrollbar width
>> ---
>> .../Basic/src/main/resources/basic-manifest.xml | 2 +
>> .../apache/royale/html/beads/GetScrollbarWidth.as | 71
>> ++++++++++++++++++++++
>> 2 files changed, 73 insertions(+)
>>
>> diff --git
>> a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
>> b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
>> index 4adafe9..90b72b3 100644
>> --- a/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
>> +++ b/frameworks/projects/Basic/src/main/resources/basic-manifest.xml
>> @@ -108,6 +108,8 @@
>> <component id="HRuleView"
>> class="org.apache.royale.html.beads.HRuleView" />
>> <component id="VRuleView"
>> class="org.apache.royale.html.beads.VRuleView" />
>> -->
>> +
>> + <component id="GetScrollbarWidth"
>> class="org.apache.royale.html.beads.GetScrollbarWidth"/>
>> <component id="UnselectableElementBead"
>> class="org.apache.royale.html.beads.UnselectableElementBead"/>
>> <component id="DisableBead"
>> class="org.apache.royale.html.beads.DisableBead" />
>> <component id="DisabledAlphaBead"
>> class="org.apache.royale.html.beads.DisabledAlphaBead" />
>> diff --git
>> a/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/GetScrollbarWidth.as
>> b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/GetScrollbarWidth.as
>> new file mode 100644
>> index 0000000..91f546e
>> --- /dev/null
>> +++
>> b/frameworks/projects/Basic/src/main/royale/org/apache/royale/html/beads/GetScrollbarWidth.as
>> @@ -0,0 +1,71 @@
>>
>> +////////////////////////////////////////////////////////////////////////////////
>> +//
>> +// Licensed to the Apache Software Foundation (ASF) under one or more
>> +// contributor license agreements. See the NOTICE file distributed with
>> +// this work for additional information regarding copyright ownership.
>> +// The ASF licenses this file to You under the Apache License, Version
>> 2.0
>> +// (the "License"); you may not use this file except in compliance with
>> +// the License. You may obtain a copy of the License at
>> +//
>> +// http://www.apache.org/licenses/LICENSE-2.0
>> +//
>> +// Unless required by applicable law or agreed to in writing, software
>> +// distributed under the License is distributed on an "AS IS" BASIS,
>> +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>> implied.
>> +// See the License for the specific language governing permissions and
>> +// limitations under the License.
>> +//
>>
>> +////////////////////////////////////////////////////////////////////////////////
>> +package org.apache.royale.html.beads
>> +{
>> + import org.apache.royale.core.IBead;
>> + import org.apache.royale.core.IStrand;
>> + COMPILE::JS
>> + {
>> + import org.apache.royale.core.WrappedHTMLElement;
>> + }
>> +
>> + /**
>> + * The GetScrollbarWidth class detects the browser's default
>> + * scrollbar width. This can be useful when changing the viewport
>> + * width to avoid it being obstructed by the scrollbar.
>> + *
>> + * @langversion 3.0
>> + * @playerversion Flash 10.2
>> + * @playerversion AIR 2.6
>> + * @productversion Royale 0.9
>> + */
>> + public class GetScrollbarWidth implements IBead
>> + {
>> + private var _scrollbarWidth:Number;
>> +
>> + public function GetScrollbarWidth()
>> + {
>> + }
>> +
>> + /**
>> + * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
>> + */
>> + public function set strand (value:IStrand):void
>> + {
>> + COMPILE::JS
>> + {
>> + var outerDiv:WrappedHTMLElement =
>> document.createElement("div") as WrappedHTMLElement;
>> + document.body.appendChild(outerDiv);
>> + outerDiv.style.overflow = "scroll";
>> + outerDiv.style.width = "50px";
>> + var innerDiv:WrappedHTMLElement =
>> document.createElement("div") as WrappedHTMLElement;
>> + innerDiv.style.width = "100%";
>> + outerDiv.appendChild(innerDiv);
>> + _scrollbarWidth = outerDiv.offsetWidth -
>> innerDiv.offsetWidth;
>> + document.body.removeChild(outerDiv);
>> + }
>> + }
>> +
>> + public function get scrollbarWidth():Number
>> + {
>> + return _scrollbarWidth;
>> + }
>> + }
>> +}
>> +
>>
>> --
>> To stop receiving notification emails like this one, please contact
>> ['"commits@royale.apache.org" <co...@royale.apache.org>'].
>>