Freeciv21
Develop your civilization from humble roots to a global empire
layer.h File Reference
#include "tileset/drawn_sprite.h"
#include "specenum_gen.h"
+ Include dependency graph for layer.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  tile_edge
 
struct  tile_corner
 
class  freeciv::layer
 A layer when drawing the map. More...
 

Namespaces

 freeciv
 

Macros

#define NUM_EDGE_TILES   2
 
#define NUM_CORNER_TILES   4
 
#define SPECENUM_NAME   extrastyle_id
 
#define SPECENUM_VALUE0   ESTYLE_ROAD_ALL_SEPARATE
 
#define SPECENUM_VALUE0NAME   "RoadAllSeparate"
 
#define SPECENUM_VALUE1   ESTYLE_ROAD_PARITY_COMBINED
 
#define SPECENUM_VALUE1NAME   "RoadParityCombined"
 
#define SPECENUM_VALUE2   ESTYLE_ROAD_ALL_COMBINED
 
#define SPECENUM_VALUE2NAME   "RoadAllCombined"
 
#define SPECENUM_VALUE3   ESTYLE_RIVER
 
#define SPECENUM_VALUE3NAME   "River"
 
#define SPECENUM_VALUE4   ESTYLE_SINGLE1
 
#define SPECENUM_VALUE4NAME   "Single1"
 
#define SPECENUM_VALUE5   ESTYLE_SINGLE2
 
#define SPECENUM_VALUE5NAME   "Single2"
 
#define SPECENUM_VALUE6   ESTYLE_3LAYER
 
#define SPECENUM_VALUE6NAME   "3Layer"
 
#define SPECENUM_VALUE7   ESTYLE_CARDINALS
 
#define SPECENUM_VALUE7NAME   "Cardinals"
 
#define SPECENUM_COUNT   ESTYLE_COUNT
 
#define MAX_INDEX_CARDINAL   64
 
#define MAX_INDEX_HALF   16
 
#define MAX_INDEX_VALID   256
 
#define NUM_TILES_DIGITS   10
 
#define SPECENUM_NAME   mapview_layer
 
#define SPECENUM_VALUE0   LAYER_BACKGROUND
 
#define SPECENUM_VALUE0NAME   "Background"
 
#define SPECENUM_VALUE1   LAYER_TERRAIN1
 
#define SPECENUM_VALUE1NAME   "Terrain1"
 
#define SPECENUM_VALUE2   LAYER_DARKNESS
 
#define SPECENUM_VALUE2NAME   "Darkness"
 
#define SPECENUM_VALUE3   LAYER_TERRAIN2
 
#define SPECENUM_VALUE3NAME   "Terrain2"
 
#define SPECENUM_VALUE4   LAYER_TERRAIN3
 
#define SPECENUM_VALUE4NAME   "Terrain3"
 
#define SPECENUM_VALUE5   LAYER_WATER
 
#define SPECENUM_VALUE5NAME   "Water"
 
#define SPECENUM_VALUE6   LAYER_ROADS
 
#define SPECENUM_VALUE6NAME   "Roads"
 
#define SPECENUM_VALUE7   LAYER_SPECIAL1
 
#define SPECENUM_VALUE7NAME   "Special1"
 
#define SPECENUM_VALUE8   LAYER_GRID1
 
#define SPECENUM_VALUE8NAME   "Grid1"
 
#define SPECENUM_VALUE9   LAYER_CITY1
 
#define SPECENUM_VALUE9NAME   "City1"
 
#define SPECENUM_VALUE10   LAYER_SPECIAL2
 
#define SPECENUM_VALUE10NAME   "Special2"
 
#define SPECENUM_VALUE11   LAYER_FOG
 
#define SPECENUM_VALUE11NAME   "Fog"
 
#define SPECENUM_VALUE12   LAYER_UNIT
 
#define SPECENUM_VALUE12NAME   "Unit"
 
#define SPECENUM_VALUE13   LAYER_SPECIAL3
 
#define SPECENUM_VALUE13NAME   "Special3"
 
#define SPECENUM_VALUE14   LAYER_BASE_FLAGS
 
#define SPECENUM_VALUE14NAME   "BaseFlags"
 
#define SPECENUM_VALUE15   LAYER_CITY2
 
#define SPECENUM_VALUE15NAME   "City2"
 
#define SPECENUM_VALUE16   LAYER_GRID2
 
#define SPECENUM_VALUE16NAME   "Grid2"
 
#define SPECENUM_VALUE17   LAYER_OVERLAYS
 
#define SPECENUM_VALUE17NAME   "Overlays"
 
