void TStatusLine::handleEvent( TEvent& event )
{
    TView::handleEvent(event);

    switch (event.what)
        {
        case  evMouseDown:
            {
            TStatusItem *T = 0;

            do  {
                TPoint mouse = makeLocal( event.mouse.where );
                if( T != itemMouseIsIn(mouse) )
                    drawSelect( T = itemMouseIsIn(mouse) );
                } while( mouseEvent( event, evMouseMove ) );

            if( T != 0 && commandEnabled(T->command) )
                {
                event.what = evCommand;
                event.message.command = T->command;
                event.message.infoPtr = 0;
                putEvent(event);
                }
            clearEvent(event);
            drawView();
            break;
            }
        case evKeyDown:
            {
            for( TStatusItem *T = items; T != 0; T = T->next )
                {
                if( event.keyDown.keyCode ==  T->keyCode && 
                    commandEnabled(T->command))
                    {
                    event.what = evCommand;
                    event.message.command = T->command;
                    event.message.infoPtr = 0;
                    return;
                    }
            }
            break;
            }
        case evBroadcast:
            if( event.message.command == cmCommandSetChanged )
                drawView();
            break;
        }
}
Exemple #2
0
void Drawer::update( ) {
	_ani_timer++;

	if ( _scene->getScene( ) == SCENE::SCENE_TITLE ) {
		drawTitle( );
	}
	if ( _scene->getScene( ) == SCENE::SCENE_SELECT ) {
		drawSelect( );
	}
	if ( _scene->getScene( ) == SCENE::SCENE_PLAY ) {
		drawBackground( );
		drawMap( );
		drawUI( );
	}
	if ( _scene->getScene( ) == SCENE::SCENE_FAIL ) {
		drawFail( );
	}
	if ( _scene->getScene( ) == SCENE::SCENE_CLEAR ) {
		drawClear( );
	}
}
void TStatusLine::draw()
{
    drawSelect( 0 );
}