OpenTTD Source  20241108-master-g80f628063a
transparency.h File Reference

Functions related to transparency. More...

#include "gfx_func.h"
#include "openttd.h"
#include "core/bitmath_func.hpp"

Go to the source code of this file.

Typedefs

typedef uint TransparencyOptionBits
 transparency option bits
 

Enumerations

enum  TransparencyOption {
  TO_SIGNS = 0 , TO_TREES , TO_HOUSES , TO_INDUSTRIES ,
  TO_BUILDINGS , TO_BRIDGES , TO_STRUCTURES , TO_CATENARY ,
  TO_TEXT , TO_END , TO_INVALID
}
 Transparency option bits: which position in _transparency_opt stands for which transparency. More...
 

Functions

bool IsTransparencySet (TransparencyOption to)
 Check if the transparency option bit is set and if we aren't in the game menu (there's never transparency) More...
 
bool IsInvisibilitySet (TransparencyOption to)
 Check if the invisibility option bit is set and if we aren't in the game menu (there's never transparency) More...
 
void ToggleTransparency (TransparencyOption to)
 Toggle the transparency option bit. More...
 
void ToggleInvisibility (TransparencyOption to)
 Toggle the invisibility option bit. More...
 
void ToggleInvisibilityWithTransparency (TransparencyOption to)
 Toggles between invisible and solid state. More...
 
void ToggleTransparencyLock (TransparencyOption to)
 Toggle the transparency lock bit. More...
 
void ResetRestoreAllTransparency ()
 Set or clear all non-locked transparency options.
 

Variables

TransparencyOptionBits _transparency_opt
 The bits that should be transparent.
 
TransparencyOptionBits _transparency_lock
 Prevent these bits from flipping with X.
 
TransparencyOptionBits _invisibility_opt
 The bits that should be invisible.
 
uint8_t _display_opt
 What do we want to draw/do?
 

Detailed Description

Functions related to transparency.

Definition in file transparency.h.

Enumeration Type Documentation

◆ TransparencyOption

Transparency option bits: which position in _transparency_opt stands for which transparency.

If you change the order, change the order of the ShowTransparencyToolbar() stuff in transparency_gui.cpp too. If you add or remove an option don't forget to change the transparency 'hot keys' in main_gui.cpp.

Enumerator
TO_SIGNS 

signs

TO_TREES 

trees

TO_HOUSES 

town buildings

TO_INDUSTRIES 

industries

TO_BUILDINGS 

company buildings - depots, stations, HQ, ...

TO_BRIDGES 

bridges

TO_STRUCTURES 

other objects such as transmitters and lighthouses

TO_CATENARY 

catenary

TO_TEXT 

loading and cost/income text

TO_INVALID 

Invalid transparency option.

Definition at line 22 of file transparency.h.

Function Documentation

◆ IsInvisibilitySet()

bool IsInvisibilitySet ( TransparencyOption  to)
inline

Check if the invisibility option bit is set and if we aren't in the game menu (there's never transparency)

Parameters
tothe structure which invisibility option is ask for

Definition at line 59 of file transparency.h.

References _invisibility_opt, _transparency_opt, and HasBit().

Referenced by DrawCommonTileSeq(), DrawWaterTileStruct(), HasRailCatenaryDrawn(), HasRoadCatenaryDrawn(), and ToggleInvisibilityWithTransparency().

◆ IsTransparencySet()

bool IsTransparencySet ( TransparencyOption  to)
inline

Check if the transparency option bit is set and if we aren't in the game menu (there's never transparency)

Parameters
tothe structure which transparency option is ask for

Definition at line 48 of file transparency.h.

References _transparency_opt, and HasBit().

Referenced by DrawCommonTileSeq(), DrawRoadTypeCatenary(), and TransparenciesWindow::OnInvalidateData().

◆ ToggleInvisibility()

void ToggleInvisibility ( TransparencyOption  to)
inline

Toggle the invisibility option bit.

Parameters
tothe structure which invisibility option is toggle

Definition at line 79 of file transparency.h.

References _invisibility_opt, and ToggleBit().

◆ ToggleInvisibilityWithTransparency()

void ToggleInvisibilityWithTransparency ( TransparencyOption  to)
inline

Toggles between invisible and solid state.

If object is transparent, then it is made invisible. Used by the keyboard shortcuts.

Parameters
tothe object type which invisibility option to toggle

Definition at line 91 of file transparency.h.

References _invisibility_opt, _transparency_opt, ClrBit(), IsInvisibilitySet(), and SetBit().

◆ ToggleTransparency()

void ToggleTransparency ( TransparencyOption  to)
inline

Toggle the transparency option bit.

Parameters
tothe transparency option to be toggled

Definition at line 69 of file transparency.h.

References _transparency_opt, and ToggleBit().

◆ ToggleTransparencyLock()

void ToggleTransparencyLock ( TransparencyOption  to)
inline

Toggle the transparency lock bit.

Parameters
tothe transparency option to be locked or unlocked

Definition at line 107 of file transparency.h.

References _transparency_lock, and ToggleBit().