Esempio n. 1
0
XU32 XDomTD::Handle(XU32 nOpera, XU32 pData1, XU32 pData2)
{
	switch(nOpera)
	{
		case XDO_GET_RECT:
		 if(IsVisiable()&&m_nWidth>0)
		 {
			XRect*pr=(XRect*)pData1;
			*pr=XRect(m_nPosX,m_nPosY,
					  m_nPosX+m_nWidth,m_nPosY+m_nHeight);
			//rt.InflateRect(2,2);
			
			return XTRUE;
		 }break;

	case XDO_PAINT:return XDomNode::Handle(nOpera,pData1,pData2);
	case XDO_LAYEROUT_TABPRE:
		 return LayeroutPre((DRAWCONTEXT*)pData1,(CELLDATA*)pData2);
	case XDO_LAYEROUT_TAB:
		 LayeroutCell((DRAWCONTEXT*)pData1,(CELLDATA*)pData2);
		 return XTRUE;
	case XDO_LAYEROUT_TABS:
		 LayeroutCells((DRAWCONTEXT*)pData1,(CELLDATA*)pData2);
		 return XTRUE;
	case XDO_PAINT_TABLE:
		 if(!IsVisiable()) return 0;
		 return Paint((DRAWCONTEXT*)pData1,pData2);
	}
	return XDomBlock::Handle(nOpera,pData1,pData2);
}
Esempio n. 2
0
		Air::U1 Frustum::IsVisiable( const BoundingBox& box )
		{
			Float3	vCenter	=	(box.vMin	+	box.vMax)*0.5f;
			Float3	vSize	=	(box.vMax	-	box.vMin)*0.5f;
			AxisAlignedBox	b;
			memcpy(&b.Center,&vCenter,sizeof(Float3));
			memcpy(&b.Extents,&vSize,sizeof(Float3));
			return	IsVisiable(b);
		}
Esempio n. 3
0
XU32 XHTMLButton::Handle(XU32 nOpera, XU32 pData1, XU32 pData2)
{
	if(!IsVisiable()) return 0;
	switch(nOpera)
	{
	case XDO_SELECT:
	      return (XU32)XDomItem::SelectItem((SELECTMARK*)pData1);
	case XDO_HITTEST:
		{
		  XRect rect(m_nPosX,m_nPosY,m_nPosX+m_nWidth,m_nPosY+m_nHeight);
		  if(rect.PtInRect(pData1,pData2))
			  return (XU32)this;
		}
		 return 0;
	case XDO_GET_STYLE:
		{
			XU32 s=XDomBlock::Handle(nOpera,pData1,pData2)|DOM_SELECTABLE;
			return s;
		}break;
	case XDO_PAINT:
		 return Paint((DRAWCONTEXT*)pData1);
	case XDO_EVENT_ONKEYDOWN:
		 if(pData1!=XK_RETURN) break;
	case XDO_EVENT_ONMOUSEUP:
		 return OnMouseUp((XEVENTDATA*)pData2);
	case XDO_EVENT_ONMOUSEOUT:
		 return OnMouseLeave((XEVENTDATA*)pData2);
	case XDO_EVENT_ONMOUSEDOWN:
		 return OnMouseDown(*(XPoint*)pData1,(XEVENTDATA*)pData2);
//	case XDO_ADD_CHILD:
//		 return XDomNode::Handle(nOpera,pData1,pData2);
//	case XDO_GET_STYLE:
//		 return XDomInput::Handle(nOpera,pData1,pData2)|DOM_NODE;
	case XDO_LAYEROUT_CELLS:
		 return LayeroutCells((DRAWCONTEXT*)pData1,(CELLDATA*)pData2);
	case XDO_LAYEROUT_CELL:
		 return LayeroutCell((DRAWCONTEXT*)pData1,(CELLDATA*)pData2);
	}
	return XDomBlock::Handle(nOpera,pData1,pData2);
}