Fixes SpriteBox to work better with native points

This commit is contained in:
Viktor Lidholt 2015-10-15 13:46:24 -07:00
parent 79ec74541a
commit f164289203

View File

@ -32,8 +32,10 @@ class SpriteBox extends RenderBox {
if (value == _rootNode) return; if (value == _rootNode) return;
// Ensure that the root node has a size // Ensure that the root node has a size
assert(value.size.width > 0); assert(_transformMode == SpriteBoxTransformMode.nativePoints
assert(value.size.height > 0); || value.size.width > 0);
assert(_transformMode == SpriteBoxTransformMode.nativePoints
|| value.size.height > 0);
// Remove sprite box references // Remove sprite box references
if (_rootNode != null) _removeSpriteBoxReference(_rootNode); if (_rootNode != null) _removeSpriteBoxReference(_rootNode);
@ -101,11 +103,11 @@ class SpriteBox extends RenderBox {
assert(rootNode != null); assert(rootNode != null);
assert(rootNode._spriteBox == null); assert(rootNode._spriteBox == null);
// Setup root node
this.rootNode = rootNode;
// Setup transform mode // Setup transform mode
this.transformMode = mode; this.transformMode = mode;
// Setup root node
this.rootNode = rootNode;
} }
void _removeSpriteBoxReference(Node node) { void _removeSpriteBoxReference(Node node) {
@ -310,6 +312,8 @@ class SpriteBox extends RenderBox {
rootNode.size = new Size(systemWidth, systemHeight); rootNode.size = new Size(systemWidth, systemHeight);
break; break;
case SpriteBoxTransformMode.nativePoints: case SpriteBoxTransformMode.nativePoints:
systemWidth = size.width;
systemHeight = size.height;
break; break;
default: default:
assert(false); assert(false);