};\r
\r
data.postMesure();\r
- data.updateLayout( x, y );\r
+ data.updateLayout( x + data.boxX, y + data.boxY );\r
}\r
});\r
\r
\r
-var _Box = _AbstractUINode.inherits(\r
- '_Box',\r
+X.UI._Box = X.UI._AbstractUINode.inherits(\r
+ 'X.UI._Box',\r
X.Class.PRIVATE_DATA | X.Class.SUPER_ACCESS, // 現状 super 指定がないとconstructor未定擬時に親のconstructor が使われない\r
{\r
layout : null,\r
pointerChildren : true,\r
through : false,\r
\r
+ scrollingX : 0,\r
+ scrollingY : 0,\r
+\r
Constructor : function( layout, args ){\r
var i = 0,\r
l = args.length,\r
j = -1,\r
uinodes, arg, _data, attrs, support;\r
\r
- if( !this.User.instanceOf( Box ) ){\r
+ if( !this.User.instanceOf( X.UI.Box ) ){\r
//throw new Error( 'Box を継承したインスタンスだけが _Box のオーナーになれます' );\r
}; \r
\r
\r
for( ; i < l; ++i ){\r
arg = args[ i ];\r
- if( arg.instanceOf && arg.instanceOf( AbstractUINode ) ){\r
+ if( arg.instanceOf && arg.instanceOf( X.UI.AbstractUINode ) ){\r
_data = X.Class._getPrivate( arg );\r
if( !uinodes ) this.uinodes = uinodes = [];\r
uinodes[ ++j ] = _data;\r
}; \r
};\r
\r
- this.phase = 3;\r
- this.User.dispatch( { type : X.UI.Event.CREATION_COMPLETE } );\r
+ X.UI._AbstractUINode.prototype.creationComplete.apply( this, arguments );\r
},\r
\r
calculate : function( isNeedsDetection, x, y, w, h ){\r
_y = y - this.scrollingY;\r
for( ; i; ){\r
child = uinodes[ --i ];\r
- if( !child.pointerDisabled && child.boxX <= _x && _x < child.boxX + child.boxWidth && child.boxY <= _y && _y < child.boxY + child.boxHeight ){\r
- !child.hovering && ( child.rootData.hoverList[ child.rootData.hoverList.length ] = child );\r
- this.hitChildData = child.rootData.targetNodeData = child;\r
+ if( !child.pointerDisabled && child.boxX <= _x && _x < child.boxX + child.boxWidth && child.boxY <= _y && _y < child.boxY + child.boxHeight && child.capcher( _x, _y ) ){\r
+ //console.log( 'hit child ' + _x + ' ' + _y + ' boxX:' + child.boxX + ' boxY:' + child.boxY );\r
+ this.hitChildData = child;\r
break;\r
};\r
};\r
this.hitChildData && !this.hovering && ( this.rootData.hoverList[ this.rootData.hoverList.length ] = this );\r
return !!this.hitChildData;\r
};\r
- hit = 0 <= x && x < this.w && 0 <= y && y < this.h;\r
+ hit = 0 <= x && x < this.boxWidth && 0 <= y && y < this.boxHeight;\r
( this.hitChildData || hit ) && !this.hovering && ( this.rootData.hoverList[ this.rootData.hoverList.length ] = this );\r
if( hit && this.hitChildData === null ) this.rootData.targetNodeData = this;\r
return hit || !!this.hitChildData;\r
_p2 && data.addToParent( this.xnode );\r
uinodes[ uinodes.length ] = data; \r
};\r
- //p3 && data.phase < 3 && data.afterAddition();\r
- p3 && data.phase < 4 && data.creationComplete();\r
+ p3 && data.phase < 3 && data.creationComplete();\r
};\r
4 <= this.phase && this.rootData.reserveCalc();\r
},\r
}\r
);\r
\r
-var Box = AbstractUINode.inherits(\r
+X.UI.Box = X.UI.AbstractUINode.inherits(\r
'Box',\r
X.Class.SUPER_ACCESS,\r
- _Box,\r
+ X.UI._Box,\r
{\r
Constructor : function(){\r
X.Class._newPrivate( this, X.UI.Layout.Canvas, arguments );\r
* layout が設定されている Box のサブクラスに対して、layout を指定できない.\r
* \r
*/\r
-Box.presets = function(){\r
+X.UI.Box.presets = function(){\r
var args = arguments,\r
i = 0,\r
l = args.length, \r
); \r
};\r
\r
- klass.presets = this.presets || Box.presets;\r
+ klass.presets = this.presets || X.UI.Box.presets;\r
\r
return klass;\r
};\r