Repository: flex-asjs
Updated Branches:
  refs/heads/refactor-sprite f469e1896 -> e45f83648


Image working on SVG too.


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/e45f8364
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/e45f8364
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/e45f8364

Branch: refs/heads/refactor-sprite
Commit: e45f83648d173b218cc3ee774f51df4b1e2840c3
Parents: f469e18
Author: yishayw <[email protected]>
Authored: Mon Oct 10 12:19:31 2016 +0300
Committer: yishayw <[email protected]>
Committed: Mon Oct 10 12:19:31 2016 +0300

----------------------------------------------------------------------
 .../main/flex/org/apache/flex/core/IBinaryImage.as   |  3 ---
 .../src/main/flex/org/apache/flex/core/IImage.as     |  3 +++
 .../src/main/flex/org/apache/flex/core/ImageBase.as  |  8 +++++++-
 .../main/flex/org/apache/flex/core/ImageViewBase.as  |  4 ++--
 .../src/main/flex/org/apache/flex/svg/BinaryImage.as |  6 ------
 .../src/main/flex/org/apache/flex/svg/Image.as       |  6 ++++++
 .../main/flex/org/apache/flex/html/BinaryImage.as    |  6 ------
 .../HTML/src/main/flex/org/apache/flex/html/Image.as |  5 +++++
 .../org/apache/flex/html/beads/BinaryImageLoader.as  | 15 +++++++++++++--
 9 files changed, 36 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e45f8364/frameworks/projects/Core/src/main/flex/org/apache/flex/core/IBinaryImage.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/IBinaryImage.as 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/IBinaryImage.as
index 45640be..8ae9393 100644
--- 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/IBinaryImage.as
+++ 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/IBinaryImage.as
@@ -43,8 +43,5 @@ package org.apache.flex.core
         function get binary():BinaryData;
         function set binary(value:BinaryData):void;
                
-               COMPILE::JS
-               function 
applyBinaryDataAsString(binaryDataAsString:String):void;
-               
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e45f8364/frameworks/projects/Core/src/main/flex/org/apache/flex/core/IImage.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/IImage.as 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/IImage.as
index 9f93239..69eee85 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/IImage.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/IImage.as
@@ -43,5 +43,8 @@ package org.apache.flex.core
         function set url(value:String):void;
                COMPILE::JS
                function get imageElement():Element;
+               COMPILE::JS
+               function applyImageData(binaryDataAsString:String):void;
+
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e45f8364/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ImageBase.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ImageBase.as 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ImageBase.as
index 674c23d..71454a7 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ImageBase.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ImageBase.as
@@ -73,6 +73,12 @@ package org.apache.flex.core
                        return null;
                        // override this
                }
-
+               
+               COMPILE::JS
+               public function applyImageData(binaryDataAsString:String):void
+               {
+                       // override this
+               }
+               
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e45f8364/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ImageViewBase.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ImageViewBase.as 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ImageViewBase.as
index 2bf4570..264fb07 100644
--- 
a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ImageViewBase.as
+++ 
b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ImageViewBase.as
@@ -100,7 +100,7 @@ package org.apache.flex.core
                
                /**
                 * @private
-         * @flexjsignorecoercion HTMLImageELement
+         * @flexjsignorecoercion org.apache.flex.core.IImage
                 */
                protected function handleUrlChange(event:Event):void
                {
@@ -115,7 +115,7 @@ package org.apache.flex.core
             {
                                if (_model.url) {
                     setupLoader();
-                       (host.element as HTMLImageElement).src = _model.url;
+                       (host as IImage).applyImageData(_model.url);
                                }
             }
                }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e45f8364/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/BinaryImage.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/BinaryImage.as 
b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/BinaryImage.as
index 6413c7c..c03793c 100644
--- 
a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/BinaryImage.as
+++ 
b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/BinaryImage.as
@@ -83,11 +83,5 @@ package org.apache.flex.svg
                        (model as IBinaryImageModel).binary = value;
                }
         
-               COMPILE::JS
-               public function 
applyBinaryDataAsString(binaryDataAsString:String):void
-               {
-                       (_image as 
SVGImageElement).setAttributeNS('http://www.w3.org/1999/xlink','href', 
binaryDataAsString);
-               }
-
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e45f8364/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/Image.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/Image.as 
b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/Image.as
index e84fd94..0524e41 100644
--- a/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/Image.as
+++ b/frameworks/projects/Graphics/src/main/flex/org/apache/flex/svg/Image.as
@@ -76,5 +76,11 @@ package org.apache.flex.svg
                        return _image;
                }
 
+               COMPILE::JS
+               override public function 
applyImageData(binaryDataAsString:String):void
+               {
+                       (_image as 
SVGImageElement).setAttributeNS('http://www.w3.org/1999/xlink','href', 
binaryDataAsString);
+               }
+
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e45f8364/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/BinaryImage.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/BinaryImage.as 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/BinaryImage.as
index 899ac3f..1ae61bf 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/BinaryImage.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/BinaryImage.as
@@ -84,11 +84,5 @@ package org.apache.flex.html
                        (model as IBinaryImageModel).binary = value;
                }
         
-               COMPILE::JS
-               public function 
applyBinaryDataAsString(binaryDataAsString:String):void
-               {
-                       (element as HTMLImageElement).src = binaryDataAsString;
-               }
-
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e45f8364/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Image.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Image.as 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Image.as
index 0b83b62..7ddca27 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Image.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/Image.as
@@ -63,6 +63,11 @@ package org.apache.flex.html
                        return element;
                }
 
+               COMPILE::JS
+               override public function 
applyImageData(binaryDataAsString:String):void
+               {
+                       (element as HTMLImageElement).src = binaryDataAsString;
+               }
 
        }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e45f8364/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/BinaryImageLoader.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/BinaryImageLoader.as
 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/BinaryImageLoader.as
index a4adf24..0e429d3 100644
--- 
a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/BinaryImageLoader.as
+++ 
b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/BinaryImageLoader.as
@@ -18,10 +18,13 @@
 
////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads
 {
+       import org.apache.flex.core.CallLaterBead;
+       import org.apache.flex.core.IBeadModel;
        import org.apache.flex.core.IBinaryImageLoader;
        import org.apache.flex.core.IBinaryImageModel;
        import org.apache.flex.core.IImageView;
        import org.apache.flex.core.IStrand;
+       import org.apache.flex.core.ValuesManager;
        import org.apache.flex.events.Event;
 
     COMPILE::JS
@@ -59,7 +62,15 @@ package org.apache.flex.html.beads
                
                private function get model():IBinaryImageModel
                {
-                       return _strand.getBeadByType(IBinaryImageModel) as 
IBinaryImageModel;
+                       var result:IBinaryImageModel = 
_strand.getBeadByType(IBinaryImageModel) as IBinaryImageModel;
+                       if (!result && _strand)
+                       {
+                               var c:Class = 
ValuesManager.valuesImpl.getValue(_strand, "iBeadModel") as Class;
+                               var model:IBinaryImageModel = new c as 
IBinaryImageModel;
+                               _strand.addBead(model);
+                               result = model;
+                       }
+                       return result;
                }
                
                /**
@@ -102,7 +113,7 @@ package org.apache.flex.html.beads
 // I don't think we need to specify the type.
 //                    var blob = new Blob([response], {type: "image/png"});
                     _objectURL = URLUtils.createObjectURL(blob);
-                    (_strand as 
IBinaryImage).applyBinaryDataAsString(_objectURL);
+                    (_strand as IBinaryImage).applyImageData(_objectURL);
                 }
             }
         }

Reply via email to