Re: git commit: [flex-asjs] [refs/heads/develop] - Changed property name from url to source to be compatible with Flex and HTML.

2013-09-11 Thread OmPrakash Muppirala
IImageModel should perhaps define the getter/setter for sources as:

function get source():Object;
function set source(value:Object):void;

instead of:

function get source():String;
function set source(value:String):void;

In the Flash based implementation, we need to have the option of setting a
bitmap object as source as well.  I dont think that is possible with HTML,
though.  But keeping it generic would be beneficial for sure.

Thanks,
Om


On Wed, Sep 11, 2013 at 8:48 AM, p...@apache.org wrote:

 Updated Branches:
   refs/heads/develop a1f8929b3 - 426c2e1eb


 Changed property name from url to source to be compatible with Flex
 and HTML.


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

 Branch: refs/heads/develop
 Commit: 426c2e1ebc17fc271b34aa856c2cfe6423240c4d
 Parents: a1f8929
 Author: Peter Ent p...@apache.org
 Authored: Wed Sep 11 11:48:06 2013 -0400
 Committer: Peter Ent p...@apache.org
 Committed: Wed Sep 11 11:48:06 2013 -0400

 --
  frameworks/as/src/org/apache/flex/core/IImageModel.as   |  4 ++--
  .../as/src/org/apache/flex/html/staticControls/Image.as |  8 
  .../apache/flex/html/staticControls/beads/ImageView.as  |  2 +-
  .../flex/html/staticControls/beads/models/ImageModel.as | 12 ++--
  4 files changed, 13 insertions(+), 13 deletions(-)
 --



 http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/426c2e1e/frameworks/as/src/org/apache/flex/core/IImageModel.as
 --
 diff --git a/frameworks/as/src/org/apache/flex/core/IImageModel.as
 b/frameworks/as/src/org/apache/flex/core/IImageModel.as
 index 07dfd56..dc924eb 100644
 --- a/frameworks/as/src/org/apache/flex/core/IImageModel.as
 +++ b/frameworks/as/src/org/apache/flex/core/IImageModel.as
 @@ -22,7 +22,7 @@ package org.apache.flex.core

 public interface IImageModel extends IEventDispatcher, IBeadModel
 {
 -   function get url():String;
 -   function set url(value:String):void;
 +   function get source():String;
 +   function set source(value:String):void;
 }
  }
 \ No newline at end of file


 http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/426c2e1e/frameworks/as/src/org/apache/flex/html/staticControls/Image.as
 --
 diff --git
 a/frameworks/as/src/org/apache/flex/html/staticControls/Image.as
 b/frameworks/as/src/org/apache/flex/html/staticControls/Image.as
 index 297e847..eebfe40 100644
 --- a/frameworks/as/src/org/apache/flex/html/staticControls/Image.as
 +++ b/frameworks/as/src/org/apache/flex/html/staticControls/Image.as
 @@ -28,14 +28,14 @@ package org.apache.flex.html.staticControls
 super();
 }

 -   public function get url():String
 +   public function get source():String
 {
 -   return IImageModel(model).url;
 +   return IImageModel(model).source;
 }

 -   public function set url(value:String):void
 +   public function set source(value:String):void
 {
 -   IImageModel(model).url = value;
 +   IImageModel(model).source = value;
 }
 }
  }
 \ No newline at end of file


 http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/426c2e1e/frameworks/as/src/org/apache/flex/html/staticControls/beads/ImageView.as
 --
 diff --git
 a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ImageView.as
 b/frameworks/as/src/org/apache/flex/html/staticControls/beads/ImageView.as
 index 2fed3e6..bcb6044 100644
 ---
 a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ImageView.as
 +++
 b/frameworks/as/src/org/apache/flex/html/staticControls/beads/ImageView.as
 @@ -59,7 +59,7 @@ package org.apache.flex.html.staticControls.beads
 {
 loader = new Loader();

 loader.contentLoaderInfo.addEventListener(complete,onComplete);
 -   loader.load(new URLRequest(_model.url));
 +   loader.load(new URLRequest(_model.source));
 }

 private function onComplete(event:Object):void


 http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/426c2e1e/frameworks/as/src/org/apache/flex/html/staticControls/beads/models/ImageModel.as
 --
 diff --git
 