#define SPECENUM_VALUE18   LAYER_TILELABEL
 
#define SPECENUM_VALUE18NAME   "TileLabel"
 
#define SPECENUM_VALUE19   LAYER_CITYBAR
 
#define SPECENUM_VALUE19NAME   "CityBar"
 
#define SPECENUM_VALUE20   LAYER_FOCUS_UNIT
 
#define SPECENUM_VALUE20NAME   "FocusUnit"
 
#define SPECENUM_VALUE21   LAYER_GOTO
 
#define SPECENUM_VALUE21NAME   "Goto"
 
#define SPECENUM_VALUE22   LAYER_WORKERTASK
 
#define SPECENUM_VALUE22NAME   "WorkerTask"
 
#define SPECENUM_VALUE23   LAYER_EDITOR
 
#define SPECENUM_VALUE23NAME   "Editor"
 
#define SPECENUM_VALUE24   LAYER_INFRAWORK
 
#define SPECENUM_VALUE24NAME   "InfraWork"
 
#define SPECENUM_COUNT   LAYER_COUNT
 
#define TERRAIN_LAYER_COUNT   3
 

Enumerations

enum  edge_type {
  EDGE_NS , EDGE_WE , EDGE_UD , EDGE_LR ,
  EDGE_COUNT
}
 
enum  layer_category { LAYER_CATEGORY_CITY , LAYER_CATEGORY_TILE , LAYER_CATEGORY_UNIT }
 

Macro Definition Documentation

◆ MAX_INDEX_CARDINAL

#define MAX_INDEX_CARDINAL   64

Definition at line 73 of file layer.h.

◆ MAX_INDEX_HALF

#define MAX_INDEX_HALF   16

Definition at line 74 of file layer.h.

◆ MAX_INDEX_VALID

#define MAX_INDEX_VALID   256

Definition at line 75 of file layer.h.

◆ NUM_CORNER_TILES

#define NUM_CORNER_TILES   4

Definition at line 48 of file layer.h.

◆ NUM_EDGE_TILES

#define NUM_EDGE_TILES   2

Definition at line 41 of file layer.h.

◆ NUM_TILES_DIGITS

#define NUM_TILES_DIGITS   10

Definition at line 78 of file layer.h.

◆ SPECENUM_COUNT [1/2]

#define SPECENUM_COUNT   ESTYLE_COUNT

Definition at line 136 of file layer.h.

◆ SPECENUM_COUNT [2/2]

#define SPECENUM_COUNT   LAYER_COUNT

Definition at line 136 of file layer.h.

◆ SPECENUM_NAME [1/2]

#define SPECENUM_NAME   extrastyle_id

Definition at line 84 of file layer.h.

◆ SPECENUM_NAME [2/2]

#define SPECENUM_NAME   mapview_layer

Definition at line 84 of file layer.h.

◆ SPECENUM_VALUE0 [1/2]

#define SPECENUM_VALUE0   ESTYLE_ROAD_ALL_SEPARATE

Definition at line 85 of file layer.h.

◆ SPECENUM_VALUE0 [2/2]

#define SPECENUM_VALUE0   LAYER_BACKGROUND

Definition at line 85 of file layer.h.

◆ SPECENUM_VALUE0NAME [1/2]

#define SPECENUM_VALUE0NAME   "RoadAllSeparate"

Definition at line 86 of file layer.h.

◆ SPECENUM_VALUE0NAME [2/2]

#define SPECENUM_VALUE0NAME   "Background"

Definition at line 86 of file layer.h.

◆ SPECENUM_VALUE1 [1/2]

#define SPECENUM_VALUE1   ESTYLE_ROAD_PARITY_COMBINED

Definition at line 88 of file layer.h.

◆ SPECENUM_VALUE1 [2/2]

#define SPECENUM_VALUE1   LAYER_TERRAIN1

Definition at line 88 of file layer.h.

◆ SPECENUM_VALUE10

#define SPECENUM_VALUE10   LAYER_SPECIAL2

Definition at line 106 of file layer.h.

◆ SPECENUM_VALUE10NAME

#define SPECENUM_VALUE10NAME   "Special2"

Definition at line 107 of file layer.h.

◆ SPECENUM_VALUE11

#define SPECENUM_VALUE11   LAYER_FOG

Definition at line 108 of file layer.h.

◆ SPECENUM_VALUE11NAME

#define SPECENUM_VALUE11NAME   "Fog"

Definition at line 109 of file layer.h.

◆ SPECENUM_VALUE12

#define SPECENUM_VALUE12   LAYER_UNIT

Definition at line 110 of file layer.h.

