OpenTTD Source 20241224-master-gf74b0cf984
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)
 
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)
 
void ToggleTransparency (TransparencyOption to)
 Toggle the transparency option bit.
 
void ToggleInvisibility (TransparencyOption to)
 Toggle the invisibility option bit.
 
void ToggleInvisibilityWithTransparency (TransparencyOption to)
 Toggles between invisible and solid state.
 
void ToggleTransparencyLock (TransparencyOption to)
 Toggle the transparency lock bit.
 
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.

Typedef Documentation

◆ TransparencyOptionBits

typedef uint TransparencyOptionBits

transparency option bits

Definition at line 36 of 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 CheckClickOnViewportSign(), DoDrawVehicle(), DrawBridgeMiddle(), DrawBridgeRoadBits(), DrawCommonTileSeq(), DrawRoadBits(), DrawTile_Town(), 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 DoDrawVehicle(), DrawBridgeMiddle(), DrawBridgeRoadBits(), DrawCommonTileSeq(), DrawPillar(), DrawRailCatenary(), DrawRailCatenaryOnBridge(), DrawRailCatenaryOnTunnel(), DrawRailCatenaryRailway(), DrawRoadBits(), DrawRoadTypeCatenary(), DrawTile_Town(), DrawTile_TunnelBridge(), DrawWaterTileStruct(), TransparenciesWindow::OnClick(), TransparenciesWindow::OnInvalidateData(), and ToolbarOptionsClick().

◆ ResetRestoreAllTransparency()

void ResetRestoreAllTransparency ( )
inline

Set or clear all non-locked transparency options.

Definition at line 113 of file transparency.h.

References _transparency_lock, _transparency_opt, GB(), and MarkWholeScreenDirty().

Referenced by MainWindow::OnHotkey().

◆ 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().

Referenced by TransparenciesWindow::OnClick().

◆ 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().

Referenced by MainWindow::OnHotkey().

◆ 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().

Referenced by MenuClickSettings(), TransparenciesWindow::OnClick(), and MainWindow::OnHotkey().

◆ 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().

Referenced by TransparenciesWindow::OnClick().

Variable Documentation

◆ _display_opt

◆ _invisibility_opt

TransparencyOptionBits _invisibility_opt
extern

The bits that should be invisible.

Definition at line 25 of file transparency_gui.cpp.

Referenced by TransparenciesWindow::DrawWidget(), IsInvisibilitySet(), ToggleInvisibility(), and ToggleInvisibilityWithTransparency().

◆ _transparency_lock

TransparencyOptionBits _transparency_lock
extern

Prevent these bits from flipping with X.

Definition at line 24 of file transparency_gui.cpp.

Referenced by TransparenciesWindow::DrawWidget(), ResetRestoreAllTransparency(), and ToggleTransparencyLock().

◆ _transparency_opt