Re: git commit: [flex-asjs] [refs/heads/develop] - Changed property name from url to source to be compatible with Flex and HTML.

2013-09-11 Thread Alex Harui


On 9/11/13 11:08 AM, OmPrakash Muppirala bigosma...@gmail.com wrote:

On Wed, Sep 11, 2013 at 10:58 AM, Alex Harui aha...@adobe.com wrote:

 Maybe, or in FlexJS, where we don't try to make a one-size-fits-all
 component, there will be a separate component called EmbeddedImage.


I had a usecase in the past where I grab an bitmap data from the hard disk
and while it is uploading in the background, I show that bitmap in an
Image
component.  And when the upload was finished, I would swap it out with the
downloaded(processed) image from the server.  Swapping an EmbeddedImage
component with an Image component would result in more unnecessary object
creations and destructions.
A completely valid scenario, but, keeping with the pay-as-you-go
philosophy of FlexJS, you would create a custom component like the
EmbeddedOrRemoteImage you mention below, but it doesn't have to use the
same model.  I'm not clear the cost of having a different model is such
that FlexJS should give up type-checking for the 80% case, especially
because when migrating old Flex code, we should make it clear that this
simple FlexJS image component only knows about urls and that embeds are
probably better handled some other way (not sure what that way is just
yet).
 


 FWIW, most usage of embedded images in Flex via Image/SWFLoader was a
 waste of
 memory.  A much lighterweight class is possible.  For FlexJS, embedded
 images on the AS side should not require much wrapping if at all, but
then
 I think that makes your app un-portable to JS.