◆ SPECENUM_VALUE12NAME

#define SPECENUM_VALUE12NAME   "Unit"

Definition at line 111 of file layer.h.

◆ SPECENUM_VALUE13

#define SPECENUM_VALUE13   LAYER_SPECIAL3

Definition at line 112 of file layer.h.

◆ SPECENUM_VALUE13NAME

#define SPECENUM_VALUE13NAME   "Special3"

Definition at line 113 of file layer.h.

◆ SPECENUM_VALUE14

#define SPECENUM_VALUE14   LAYER_BASE_FLAGS

Definition at line 114 of file layer.h.

◆ SPECENUM_VALUE14NAME

#define SPECENUM_VALUE14NAME   "BaseFlags"

Definition at line 115 of file layer.h.

◆ SPECENUM_VALUE15

#define SPECENUM_VALUE15   LAYER_CITY2

Definition at line 116 of file layer.h.

◆ SPECENUM_VALUE15NAME

#define SPECENUM_VALUE15NAME   "City2"

Definition at line 117 of file layer.h.

◆ SPECENUM_VALUE16

#define SPECENUM_VALUE16   LAYER_GRID2

Definition at line 118 of file layer.h.

◆ SPECENUM_VALUE16NAME

#define SPECENUM_VALUE16NAME   "Grid2"

Definition at line 119 of file layer.h.

◆ SPECENUM_VALUE17

#define SPECENUM_VALUE17   LAYER_OVERLAYS

Definition at line 120 of file layer.h.

◆ SPECENUM_VALUE17NAME

#define SPECENUM_VALUE17NAME   "Overlays"

Definition at line 121 of file layer.h.

◆ SPECENUM_VALUE18

#define SPECENUM_VALUE18   LAYER_TILELABEL

Definition at line 122 of file layer.h.

◆ SPECENUM_VALUE18NAME

#define SPECENUM_VALUE18NAME   "TileLabel"

Definition at line 123 of file layer.h.

◆ SPECENUM_VALUE19

#define SPECENUM_VALUE19   LAYER_CITYBAR

Definition at line 124 of file layer.h.

◆ SPECENUM_VALUE19NAME

#define SPECENUM_VALUE19NAME   "CityBar"

Definition at line 125 of file layer.h.

◆ SPECENUM_VALUE1NAME [1/2]

#define SPECENUM_VALUE1NAME   "RoadParityCombined"

Definition at line 89 of file layer.h.

◆ SPECENUM_VALUE1NAME [2/2]

#define SPECENUM_VALUE1NAME   "Terrain1"

Definition at line 89 of file layer.h.

◆ SPECENUM_VALUE2 [1/2]

#define SPECENUM_VALUE2   ESTYLE_ROAD_ALL_COMBINED

Definition at line 90 of file layer.h.

◆ SPECENUM_VALUE2 [2/2]

#define SPECENUM_VALUE2   LAYER_DARKNESS

Definition at line 90 of file layer.h.

◆ SPECENUM_VALUE20

#define SPECENUM_VALUE20   LAYER_FOCUS_UNIT

Definition at line 126 of file layer.h.

◆ SPECENUM_VALUE20NAME

#define SPECENUM_VALUE20NAME   "FocusUnit"

Definition at line 127 of file layer.h.

◆ SPECENUM_VALUE21

#define SPECENUM_VALUE21   LAYER_GOTO

Definition at line 128 of file layer.h.

◆ SPECENUM_VALUE21NAME

#define SPECENUM_VALUE21NAME   "Goto"

Definition at line 129 of file layer.h.

◆ SPECENUM_VALUE22

#define SPECENUM_VALUE22   LAYER_WORKERTASK

Definition at line 130 of file layer.h.

◆ SPECENUM_VALUE22NAME

#define SPECENUM_VALUE22NAME   "WorkerTask"

Definition at line 131 of file layer.h.

◆ SPECENUM_VALUE23

#define SPECENUM_VALUE23   LAYER_EDITOR

Definition at line 132 of file layer.h.

◆ SPECENUM_VALUE23NAME

#define SPECENUM_VALUE23NAME   "Editor"

Definition at line 133 of file layer.h.

◆ SPECENUM_VALUE24

#define SPECENUM_VALUE24   LAYER_INFRAWORK

Definition at line 134 of file layer.h.

◆ SPECENUM_VALUE24NAME

#define SPECENUM_VALUE24NAME   "InfraWork"

Definition at line 135 of file layer.h.

◆ SPECENUM_VALUE2NAME [1/2]

#define SPECENUM_VALUE2NAME   "RoadAllCombined"

Definition at line 91 of file layer.h.

