Exemplo n.º 1
0
void Container::displayChildren(const Geometry::Rect & region,bool useScissor/*=false*/) {
	const Geometry::Rect myRegion=region.isValid() ? getAbsRect().clipBy(region) : getAbsRect();
	if(myRegion.isInvalid())
		return;
	if(useScissor){
		Geometry::Rect_i scissorRect = Geometry::Rect_i(getAbsRect());
		scissorRect.changeSize(-2,-2);
		scissorRect.moveRel(1,1);
		getGUI().pushScissor(scissorRect);
	}
		
	for(Component * c=getFirstChild();c!=nullptr;c=c->getNext()){
		if (c->isEnabled() && myRegion.intersects(c->getAbsRect()))
			c->display(region);
	}
	if(useScissor)
		getGUI().popScissor();
}
Exemplo n.º 2
0
bool  xuiCaption::onLMouseRelease(xMouseMsg& mEvent)
{
    static int lastTickt = IPlatform::singleton()->getElapsTime();
    int thisTickt = IPlatform::singleton()->getElapsTime();
    xuiRect _closeBox = getAbsRect(this->m_CloseBox.Rect() );
    if(PtInRect(_closeBox ,  (float)mEvent.x , (float)mEvent.y))
    {
        __fireCommand(eXUIWCMD_Close,this,0,0);
    }

    if(thisTickt - lastTickt < 500)
    {
        thisTickt -= 500;
        __fireCommand(eXUIWCMD_Icon,this,0,0);
    }
    lastTickt = thisTickt;
    return true;
}