void AdvisorFinanceWindow::draw( GfxEngine& painter ) { if( !isVisible() ) return; painter.drawPicture( *_d->background, getScreenLeft(), getScreenTop() ); Widget::draw( painter ); }
void AdvisorsWindow::draw( GfxEngine& engine ) { if( !isVisible() ) return; engine.drawPicture( *_d->background, Point( 0, 0 ) ); Widget::draw( engine ); }
void PopupMessageBox::draw( GfxEngine& painter ) { if( !isVisible() ) return; painter.drawPicture( *_d->background, getScreenLeft(), getScreenTop() ); Widget::draw( painter ); }
//! draws the element and its children void GroupBox::draw( GfxEngine& painter ) { if (!isVisible()) return; painter.drawPicture( *_d->texture, getScreenLeft(), getScreenTop(), &getAbsoluteClippingRectRef() ); Widget::draw( painter ); }
//! draws the element and its children void ScrollBar::draw( GfxEngine& painter ) { if (!isVisible()) return; //draw background if( _d->texture.isValid() ) { painter.drawPicture( _d->texture, getAbsoluteRect().UpperLeftCorner ); } //draw slider if( _d->sliderTexture.isValid() ) { painter.drawPicture( _d->sliderTexture, _d->sliderRect.UpperLeftCorner ); } // draw buttons Widget::draw( painter ); }
void Minimap::draw(GfxEngine& painter) { if( !isVisible() ) return; if( DateTime::getElapsedTime() - _d->lastTimeUpdate > 500 ) { _d->updateImage(); _d->lastTimeUpdate = DateTime::getElapsedTime(); } painter.drawPicture( *_d->minimap, getScreenLeft(), getScreenTop() ); // 152, 145 Widget::draw( painter ); }
void SenatePopupInfo::draw( GfxEngine& painter ) { Point cursorPos = getEnvironment()->getCursorPos(); Tile* tile = _d->mapRenderer->getTile( cursorPos, false ); if( tile ) { SmartPtr< Senate > senate = tile->getOverlay().as< Senate >(); if( senate.isValid() ) { if( DateTime::getElapsedTime() - _d->lastUpdateTime > 2000 ) { _d->updateRatings(); } painter.drawPicture( *_d->background, cursorPos ); } } }
void LayerHealth::drawTile(GfxEngine& engine, Tile& tile, Point offset) { Point screenPos = tile.getXY() + offset; tile.setWasDrawn(); bool needDrawAnimations = false; if( tile.getOverlay().isNull() ) { //draw background engine.drawPicture( tile.getPicture(), screenPos ); } else { TileOverlayPtr overlay = tile.getOverlay(); int healthLevel = -1; switch( overlay->getType() ) { //fire buildings and roads case construction::road: case construction::B_PLAZA: needDrawAnimations = true; engine.drawPicture( tile.getPicture(), screenPos ); break; case building::B_DOCTOR: case building::B_HOSPITAL: case building::B_BARBER: case building::B_BATHS: needDrawAnimations = _flags.count( overlay->getType() ); if( needDrawAnimations ) { engine.drawPicture( tile.getPicture(), screenPos ); } else { CityHelper helper( _city ); drawArea( engine, helper.getArea( overlay ), offset, ResourceGroup::foodOverlay, OverlayPic::base ); } break; //houses case building::house: { HousePtr house = overlay.as< House >(); if( _flags.count( building::B_DOCTOR ) ) { healthLevel = house->getHealthLevel(); } else if( _flags.count( building::B_HOSPITAL ) ) { healthLevel = house->getServiceValue( Service::hospital ); } else if( _flags.count( building::B_BARBER ) ) { healthLevel = house->getServiceValue( Service::barber ); } else if( _flags.count( building::B_BATHS ) ) { healthLevel = house->getServiceValue( Service::baths ); } needDrawAnimations = (house->getSpec().getLevel() == 1) && (house->getHabitants().size() == 0); CityHelper helper( _city ); drawArea( engine, helper.getArea( overlay ), offset, ResourceGroup::foodOverlay, OverlayPic::inHouseBase ); } break; //other buildings default: { CityHelper helper( _city ); drawArea( engine, helper.getArea( overlay ), offset, ResourceGroup::foodOverlay, OverlayPic::base ); } break; } if( needDrawAnimations ) { _renderer->registerTileForRendering( tile ); } else if( healthLevel > 0 ) { drawColumn( engine, screenPos, 9, healthLevel ); } } }
void GuiInfoBox::draw( GfxEngine& engine ) { engine.drawPicture( getBgPicture(), getScreenLeft(), getScreenTop() ); Widget::draw( engine ); }
void BaseSpecialOrdersWindow::draw( GfxEngine& engine ) { engine.drawPicture( *_d->bgPicture, getScreenLeft(), getScreenTop() ); Widget::draw( engine ); }