Freeciv21
Develop your civilization from humble roots to a global empire
freeciv::layer_city_size Class Reference

#include <layer_city_size.h>

+ Inheritance diagram for freeciv::layer_city_size:
+ Collaboration diagram for freeciv::layer_city_size:

Public Member Functions

 layer_city_size (struct tileset *ts, const QPoint &offset)
 
virtual ~layer_city_size ()=default
 
void load_sprites () override
 Loads all sprites that do not depend on the ruleset. More...
 
std::vector< drawn_spritefill_sprite_array (const tile *ptile, const tile_edge *pedge, const tile_corner *pcorner, const unit *punit) const override
 Fill in the given sprite array with any needed city size sprites. More...
 
- Public Member Functions inherited from freeciv::layer
 layer (struct tileset *ts, mapview_layer layer)
 Constructor. More...
 
virtual ~layer ()=default
 Destructor. More...
 
virtual void initialize_player (const player *player)
 Initializes data specific to one player. More...
 
virtual void free_player (int player_id)
 Frees data initialized by initialize_player. More...
 
virtual void initialize_city_style (const citystyle &style, int index)
 Initializes data for a city style. More...
 
virtual void initialize_extra (const extra_type *extra, const QString &tag, extrastyle_id style)
 Initializes extra-specific data. More...
 
virtual void initialize_terrain (const terrain *terrain)
 Initializes terrain-specific data. More...
 
virtual void reset_ruleset ()
 Resets cached data that depends on the ruleset. More...
 
mapview_layer type () const
 

Private Attributes

bool m_warned = false
 Did we warn the user? More...
 
QPoint m_offset
 
std::array< QPixmap *, NUM_TILES_DIGITSm_units
 
std::array< QPixmap *, NUM_TILES_DIGITSm_tens
 
std::array< QPixmap *, NUM_TILES_DIGITSm_hundreds
 

Additional Inherited Members

- Protected Member Functions inherited from freeciv::layer
struct tilesettileset () const
 
bool do_draw_unit (const tile *ptile, const unit *punit) const
 Whether a unit should be drawn. More...
 
bool solid_background (const tile *ptile, const unit *punit, const city *pcity) const
 Whether a solid background should be drawn on a tile instead of its terrain. More...
 
QPixmap * load_sprite (const QStringList &possible_names, bool required=false, bool verbose=true) const
 Shortcut to load a sprite from the tileset. More...
 

Detailed Description

Definition at line 18 of file layer_city_size.h.

Constructor & Destructor Documentation

◆ layer_city_size()

freeciv::layer_city_size::layer_city_size ( struct tileset ts,
const QPoint &  offset 
)
explicit

Definition at line 13 of file layer_city_size.cpp.

◆ ~layer_city_size()

virtual freeciv::layer_city_size::~layer_city_size ( )
virtualdefault

Member Function Documentation

◆ fill_sprite_array()

std::vector< drawn_sprite > freeciv::layer_city_size::fill_sprite_array ( const tile ptile,
const tile_edge pedge,
const tile_corner pcorner,
const unit punit 
) const
overridevirtual

Fill in the given sprite array with any needed city size sprites.

Reimplemented from freeciv::layer.

Definition at line 30 of file layer_city_size.cpp.

◆ load_sprites()

void freeciv::layer_city_size::load_sprites ( )
overridevirtual

Loads all sprites that do not depend on the ruleset.

Reimplemented from freeciv::layer.

Definition at line 18 of file layer_city_size.cpp.

Member Data Documentation

◆ m_hundreds

std::array<QPixmap *, NUM_TILES_DIGITS> freeciv::layer_city_size::m_hundreds
private

Definition at line 34 of file layer_city_size.h.

Referenced by fill_sprite_array(), and load_sprites().

◆ m_offset

QPoint freeciv::layer_city_size::m_offset
private

Definition at line 33 of file layer_city_size.h.

Referenced by fill_sprite_array().

◆ m_tens

std::array<QPixmap *, NUM_TILES_DIGITS> freeciv::layer_city_size::m_tens
private

Definition at line 34 of file layer_city_size.h.

Referenced by fill_sprite_array(), and load_sprites().

◆ m_units

std::array<QPixmap *, NUM_TILES_DIGITS> freeciv::layer_city_size::m_units
private

Definition at line 34 of file layer_city_size.h.

Referenced by fill_sprite_array(), and load_sprites().

◆ m_warned

bool freeciv::layer_city_size::m_warned = false
mutableprivate

Did we warn the user?

Definition at line 31 of file layer_city_size.h.

Referenced by fill_sprite_array().