Totally agree.  Which is why proposed this change on the IImageModel and
not Image.  This way, we can create an EmbeddedOrRemoteImage component
without having to create a new model.
I was thinking the embedded image component (if we even have one since
these object might just get new-ed and addChild'd) would have a model
where the source is of type bitmapData or bytearay.  And this
EmbeddedOrRemoteImage component would have a different model with both an
embeddedSource and remoteSource properties.  But that's just a first guess.


Also, on the JS side, this change is moot because you can pass in a string
or an object or whatever.  That will need to be taken care of in the
setter
on the javascript version.
I'm not sure I understand your point.  Yes, there is no type-checking in
JS, but in FlexJS folks aren't writing JS code directly so the only thing
that should be passed in is the URL that got cross-compiled.


Thanks,
Om



 On 9/11/13 10:53 AM, OmPrakash Muppirala bigosma...@gmail.com wrote:

 IImageModel should perhaps define the getter/setter for sources as:
 
 function get source():Object;
 function set source(value:Object):void;
 
 instead of:
 
 function get source():String;
 function set source(value:String):void;
 
 In the Flash based implementation, we need to have the option of
setting a
 bitmap object as source as well.  I dont think that is possible with
HTML,
 though.  But keeping it generic would be beneficial for sure.
 
 Thanks,
 Om
 
 
 On Wed, Sep 11, 2013 at 8:48 AM, p...@apache.org wrote:
 
  Updated Branches:
refs/heads/develop a1f8929b3 - 426c2e1eb
 
 
  Changed property name from url to source to be compatible with
Flex
  and HTML.
 
 
  Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
  Commit:
 http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/426c2e1e
  Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/426c2e1e
  Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/426c2e1e
 
  Branch: refs/heads/develop
  Commit: 426c2e1ebc17fc271b34aa856c2cfe6423240c4d
  Parents: a1f8929
  Author: Peter Ent p...@apache.org
  Authored: Wed Sep 11 11:48:06 2013 -0400
  Committer: Peter Ent p...@apache.org
  Committed: Wed Sep 11 11:48:06 2013 -0400
 
  
--
   frameworks/as/src/org/apache/flex/core/IImageModel.as   |  4 ++--
   .../as/src/org/apache/flex/html/staticControls/Image.as |  8

   .../apache/flex/html/staticControls/beads/ImageView.as  |  2 +-
   .../flex/html/staticControls/beads/models/ImageModel.as | 12
 ++--
   4 files changed, 13 insertions(+), 13 deletions(-)
  
--
 
 
 
 
 
 
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/426c2e1e/frameworks
 /as/src/org/apache/flex/core/IImageModel.as
  
--
  diff --git a/frameworks/as/src/org/apache/flex/core/IImageModel.as
  b/frameworks/as/src/org/apache/flex/core/IImageModel.as
  index 07dfd56..dc924eb 100644
  --- a/frameworks/as/src/org/apache/flex/core/IImageModel.as
  +++ b/frameworks/as/src/org/apache/flex/core/IImageModel.as
  @@ -22,7 +22,7 @@ package org.apache.flex.core
 
  public interface IImageModel extends IEventDispatcher,
 IBeadModel
  {
  -   function get url():String;
  -   function set url(value:String):void;
  +   

Re: git commit: [flex-asjs] [refs/heads/develop] - Changed property name from url to source to be compatible with Flex and HTML.

2013-09-11 Thread Alex Harui
Maybe, or in FlexJS, where we don't try to make a one-size-fits-all
component, there will be a separate component called EmbeddedImage. FWIW,
most usage of embedded images in Flex via Image/SWFLoader was a waste of
memory.  A much lighterweight class is possible.  For FlexJS, embedded
images on the AS side should not require much wrapping if at all, but then
I think that makes your app un-portable to JS.

On 9/11/13 10:53 AM, OmPrakash Muppirala bigosma...@gmail.com wrote:

IImageModel should perhaps define the getter/setter for sources as:

function get source():Object;
function set source(value:Object):void;

instead of:

function get source():String;
function set source(value:String):void;

In the Flash based implementation, we need to have the option of setting a
bitmap object as source as well.  I dont think that is possible with HTML,
though.  But keeping it generic would be beneficial for sure.

Thanks,
Om


On Wed, Sep 11, 2013 at 8:48 AM, p...@apache.org wrote:

 Updated Branches:
   refs/heads/develop a1f8929b3 - 426c2e1eb


 Changed property name from url to source to be compatible with Flex
 and HTML.


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

 Branch: refs/heads/develop
 Commit: 426c2e1ebc17fc271b34aa856c2cfe6423240c4d
 Parents: a1f8929
 Author: Peter Ent p...@apache.org
 Authored: Wed Sep 11 11:48:06 2013 -0400
 Committer: Peter Ent p...@apache.org
 Committed: Wed Sep 11 11:48:06 2013 -0400

 --
  frameworks/as/src/org/apache/flex/core/IImageModel.as   |  4 ++--
  .../as/src/org/apache/flex/html/staticControls/Image.as |  8 
  .../apache/flex/html/staticControls/beads/ImageView.as  |  2 +-
  .../flex/html/staticControls/beads/models/ImageModel.as | 12
++--
  4 files changed, 13 insertions(+), 13 deletions(-)
 --



 
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/426c2e1e/frameworks
/as/src/org/apache/flex/core/IImageModel.as
 --
 diff --git a/frameworks/as/src/org/apache/flex/core/IImageModel.as
 b/frameworks/as/src/org/apache/flex/core/IImageModel.as
 index 07dfd56..dc924eb 100644
 --- a/frameworks/as/src/org/apache/flex/core/IImageModel.as
 +++ b/frameworks/as/src/org/apache/flex/core/IImageModel.as
 @@ -22,7 +22,7 @@ package org.apache.flex.core

 public interface IImageModel extends IEventDispatcher,
IBeadModel
 {
 -   function get url():String;
 -   function set url(value:String):void;
 +   function get source():String;
 +   function set source(value:String):void;
 }
  }
 \ No newline at end of file


 
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/426c2e1e/frameworks
/as/src/org/apache/flex/html/staticControls/Image.as
 --
 diff --git
 a/frameworks/as/src/org/apache/flex/html/staticControls/Image.as
 b/frameworks/as/src/org/apache/flex/html/staticControls/Image.as
 index 297e847..eebfe40 100644
 --- a/frameworks/as/src/org/apache/flex/html/staticControls/Image.as
 +++ b/frameworks/as/src/org/apache/flex/html/staticControls/Image.as
 @@ -28,14 +28,14 @@ package org.apache.flex.html.staticControls
 super();
 }

 -   public function get url():String
 +   public function get source():String
 {
 -   return IImageModel(model).url;
 +   return IImageModel(model).source;
 }

 -   public function set url(value:String):void
 +   public function set source(value:String):void
 {
 -   IImageModel(model).url = value;
 +   IImageModel(model).source = value;
 }
 }
  }
 \ No newline at end of file


 
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/426c2e1e/frameworks
/as/src/org/apache/flex/html/staticControls/beads/ImageView.as
 --
 diff --git
 
