23 std::array<QPixmap *, DIR8_MAGIC_MAX>
corners = {
nullptr};
38 std::array<QPixmap *, MAX_INDEX_HALF>>>;
45 extrastyle_id style)
override;
47 std::vector<drawn_sprite>
50 const unit *punit)
const override;
64 const tile *ptile)
const;
70 const tile *ptile)
const;
77 const tile *ptile)
const;
Draws "road" extras on the map.
std::vector< std::vector< all_combined_data > > m_all_combined
void fill_all_combined(std::vector< drawn_sprite > &sprs, const all_combined_data &data, const tile *ptile) const
Fill sprites for extras with type RoadAllCombined.
std::vector< std::vector< parity_combined_data > > m_parity_combined
layer_roads(struct tileset *ts)
Constructor.
void initialize_all_combined(all_combined_data &data, const QString &tag, const terrain *terrain)
Initializes sprite data for RoadAllCombined.
void reset_ruleset() override
Resets cached data that depends on the ruleset.
std::vector< std::vector< all_separate_data > > m_all_separate
void fill_all_separate(std::vector< drawn_sprite > &sprs, const all_separate_data &data, const tile *ptile) const
Fill sprites for extras with type RoadAllSeparate.
std::vector< drawn_sprite > fill_sprite_array(const tile *ptile, const tile_edge *pedge, const tile_corner *pcorner, const unit *punit) const override
Returns the sprites to draw roads.
virtual ~layer_roads()=default
void fill_corners(std::vector< drawn_sprite > &sprs, const corner_sprites &data, const tile *ptile) const
Fills "corner" sprites that help complete diagonal roads where they overlap with adjacent tiles.
void initialize_parity_combined(parity_combined_data &data, const QString &tag, const terrain *terrain)
Initializes sprite data for RoadAllSeparate.
void initialize_all_separate(all_separate_data &data, const QString &tag, const terrain *terrain)
Initializes sprite data for RoadAllSeparate.
void fill_parity_combined(std::vector< drawn_sprite > &sprs, const parity_combined_data &data, const tile *ptile) const
Fill sprites for extras with type RoadAllSeparate.
void initialize_corners(corner_sprites &data, const extra_type *extra, const QString &tag, const terrain *terrain)
Initializes "corner" sprite data.
void initialize_extra(const extra_type *extra, const QString &tag, extrastyle_id style) override
Collects all extras to be drawn.
A layer when drawing the map.
Stores the data common to all road types.
std::array< QPixmap *, DIR8_MAGIC_MAX > corners