예제 #1
0
void Layer::drawView( View *view, Renderer *ren )
{
	if( view->isHidden() )
		return;

	if( view->isClipEnabled() )
		beginClip( view, ren );

	gl::ScopedModelMatrix modelScope;

	if( view != mRootView || ! mRootView->mRendersToFrameBuffer )
		gl::translate( view->getPos() );

	view->drawImpl( ren );

	for( auto &subview : view->getSubviews() ) {
		auto subviewLayer = subview->getLayer();
		if( subviewLayer ) {
			subviewLayer->draw( ren );
		}
		else {
			drawView( subview.get(), ren );
		}
	}

	if( view->isClipEnabled() )
		endClip();
}
예제 #2
0
파일: ui.cpp 프로젝트: fulhax/tesla
void Ui::update()
{
    drawRect(10, 10, 200, 200, "test2.png");

    startClip(10, 10, 200, 200);
    drawRect(20, 20, 120, 120, "dagger/Textures/Dagger_Albedo.png");
    endClip();
}