You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flex.apache.org by Harbs <ha...@gmail.com> on 2016/07/18 18:32:31 UTC
Re: [1/4] git commit: [flex-asjs] [refs/heads/develop] - Changes to Graphics package that allows SVG elements to be resumed.
These changes look great (and are very timely for me).
Thanks!
On Jul 18, 2016, at 6:45 PM, pent@apache.org wrote:
> Repository: flex-asjs
> Updated Branches:
> refs/heads/develop bfd3a240f -> af84e52e8
>
>
> Changes to Graphics package that allows SVG elements to be resumed.
>
>
> Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
> Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/2da30efb
> Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/2da30efb
> Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/2da30efb
>
> Branch: refs/heads/develop
> Commit: 2da30efb7e2e91c8896b180a8639b6b0cd504a96
> Parents: ff84654
> Author: Peter Ent <pe...@apache.org>
> Authored: Mon Jul 18 09:58:22 2016 -0400
> Committer: Peter Ent <pe...@apache.org>
> Committed: Mon Jul 18 09:58:22 2016 -0400
>
> ----------------------------------------------------------------------
> .../org/apache/flex/core/graphics/Circle.as | 28 ++++++++++++--------
> .../org/apache/flex/core/graphics/Ellipse.as | 27 +++++++++++--------
> .../flex/org/apache/flex/core/graphics/Path.as | 17 +++++++-----
> .../flex/org/apache/flex/core/graphics/Rect.as | 27 +++++++++++--------
> .../flex/org/apache/flex/core/graphics/Text.as | 26 +++++++++++-------
> 5 files changed, 77 insertions(+), 48 deletions(-)
> ----------------------------------------------------------------------
>
>
> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2da30efb/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Circle.as
> ----------------------------------------------------------------------
> diff --git a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Circle.as b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Circle.as
> index 9f067f1..aa01f77 100644
> --- a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Circle.as
> +++ b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Circle.as
> @@ -37,6 +37,9 @@ package org.apache.flex.core.graphics
> {
> _radius = value;
> }
> +
> + COMPILE::JS
> + private var _circle:WrappedHTMLElement;
>
> /**
> * Draw the circle.
> @@ -64,25 +67,28 @@ package org.apache.flex.core.graphics
> COMPILE::JS
> {
> var style:String = getStyleStr();
> - var circle:WrappedHTMLElement = document.createElementNS('http://www.w3.org/2000/svg', 'ellipse') as WrappedHTMLElement;
> - circle.flexjs_wrapper = this;
> - circle.setAttribute('style', style);
> +
> + if (_circle == null) {
> + _circle = document.createElementNS('http://www.w3.org/2000/svg', 'ellipse') as WrappedHTMLElement;
> + _circle.flexjs_wrapper = this;
> + element.appendChild(_circle);
> + }
> + _circle.setAttribute('style', style);
> if (stroke)
> {
> - circle.setAttribute('cx', String(radius + stroke.weight));
> - circle.setAttribute('cy', String(radius + stroke.weight));
> + _circle.setAttribute('cx', String(radius + stroke.weight));
> + _circle.setAttribute('cy', String(radius + stroke.weight));
> }
> else
> {
> - circle.setAttribute('cx', String(radius));
> - circle.setAttribute('cy', String(radius));
> + _circle.setAttribute('cx', String(radius));
> + _circle.setAttribute('cy', String(radius));
> }
>
> - circle.setAttribute('rx', String(radius));
> - circle.setAttribute('ry', String(radius));
> - element.appendChild(circle);
> + _circle.setAttribute('rx', String(radius));
> + _circle.setAttribute('ry', String(radius));
>
> - resize(x-radius, y-radius, (circle as SVGCircleElement).getBBox());
> + resize(x-radius, y-radius, (_circle as SVGCircleElement).getBBox());
>
> }
> }
>
> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2da30efb/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Ellipse.as
> ----------------------------------------------------------------------
> diff --git a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Ellipse.as b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Ellipse.as
> index f3c6c90..732d2c0 100644
> --- a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Ellipse.as
> +++ b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Ellipse.as
> @@ -31,6 +31,9 @@ package org.apache.flex.core.graphics
> public class Ellipse extends GraphicShape
> {
>
> + COMPILE::JS
> + private var _ellipse:WrappedHTMLElement;
> +
> /**
> * Draw the ellipse.
> * @param xp The x position of the top-left corner of the bounding box of the ellipse.
> @@ -58,24 +61,26 @@ package org.apache.flex.core.graphics
> COMPILE::JS
> {
> var style:String = getStyleStr();
> - var ellipse:WrappedHTMLElement = document.createElementNS('http://www.w3.org/2000/svg', 'ellipse') as WrappedHTMLElement;
> - ellipse.flexjs_wrapper = this;
> - ellipse.setAttribute('style', style);
> + if (_ellipse == null) {
> + _ellipse = document.createElementNS('http://www.w3.org/2000/svg', 'ellipse') as WrappedHTMLElement;
> + _ellipse.flexjs_wrapper = this;
> + element.appendChild(_ellipse);
> + }
> + _ellipse.setAttribute('style', style);
> if (stroke)
> {
> - ellipse.setAttribute('cx', String(width / 2 + stroke.weight));
> - ellipse.setAttribute('cy', String(height / 2 + stroke.weight));
> + _ellipse.setAttribute('cx', String(width / 2 + stroke.weight));
> + _ellipse.setAttribute('cy', String(height / 2 + stroke.weight));
> }
> else
> {
> - ellipse.setAttribute('cx', String(width / 2));
> - ellipse.setAttribute('cy', String(height / 2));
> + _ellipse.setAttribute('cx', String(width / 2));
> + _ellipse.setAttribute('cy', String(height / 2));
> }
> - ellipse.setAttribute('rx', String(width / 2));
> - ellipse.setAttribute('ry', String(height / 2));
> - element.appendChild(ellipse);
> + _ellipse.setAttribute('rx', String(width / 2));
> + _ellipse.setAttribute('ry', String(height / 2));
>
> - resize(x, y, (ellipse as SVGEllipseElement).getBBox());
> + resize(x, y, (_ellipse as SVGEllipseElement).getBBox());
>
> }
> }
>
> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2da30efb/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Path.as
> ----------------------------------------------------------------------
> diff --git a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Path.as b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Path.as
> index 0a152bb..15e6f0f 100644
> --- a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Path.as
> +++ b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Path.as
> @@ -41,6 +41,9 @@ package org.apache.flex.core.graphics
> {
> _data = value;
> }
> +
> + COMPILE::JS
> + private var _path:WrappedHTMLElement;
>
> /**
> * Draw the path.
> @@ -76,13 +79,15 @@ package org.apache.flex.core.graphics
> {
> if (data == null || data.length === 0) return;
> var style:String = getStyleStr();
> - var path:WrappedHTMLElement = document.createElementNS('http://www.w3.org/2000/svg', 'path') as WrappedHTMLElement;
> - path.flexjs_wrapper = this;
> - path.setAttribute('style', style);
> - path.setAttribute('d', data);
> - element.appendChild(path);
> + if (_path == null) {
> + _path = document.createElementNS('http://www.w3.org/2000/svg', 'path') as WrappedHTMLElement;
> + _path.flexjs_wrapper = this;
> + element.appendChild(_path);
> + }
> + _path.setAttribute('style', style);
> + _path.setAttribute('d', data);
>
> - resize(x, y, path['getBBox']());
> + resize(x, y, _path['getBBox']());
>
> }
> }
>
> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2da30efb/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Rect.as
> ----------------------------------------------------------------------
> diff --git a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Rect.as b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Rect.as
> index 3556459..0355c27 100644
> --- a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Rect.as
> +++ b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Rect.as
> @@ -28,6 +28,8 @@ package org.apache.flex.core.graphics
>
> public class Rect extends GraphicShape
> {
> + COMPILE::JS
> + private var _rect:WrappedHTMLElement;
>
> /**
> * Draw the rectangle.
> @@ -55,24 +57,27 @@ package org.apache.flex.core.graphics
> COMPILE::JS
> {
> var style:String = this.getStyleStr();
> - var rect:WrappedHTMLElement = document.createElementNS('http://www.w3.org/2000/svg', 'rect') as WrappedHTMLElement;
> - rect.flexjs_wrapper = this;
> - rect.setAttribute('style', style);
> +
> + if (_rect == null) {
> + _rect = document.createElementNS('http://www.w3.org/2000/svg', 'rect') as WrappedHTMLElement;
> + _rect.flexjs_wrapper = this;
> + element.appendChild(_rect);
> + }
> + _rect.setAttribute('style', style);
> if (stroke)
> {
> - rect.setAttribute('x', String(stroke.weight / 2) + 'px');
> - rect.setAttribute('y', String(stroke.weight / 2) + 'px');
> + _rect.setAttribute('x', String(stroke.weight / 2) + 'px');
> + _rect.setAttribute('y', String(stroke.weight / 2) + 'px');
> }
> else
> {
> - rect.setAttribute('x', '0' + 'px');
> - rect.setAttribute('y', '0' + 'px');
> + _rect.setAttribute('x', '0' + 'px');
> + _rect.setAttribute('y', '0' + 'px');
> }
> - rect.setAttribute('width', String(width) + 'px');
> - rect.setAttribute('height', String(height) + 'px');
> - element.appendChild(rect);
> + _rect.setAttribute('width', String(width) + 'px');
> + _rect.setAttribute('height', String(height) + 'px');
>
> - resize(x, y, rect['getBBox']());
> + resize(x, y, _rect['getBBox']());
> }
> }
>
>
> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2da30efb/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Text.as
> ----------------------------------------------------------------------
> diff --git a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Text.as b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Text.as
> index b493488..e864a11 100644
> --- a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Text.as
> +++ b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Text.as
> @@ -64,6 +64,9 @@ package org.apache.flex.core.graphics
> COMPILE::SWF
> private var _textField:CSSTextField;
>
> + COMPILE::JS
> + private var _text:WrappedHTMLElement;
> +
> /**
> * @copy org.apache.flex.core.ITextModel#textField
> *
> @@ -115,16 +118,21 @@ package org.apache.flex.core.graphics
> COMPILE::JS
> {
> var style:String = this.getStyleStr();
> - var text:WrappedHTMLElement = document.createElementNS('http://www.w3.org/2000/svg', 'text') as WrappedHTMLElement;
> - text.flexjs_wrapper = this;
> - text.setAttribute('style', style);
> - text.setAttribute('x', String(xt) + 'px');
> - text.setAttribute('y', String(yt) + 'px');
> - var textNode:Text = document.createTextNode(value) as Text;
> - text.appendChild(textNode as Node);
> - element.appendChild(text);
> + if (_text == null) {
> + _text = document.createElementNS('http://www.w3.org/2000/svg', 'text') as WrappedHTMLElement;
> + _text.flexjs_wrapper = this;
> + element.appendChild(_text);
> + }
> + else {
> + _text.removeChild(_text.childNodes[0]);
> + }
> + _text.setAttribute('style', style);
> + _text.setAttribute('x', String(xt) + 'px');
> + _text.setAttribute('y', String(yt) + 'px');
> + var textNode:Text = document.createTextNode(value) as Text;
> + _text.appendChild(textNode as Node);
>
> - resize(x, y, (text as SVGLocatable).getBBox());
> + resize(x, y, (_text as SVGLocatable).getBBox());
>
> }
> }
>
Re: [1/4] git commit: [flex-asjs] [refs/heads/develop] - Changes to
Graphics package that allows SVG elements to be resumed.
Posted by Peter Ent <pe...@adobe.com>.
Let me know if it doesn't build for you. I had to integrate with a number
of commits.
‹peter
On 7/18/16, 2:32 PM, "Harbs" <ha...@gmail.com> wrote:
>These changes look great (and are very timely for me).
>
>Thanks!
>
>On Jul 18, 2016, at 6:45 PM, pent@apache.org wrote:
>
>> Repository: flex-asjs
>> Updated Branches:
>> refs/heads/develop bfd3a240f -> af84e52e8
>>
>>
>> Changes to Graphics package that allows SVG elements to be resumed.
>>
>>
>> Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
>> Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/2da30efb
>> Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/2da30efb
>> Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/2da30efb
>>
>> Branch: refs/heads/develop
>> Commit: 2da30efb7e2e91c8896b180a8639b6b0cd504a96
>> Parents: ff84654
>> Author: Peter Ent <pe...@apache.org>
>> Authored: Mon Jul 18 09:58:22 2016 -0400
>> Committer: Peter Ent <pe...@apache.org>
>> Committed: Mon Jul 18 09:58:22 2016 -0400
>>
>> ----------------------------------------------------------------------
>> .../org/apache/flex/core/graphics/Circle.as | 28
>>++++++++++++--------
>> .../org/apache/flex/core/graphics/Ellipse.as | 27 +++++++++++--------
>> .../flex/org/apache/flex/core/graphics/Path.as | 17 +++++++-----
>> .../flex/org/apache/flex/core/graphics/Rect.as | 27 +++++++++++--------
>> .../flex/org/apache/flex/core/graphics/Text.as | 26 +++++++++++-------
>> 5 files changed, 77 insertions(+), 48 deletions(-)
>> ----------------------------------------------------------------------
>>
>>
>>
>>http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2da30efb/frameworks
>>/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Circle.as
>> ----------------------------------------------------------------------
>> diff --git
>>a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Circle.as
>>b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Circle.as
>> index 9f067f1..aa01f77 100644
>> ---
>>a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Circle.as
>> +++
>>b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Circle.as
>> @@ -37,6 +37,9 @@ package org.apache.flex.core.graphics
>> {
>> _radius = value;
>> }
>> +
>> + COMPILE::JS
>> + private var _circle:WrappedHTMLElement;
>>
>> /**
>> * Draw the circle.
>> @@ -64,25 +67,28 @@ package org.apache.flex.core.graphics
>> COMPILE::JS
>> {
>> var style:String = getStyleStr();
>> - var circle:WrappedHTMLElement =
>>document.createElementNS('http://www.w3.org/2000/svg', 'ellipse') as
>>WrappedHTMLElement;
>> - circle.flexjs_wrapper = this;
>> - circle.setAttribute('style', style);
>> +
>> + if (_circle == null) {
>> + _circle = document.createElementNS('http://www.w3.org/2000/svg',
>>'ellipse') as WrappedHTMLElement;
>> + _circle.flexjs_wrapper = this;
>> + element.appendChild(_circle);
>> + }
>> + _circle.setAttribute('style', style);
>> if (stroke)
>> {
>> - circle.setAttribute('cx', String(radius +
>>stroke.weight));
>> - circle.setAttribute('cy', String(radius +
>>stroke.weight));
>> + _circle.setAttribute('cx', String(radius + stroke.weight));
>> + _circle.setAttribute('cy', String(radius + stroke.weight));
>> }
>> else
>> {
>> - circle.setAttribute('cx', String(radius));
>> - circle.setAttribute('cy', String(radius));
>> + _circle.setAttribute('cx', String(radius));
>> + _circle.setAttribute('cy', String(radius));
>> }
>>
>> - circle.setAttribute('rx', String(radius));
>> - circle.setAttribute('ry', String(radius));
>> - element.appendChild(circle);
>> + _circle.setAttribute('rx', String(radius));
>> + _circle.setAttribute('ry', String(radius));
>>
>> - resize(x-radius, y-radius, (circle as
>>SVGCircleElement).getBBox());
>> + resize(x-radius, y-radius, (_circle as
>>SVGCircleElement).getBBox());
>>
>> }
>> }
>>
>>
>>http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2da30efb/frameworks
>>/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Ellipse.as
>> ----------------------------------------------------------------------
>> diff --git
>>a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Ellipse.as
>>b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Ellipse.as
>> index f3c6c90..732d2c0 100644
>> ---
>>a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Ellipse.as
>> +++
>>b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Ellipse.as
>> @@ -31,6 +31,9 @@ package org.apache.flex.core.graphics
>> public class Ellipse extends GraphicShape
>> {
>>
>> + COMPILE::JS
>> + private var _ellipse:WrappedHTMLElement;
>> +
>> /**
>> * Draw the ellipse.
>> * @param xp The x position of the top-left corner of the bounding
>>box of the ellipse.
>> @@ -58,24 +61,26 @@ package org.apache.flex.core.graphics
>> COMPILE::JS
>> {
>> var style:String = getStyleStr();
>> - var ellipse:WrappedHTMLElement =
>>document.createElementNS('http://www.w3.org/2000/svg', 'ellipse') as
>>WrappedHTMLElement;
>> - ellipse.flexjs_wrapper = this;
>> - ellipse.setAttribute('style', style);
>> + if (_ellipse == null) {
>> + _ellipse = document.createElementNS('http://www.w3.org/2000/svg',
>>'ellipse') as WrappedHTMLElement;
>> + _ellipse.flexjs_wrapper = this;
>> + element.appendChild(_ellipse);
>> + }
>> + _ellipse.setAttribute('style', style);
>> if (stroke)
>> {
>> - ellipse.setAttribute('cx', String(width / 2 +
>>stroke.weight));
>> - ellipse.setAttribute('cy', String(height / 2 +
>>stroke.weight));
>> + _ellipse.setAttribute('cx', String(width / 2 + stroke.weight));
>> + _ellipse.setAttribute('cy', String(height / 2 + stroke.weight));
>> }
>> else
>> {
>> - ellipse.setAttribute('cx', String(width / 2));
>> - ellipse.setAttribute('cy', String(height / 2));
>> + _ellipse.setAttribute('cx', String(width / 2));
>> + _ellipse.setAttribute('cy', String(height / 2));
>> }
>> - ellipse.setAttribute('rx', String(width / 2));
>> - ellipse.setAttribute('ry', String(height / 2));
>> - element.appendChild(ellipse);
>> + _ellipse.setAttribute('rx', String(width / 2));
>> + _ellipse.setAttribute('ry', String(height / 2));
>>
>> - resize(x, y, (ellipse as SVGEllipseElement).getBBox());
>> + resize(x, y, (_ellipse as
>>SVGEllipseElement).getBBox());
>>
>> }
>> }
>>
>>
>>http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2da30efb/frameworks
>>/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Path.as
>> ----------------------------------------------------------------------
>> diff --git
>>a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Path.as
>>b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Path.as
>> index 0a152bb..15e6f0f 100644
>> ---
>>a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Path.as
>> +++
>>b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Path.as
>> @@ -41,6 +41,9 @@ package org.apache.flex.core.graphics
>> {
>> _data = value;
>> }
>> +
>> + COMPILE::JS
>> + private var _path:WrappedHTMLElement;
>>
>> /**
>> * Draw the path.
>> @@ -76,13 +79,15 @@ package org.apache.flex.core.graphics
>> {
>> if (data == null || data.length === 0) return;
>> var style:String = getStyleStr();
>> - var path:WrappedHTMLElement =
>>document.createElementNS('http://www.w3.org/2000/svg', 'path') as
>>WrappedHTMLElement;
>> - path.flexjs_wrapper = this;
>> - path.setAttribute('style', style);
>> - path.setAttribute('d', data);
>> - element.appendChild(path);
>> + if (_path == null) {
>> + _path =
>>document.createElementNS('http://www.w3.org/2000/svg', 'path') as
>>WrappedHTMLElement;
>> + _path.flexjs_wrapper = this;
>> + element.appendChild(_path);
>> + }
>> + _path.setAttribute('style', style);
>> + _path.setAttribute('d', data);
>>
>> - resize(x, y, path['getBBox']());
>> + resize(x, y, _path['getBBox']());
>>
>> }
>> }
>>
>>
>>http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2da30efb/frameworks
>>/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Rect.as
>> ----------------------------------------------------------------------
>> diff --git
>>a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Rect.as
>>b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Rect.as
>> index 3556459..0355c27 100644
>> ---
>>a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Rect.as
>> +++
>>b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Rect.as
>> @@ -28,6 +28,8 @@ package org.apache.flex.core.graphics
>>
>> public class Rect extends GraphicShape
>> {
>> + COMPILE::JS
>> + private var _rect:WrappedHTMLElement;
>>
>> /**
>> * Draw the rectangle.
>> @@ -55,24 +57,27 @@ package org.apache.flex.core.graphics
>> COMPILE::JS
>> {
>> var style:String = this.getStyleStr();
>> - var rect:WrappedHTMLElement =
>>document.createElementNS('http://www.w3.org/2000/svg', 'rect') as
>>WrappedHTMLElement;
>> - rect.flexjs_wrapper = this;
>> - rect.setAttribute('style', style);
>> +
>> + if (_rect == null) {
>> + _rect =
>>document.createElementNS('http://www.w3.org/2000/svg', 'rect') as
>>WrappedHTMLElement;
>> + _rect.flexjs_wrapper = this;
>> + element.appendChild(_rect);
>> + }
>> + _rect.setAttribute('style', style);
>> if (stroke)
>> {
>> - rect.setAttribute('x', String(stroke.weight / 2) +
>>'px');
>> - rect.setAttribute('y', String(stroke.weight / 2) +
>>'px');
>> + _rect.setAttribute('x', String(stroke.weight / 2) + 'px');
>> + _rect.setAttribute('y', String(stroke.weight / 2) + 'px');
>> }
>> else
>> {
>> - rect.setAttribute('x', '0' + 'px');
>> - rect.setAttribute('y', '0' + 'px');
>> + _rect.setAttribute('x', '0' + 'px');
>> + _rect.setAttribute('y', '0' + 'px');
>> }
>> - rect.setAttribute('width', String(width) + 'px');
>> - rect.setAttribute('height', String(height) + 'px');
>> - element.appendChild(rect);
>> + _rect.setAttribute('width', String(width) + 'px');
>> + _rect.setAttribute('height', String(height) + 'px');
>>
>> - resize(x, y, rect['getBBox']());
>> + resize(x, y, _rect['getBBox']());
>> }
>> }
>>
>>
>>
>>http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2da30efb/frameworks
>>/projects/Graphics/src/main/flex/org/apache/flex/core/graphics/Text.as
>> ----------------------------------------------------------------------
>> diff --git
>>a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Text.as
>>b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Text.as
>> index b493488..e864a11 100644
>> ---
>>a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Text.as
>> +++
>>b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/core/graphic
>>s/Text.as
>> @@ -64,6 +64,9 @@ package org.apache.flex.core.graphics
>> COMPILE::SWF
>> private var _textField:CSSTextField;
>>
>> + COMPILE::JS
>> + private var _text:WrappedHTMLElement;
>> +
>> /**
>> * @copy org.apache.flex.core.ITextModel#textField
>> *
>> @@ -115,16 +118,21 @@ package org.apache.flex.core.graphics
>> COMPILE::JS
>> {
>> var style:String = this.getStyleStr();
>> - var text:WrappedHTMLElement =
>>document.createElementNS('http://www.w3.org/2000/svg', 'text') as
>>WrappedHTMLElement;
>> - text.flexjs_wrapper = this;
>> - text.setAttribute('style', style);
>> - text.setAttribute('x', String(xt) + 'px');
>> - text.setAttribute('y', String(yt) + 'px');
>> - var textNode:Text = document.createTextNode(value) as
>>Text;
>> - text.appendChild(textNode as Node);
>> - element.appendChild(text);
>> + if (_text == null) {
>> + _text =
>>document.createElementNS('http://www.w3.org/2000/svg', 'text') as
>>WrappedHTMLElement;
>> + _text.flexjs_wrapper = this;
>> + element.appendChild(_text);
>> + }
>> + else {
>> + _text.removeChild(_text.childNodes[0]);
>> + }
>> + _text.setAttribute('style', style);
>> + _text.setAttribute('x', String(xt) + 'px');
>> + _text.setAttribute('y', String(yt) + 'px');
>> + var textNode:Text = document.createTextNode(value) as Text;
>> + _text.appendChild(textNode as Node);
>>
>> - resize(x, y, (text as SVGLocatable).getBBox());
>> + resize(x, y, (_text as SVGLocatable).getBBox());
>>
>> }
>> }
>>
>