Skip to content
This repository has been archived by the owner on Jul 3, 2019. It is now read-only.

Commit

Permalink
Add support for bitmaps being placed directly.
Browse files Browse the repository at this point in the history
  • Loading branch information
Tobias Schneider committed Apr 9, 2013
1 parent e59128e commit f340055
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 4 deletions.
2 changes: 1 addition & 1 deletion src/flash/display/Bitmap.js
Expand Up @@ -3,7 +3,7 @@ var BitmapDefinition = (function () {
// (bitmapData:BitmapData = null, pixelSnapping:String = "auto", smoothing:Boolean = false)
__class__: "flash.display.Bitmap",
draw : function(ctx, ratio) {
ctx.drawImage(this._bitmapData._canvas, 0, 0);
ctx.drawImage(this._bitmapData._drawable, 0, 0);
},
initialize: function () {
},
Expand Down
2 changes: 1 addition & 1 deletion src/flash/display/Loader.js
Expand Up @@ -720,7 +720,7 @@ var LoaderDefinition = (function () {
};
img.src = 'data:' + symbol.mimeType + ';base64,' + btoa(symbol.data);
promiseQueue.push(imgPromise);
className = 'flash.display.BitmapData';
className = 'flash.display.Bitmap';
props.img = img;
props.width = symbol.width;
props.height = symbol.height;
Expand Down
8 changes: 8 additions & 0 deletions src/flash/display/Sprite.js
Expand Up @@ -58,6 +58,8 @@ var SpriteDefinition = (function () {
_constructChildren: function () {
var loader = this._loader;
var DisplayObjectClass = avm2.systemDomain.getClass("flash.display.DisplayObject");
var BitmapClass = avm2.systemDomain.getClass("flash.display.Bitmap");
var BitmapDataClass = avm2.systemDomain.getClass("flash.display.BitmapData");

var children = this._children;
for (var i = 0, n = children.length; i < n; i++) {
Expand Down Expand Up @@ -94,6 +96,12 @@ var SpriteDefinition = (function () {
// constructor is not nullary.
symbolClass.instance.call(instance);

if (BitmapDataClass.isInstanceOf(instance)) {
var bitmapData = instance;
instance = BitmapClass.createAsSymbol(props);
BitmapClass.instance.call(instance, bitmapData);
}

assert(instance._control);
this._control.appendChild(instance._control);

Expand Down
2 changes: 0 additions & 2 deletions src/swf/bitmap.js
Expand Up @@ -66,8 +66,6 @@ function defineBitmap(tag) {
var begin = pos;
var end = begin + width;
var scanline = slice.call(bytes, begin, end);
if (scanline[0] == 5 && scanline[2] == 5)
debugger;
literals += '\x00' + fromCharCode.apply(null, scanline);
stream.pos = (pos += bytesPerLine);
}
Expand Down

0 comments on commit f340055

Please sign in to comment.