Freeciv21
Develop your civilization from humble roots to a global empire
layer_overlays.h
Go to the documentation of this file.
1 // SPDX-License-Identifier: GPLv3-or-later
2 // SPDX-FileCopyrightText: Freeciv authors
3 // SPDX-FileCopyrightText: Freeciv21 authors
4 // SPDX-FileCopyrightText: Louis Moureaux <m_louis30@yahoo.com>
5 
6 #pragma once
7 
8 #include "layer.h"
9 
10 #include <QPixmap>
11 
12 #include <memory>
13 
14 namespace freeciv {
15 
16 class layer_overlays : public layer {
17 public:
18  explicit layer_overlays(struct tileset *ts);
19  virtual ~layer_overlays() = default;
20 
21  void load_sprites() override;
22 
23  std::vector<drawn_sprite>
24  fill_sprite_array(const tile *ptile, const tile_edge *pedge,
25  const tile_corner *pcorner,
26  const unit *punit) const override;
27 
28 private:
29  std::vector<std::unique_ptr<QPixmap>> m_worked, m_unworked;
30  std::vector<QPixmap *> m_food, m_prod, m_trade;
31 };
32 
33 } // namespace freeciv
layer_overlays(struct tileset *ts)
void load_sprites() override
Loads all sprites that do not depend on the ruleset.
std::vector< QPixmap * > m_food
virtual ~layer_overlays()=default
std::vector< std::unique_ptr< QPixmap > > m_worked
std::vector< QPixmap * > m_prod
std::vector< QPixmap * > m_trade
std::vector< drawn_sprite > fill_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 overlays sprites.
std::vector< std::unique_ptr< QPixmap > > m_unworked
A layer when drawing the map.
Definition: layer.h:153
Definition: path.cpp:10
Definition: tile.h:42
Definition: unit.h:134