a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ImageView.a
s
 
b/frameworks/as/src/org/apache/flex/html/staticControls/beads/ImageView.a
s
 index 2fed3e6..bcb6044 100644
 ---
 
a/frameworks/as/src/org/apache/flex/html/staticControls/beads/ImageView.a
s
 +++
 
b/frameworks/as/src/org/apache/flex/html/staticControls/beads/ImageView.a
s
 @@ -59,7 +59,7 @@ package org.apache.flex.html.staticControls.beads
 {
 loader = new Loader();

 loader.contentLoaderInfo.addEventListener(complete,onComplete);
 - 

Re: git commit: [flex-asjs] [refs/heads/develop] - Changed property name from url to source to be compatible with Flex and HTML.

2013-09-11 Thread OmPrakash Muppirala
On Wed, Sep 11, 2013 at 10:58 AM, Alex Harui aha...@adobe.com wrote:

 Maybe, or in FlexJS, where we don't try to make a one-size-fits-all
 component, there will be a separate component called EmbeddedImage.


I had a usecase in the past where I grab an bitmap data from the hard disk
and while it is uploading in the background, I show that bitmap in an Image
component.  And when the upload was finished, I would swap it out with the
downloaded(processed) image from the server.  Swapping an EmbeddedImage
component with an Image component would result in more unnecessary object
creations and destructions.


 FWIW, most usage of embedded images in Flex via Image/SWFLoader was a
 waste of
 memory.  A much lighterweight class is possible.  For FlexJS, embedded
 images on the AS side should not require much wrapping if at all, but then
 I think that makes your app un-portable to JS.


Totally agree.  Which is why proposed this change on the IImageModel and
not Image.  This way, we can create an EmbeddedOrRemoteImage component
without having to create a new model.

Also, on the JS side, this change is moot because you can pass in a string
or an object or whatever.  That will need to be taken care of in the setter
on the javascript version.

Thanks,
Om



 On 9/11/13 10:53 AM, OmPrakash Muppirala bigosma...@gmail.com wrote:

 IImageModel should perhaps define the getter/setter for sources as:
 
 function get source():Object;
 function set source(value:Object):void;
 
 instead of:
 
 function get source():String;
 function set source(value:String):void;
 
 In the Flash based implementation, we need to have the option of setting a
 bitmap object as source as well.  I dont think that is possible with HTML,
 though.  But keeping it generic would be beneficial for sure.
 
 Thanks,
 Om
 
 
 On Wed, Sep 11, 2013 at 8:48 AM, p...@apache.org wrote:
 
  Updated Branches:
refs/heads/develop a1f8929b3 - 426c2e1eb
 
 
  Changed property name from url to source to be compatible with Flex
  and HTML.
 
 
  Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
  Commit:
 http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/426c2e1e
  Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/426c2e1e
  Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/426c2e1e
 
  Branch: refs/heads/develop
  Commit: 426c2e1ebc17fc271b34aa856c2cfe6423240c4d
  Parents: a1f8929
  Author: Peter Ent p...@apache.org
  Authored: Wed Sep 11 11:48:06 2013 -0400
  Committer: Peter Ent p...@apache.org
  Committed: Wed Sep 11 11:48:06 2013 -0400
 
  --
   frameworks/as/src/org/apache/flex/core/IImageModel.as   |  4 ++--
   .../as/src/org/apache/flex/html/staticControls/Image.as |  8 
   .../apache/flex/html/staticControls/beads/ImageView.as  |  2 +-
   .../flex/html/staticControls/beads/models/ImageModel.as | 12
 ++--
   4 files changed, 13 insertions(+), 13 deletions(-)
  --
 
 
 
 
 
 http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/426c2e1e/frameworks
 /as/src/org/apache/flex/core/IImageModel.as
  --
  diff --git a/frameworks/as/src/org/apache/flex/core/IImageModel.as
  b/frameworks/as/src/org/apache/flex/core/IImageModel.as
  index 07dfd56..dc924eb 100644
  --- a/frameworks/as/src/org/apache/flex/core/IImageModel.as
  +++ b/frameworks/as/src/org/apache/flex/core/IImageModel.as
  @@ -22,7 +22,7 @@ package org.apache.flex.core
 
  public interface IImageModel extends IEventDispatcher,
 IBeadModel
  {
  -   function get url():String;
  -   function set url(value:String):void;
  +   function get source():String;
  +   function set source(value:String):void;
  }
   }
  \ No newline at end of file
 
 
 
 
 http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/426c2e1e/frameworks
 /as/src/org/apache/flex/html/staticControls/Image.as
  --
  diff --git
  a/frameworks/as/src/org/apache/flex/html/staticControls/Image.as
  b/frameworks/as/src/org/apache/flex/html/staticControls/Image.as
  index 297e847..eebfe40 100644
  --- a/frameworks/as/src/org/apache/flex/html/staticControls/Image.as
  +++ b/frameworks/as/src/org/apache/flex/html/staticControls/Image.as
  @@ -28,14 +28,14 @@ package org.apache.flex.html.staticControls
  super();
  }
 
  -   public function get url():String
  +   public function get source():String
  {
  -   return IImageModel(model).url;
  +   return IImageModel(model).source;
  }
 
  -   public function set url(value:String):void
  +   public function set source(value:String):void
  {
  

Re: git commit: [flex-asjs] [refs/heads/develop] - Changed property name from url to source to be compatible with Flex and HTML.

2013-09-11 Thread OmPrakash Muppirala
Looks like creating a new model would be the way to go then.  I am only
concerned about having to create a new interface/class heirarchy because
only one function's (source, in this case) signature is incompatible.

I saw something about function overloading somewhere.  If we get around to
doing that in FlexJS, that would be great as well.

The other approach would be to move contentious functions like these to a
separate interface like this:

public interface IExternalImageModel extends IImageModel,
IExternalSourceModel
public interface IExternalOrEmbeddedImageModel extends IImageModel,
IEmbeddedSourceModel

Where IExternalSourceModel would define:
function get source():String;
function set source(value:String):void;

and IEmbeddedSourceModel would define:
function get source():Object;
function set source(value:Object):void;

and IImageModel defines all the common methods.  In runtime, the user can
use the IImageModel's apis for everything except when they need to play
around with the source property.

Maybe I am over-engineering it, or maybe this pattern can be applied
everywhere where there are differences between the capabilities of Flash
Player and the Web browsers.  We are definitely going to be hitting these
cases more and more with FlexJS.

Thanks,
Om


On Wed, Sep 11, 2013 at 11:41 AM, Peter Ent p...@adobe.com wrote:

 I started with the source being Object but then I realized it might not
 make any sense on the JavaScript side so I made it a String. If someone
 wanted to load in a SWF, it would make the app unusable on the JavaScript
 side, so I would think they would change the beads or there would be a
 Flash-specific component for that.

 Peter

 On 9/11/13 2:21 PM, Alex Harui aha...@adobe.com wrote:

 
 
 On 9/11/13 11:08 AM, OmPrakash Muppirala bigosma...@gmail.com wrote:
 
 On Wed, Sep 11, 2013 at 10:58 AM, Alex Harui aha...@adobe.com wrote:
 
  Maybe, or in FlexJS, where we don't try to make a one-size-fits-all
  component, there will be a separate component called EmbeddedImage.
 
 
 I had a usecase in the past where I grab an bitmap data from the hard
 disk
 and while it is uploading in the background, I show that bitmap in an
 Image
 component.  And when the upload was finished, I would swap it out with
 the
 downloaded(processed) image from the server.  Swapping an EmbeddedImage
 component with an Image component would result in more unnecessary object
 creations and destructions.
 A completely valid scenario, but, keeping with the pay-as-you-go
 philosophy of FlexJS, you would create a custom component like the
 EmbeddedOrRemoteImage you mention below, but it doesn't have to use the
 same model.  I'm not clear the cost of having a different model is such
 that FlexJS should give up type-checking for the 80% case, especially
 because when migrating old Flex code, we should make it clear that this
 simple FlexJS image component only knows about urls and that embeds are
 probably better handled some other way (not sure what that way is just
 yet).
 
 
 
  FWIW, most usage of embedded images in Flex via Image/SWFLoader was a
  waste of
  memory.  A much lighterweight class is possible.  For FlexJS, embedded
  images on the AS side should not require much wrapping if at all, but
 then
  I think that makes your app un-portable to JS.
 
 
 Totally agree.  Which is why proposed this change on the IImageModel and
 not Image.  This way, we can create an EmbeddedOrRemoteImage component
 without having to create a new model.
 I was thinking the embedded image component (if we even have one since
 these object might just get new-ed and addChild'd) would have a model
 where the source is of type bitmapData or bytearay.  And this
 EmbeddedOrRemoteImage component would have a different model with both an
 embeddedSource and remoteSource properties.  But that's just a first
 guess.
 
 
 Also, on the JS side, this change is moot because you can pass in a
 string
 or an object or whatever.  That will need to be taken care of in the
 setter
 on the javascript version.
 I'm not sure I understand your point.  Yes, there is no type-checking in
 JS, but in FlexJS folks aren't writing JS code directly so the only thing
 that should be passed in is the URL that got cross-compiled.
 
 
 Thanks,
 Om
 
 
 
  On 9/11/13 10:53 AM, OmPrakash Muppirala bigosma...@gmail.com
 wrote:
 
  IImageModel should perhaps define the getter/setter for sources as:
  
  function get source():Object;
  function set source(value:Object):void;
  
  instead of:
  
  function get source():String;
  function set source(value:String):void;
  
  In the Flash based implementation, we need to have the option of
 setting a
  bitmap object as source as well.  I dont think that is possible with
 HTML,
  though.  But keeping it generic would be beneficial for sure.
  
  Thanks,
  Om
  
  
  On Wed, Sep 11, 2013 at 8:48 AM, p...@apache.org wrote:
  
   Updated Branches:
 refs/heads/develop a1f8929b3 - 426c2e1eb
  
  
   Changed property 

Re: git commit: [flex-asjs] [refs/heads/develop] - Changed property name from url to source to be compatible with Flex and HTML.

2013-09-11 Thread Peter Ent
I started with the source being Object but then I realized it might not
make any sense on the JavaScript side so I made it a String. If someone
wanted to load in a SWF, it would make the app unusable on the JavaScript
side, so I would think they would change the beads or there would be a
Flash-specific component for that.

Peter

On 9/11/13 2:21 PM, Alex Harui aha...@adobe.com wrote:



On 9/11/13 11:08 AM, OmPrakash Muppirala bigosma...@gmail.com wrote:

On Wed, Sep 11, 2013 at 10:58 AM, Alex Harui aha...@adobe.com wrote:

 Maybe, or in FlexJS, where we don't try to make a one-size-fits-all
 component, there will be a separate component called EmbeddedImage.


I had a usecase in the past where I grab an bitmap data from the hard
disk
and while it is uploading in the background, I show that bitmap in an
Image
component.  And when the upload was finished, I would swap it out with
the
downloaded(processed) image from the server.  Swapping an EmbeddedImage
component with an Image component would result in more unnecessary object
creations and destructions.
A completely valid scenario, but, keeping with the pay-as-you-go
philosophy of FlexJS, you would create a custom component like the
EmbeddedOrRemoteImage you mention below, but it doesn't have to use the
same model.  I'm not clear the cost of having a different model is such
that FlexJS should give up type-checking for the 80% case, especially
because when migrating old Flex code, we should make it clear that this
simple FlexJS image component only knows about urls and that embeds are
probably better handled some other way (not sure what that way is just
yet).
 


 FWIW, most usage of embedded images in Flex via Image/SWFLoader was a
 waste of
 memory.  A much lighterweight class is possible.  For FlexJS, embedded
 images on the AS side should not require much wrapping if at all, but
then
 I think that makes your app un-portable to JS.


Totally agree.  Which is why proposed this change on the IImageModel and
not Image.  This way, we can create an EmbeddedOrRemoteImage component
without having to create a new model.
I was thinking the embedded image component (if we even have one since
these object might just get new-ed and addChild'd) would have a model
where the source is of type bitmapData or bytearay.  And this
EmbeddedOrRemoteImage component would have a different model with both an
embeddedSource and remoteSource properties.  But that's just a first
guess.


Also, on the JS side, this change is moot because you can pass in a
string
or an object or whatever.  That will need to be taken care of in the
setter
on the javascript version.
I'm not sure I understand your point.  Yes, there is no type-checking in
JS, but in FlexJS folks aren't writing JS code directly so the only thing
that should be passed in is the URL that got cross-compiled.


Thanks,
Om



 On 9/11/13 10:53 AM, OmPrakash Muppirala bigosma...@gmail.com
wrote:

 IImageModel should perhaps define the getter/setter for sources as:
 
 function get source():Object;
 function set source(value:Object):void;
 
 instead of:
 
 function get source():String;
 function set source(value:String):void;
 
 In the Flash based implementation, we need to have the option of
setting a
 bitmap object as source as well.  I dont think that is possible with
HTML,
 though.  But keeping it generic would be beneficial for sure.
 
 Thanks,
 Om
 
 
 On Wed, Sep 11, 2013 at 8:48 AM, p...@apache.org wrote:
 
  Updated Branches:
refs/heads/develop a1f8929b3 - 426c2e1eb
 
 
  Changed property name from url to source to be compatible with
Flex
  and HTML.
 
 
  Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
  Commit:
 http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/426c2e1e
  Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/426c2e1e
  Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/426c2e1e
 
  Branch: refs/heads/develop
  Commit: 426c2e1ebc17fc271b34aa856c2cfe6423240c4d
  Parents: a1f8929
  Author: Peter Ent p...@apache.org
  Authored: Wed Sep 11 11:48:06 2013 -0400
  Committer: Peter Ent p...@apache.org
  Committed: Wed Sep 11 11:48:06 2013 -0400
 
  
--
   frameworks/as/src/org/apache/flex/core/IImageModel.as   |  4 ++--
   .../as/src/org/apache/flex/html/staticControls/Image.as |  8

   .../apache/flex/html/staticControls/beads/ImageView.as  |  2 +-
   .../flex/html/staticControls/beads/models/ImageModel.as | 12
 ++--
   4 files changed, 13 insertions(+), 13 deletions(-)
  
--
 
 
 
 
 
 
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/426c2e1e/framework
s
 /as/src/org/apache/flex/core/IImageModel.as
  
--
  diff --git a/frameworks/as/src/org/apache/flex/core/IImageModel.as
  b/frameworks/as/src/org/apache/flex/core/IImageModel.as
  index