# newgrf_canal.h File Reference

Handling of NewGRF canals. More...

`#include "gfx_type.h"`
`#include "tile_type.h"`
`#include "newgrf_generic.h"`

Go to the source code of this file.

## Data Structures
struct | WaterFeature
## Enumerations
enum | CanalFeature { CF_WATERSLOPE, CF_LOCKS, CF_DIKES, CF_ICON, CF_DOCKS, CF_RIVER_SLOPE, CF_RIVER_EDGE, CF_END }
| List of different canal 'features'. More...
## Functions
SpriteID | GetCanalSprite (CanalFeature feature, TileIndex tile)
| Lookup the base sprite to use for a canal.
## Variables
WaterFeature | _water_feature [CF_END]
| Table of canal 'feature' sprite groups.

## Detailed Description

Handling of NewGRF canals.

Definition in file newgrf_canal.h.

## Enumeration Type Documentation

enum CanalFeature

List of different canal 'features'.

Each feature gets an entry in the canal spritegroup table

Definition at line 21 of file newgrf_canal.h.

## Function Documentation

SpriteID GetCanalSprite | ( | CanalFeature | feature,
|  | TileIndex | tile |
| ) |  |  |

Lookup the base sprite to use for a canal.

Parameters:

  | feature | Which canal feature we want.
  | tile | Tile index of canal, if appropriate.

Returns:
  Base sprite returned by GRF, or 0 if none.

Definition at line 96 of file newgrf_canal.cpp.

References SpriteGroup::Resolve().

Referenced by DrawCanalWater().