◆ SPECENUM_VALUE2NAME [2/2]

#define SPECENUM_VALUE2NAME   "Darkness"

Definition at line 91 of file layer.h.

◆ SPECENUM_VALUE3 [1/2]

#define SPECENUM_VALUE3   ESTYLE_RIVER

Definition at line 92 of file layer.h.

◆ SPECENUM_VALUE3 [2/2]

#define SPECENUM_VALUE3   LAYER_TERRAIN2

Definition at line 92 of file layer.h.

◆ SPECENUM_VALUE3NAME [1/2]

#define SPECENUM_VALUE3NAME   "River"

Definition at line 93 of file layer.h.

◆ SPECENUM_VALUE3NAME [2/2]

#define SPECENUM_VALUE3NAME   "Terrain2"

Definition at line 93 of file layer.h.

◆ SPECENUM_VALUE4 [1/2]

#define SPECENUM_VALUE4   ESTYLE_SINGLE1

Definition at line 94 of file layer.h.

◆ SPECENUM_VALUE4 [2/2]

#define SPECENUM_VALUE4   LAYER_TERRAIN3

Definition at line 94 of file layer.h.

◆ SPECENUM_VALUE4NAME [1/2]

#define SPECENUM_VALUE4NAME   "Single1"

Definition at line 95 of file layer.h.

◆ SPECENUM_VALUE4NAME [2/2]

#define SPECENUM_VALUE4NAME   "Terrain3"

Definition at line 95 of file layer.h.

◆ SPECENUM_VALUE5 [1/2]

#define SPECENUM_VALUE5   ESTYLE_SINGLE2

Definition at line 96 of file layer.h.

◆ SPECENUM_VALUE5 [2/2]

#define SPECENUM_VALUE5   LAYER_WATER

Definition at line 96 of file layer.h.

◆ SPECENUM_VALUE5NAME [1/2]

#define SPECENUM_VALUE5NAME   "Single2"

Definition at line 97 of file layer.h.

◆ SPECENUM_VALUE5NAME [2/2]

#define SPECENUM_VALUE5NAME   "Water"

Definition at line 97 of file layer.h.

◆ SPECENUM_VALUE6 [1/2]

#define SPECENUM_VALUE6   ESTYLE_3LAYER

Definition at line 98 of file layer.h.

◆ SPECENUM_VALUE6 [2/2]

#define SPECENUM_VALUE6   LAYER_ROADS

Definition at line 98 of file layer.h.

◆ SPECENUM_VALUE6NAME [1/2]

#define SPECENUM_VALUE6NAME   "3Layer"

Definition at line 99 of file layer.h.

◆ SPECENUM_VALUE6NAME [2/2]

#define SPECENUM_VALUE6NAME   "Roads"

Definition at line 99 of file layer.h.

◆ SPECENUM_VALUE7 [1/2]

#define SPECENUM_VALUE7   ESTYLE_CARDINALS

Definition at line 100 of file layer.h.

◆ SPECENUM_VALUE7 [2/2]

#define SPECENUM_VALUE7   LAYER_SPECIAL1

Definition at line 100 of file layer.h.

◆ SPECENUM_VALUE7NAME [1/2]

#define SPECENUM_VALUE7NAME   "Cardinals"

Definition at line 101 of file layer.h.

◆ SPECENUM_VALUE7NAME [2/2]

#define SPECENUM_VALUE7NAME   "Special1"

Definition at line 101 of file layer.h.

◆ SPECENUM_VALUE8

#define SPECENUM_VALUE8   LAYER_GRID1

Definition at line 102 of file layer.h.

◆ SPECENUM_VALUE8NAME

#define SPECENUM_VALUE8NAME   "Grid1"

Definition at line 103 of file layer.h.

◆ SPECENUM_VALUE9

#define SPECENUM_VALUE9   LAYER_CITY1

Definition at line 104 of file layer.h.

◆ SPECENUM_VALUE9NAME

#define SPECENUM_VALUE9NAME   "City1"

Definition at line 105 of file layer.h.

◆ TERRAIN_LAYER_COUNT

#define TERRAIN_LAYER_COUNT   3

Definition at line 139 of file layer.h.

Enumeration Type Documentation

◆ edge_type

enum edge_type
Enumerator
EDGE_NS 
EDGE_WE 
EDGE_UD 
EDGE_LR 
EDGE_COUNT 

Definition at line 31 of file layer.h.

◆ layer_category

Enumerator
LAYER_CATEGORY_CITY 
LAYER_CATEGORY_TILE 
LAYER_CATEGORY_UNIT 

Definition at line 142 of file layer.h.