OpenTTD: src/window_gui.h File Reference

OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- File List
- Globals

Data Structures | Macros | Enumerations | Functions | Variables
window_gui.h File Reference

Functions, definitions and such used only by the GUI. More...

`#include "vehicle_type.h"`
`#include "viewport_type.h"`
`#include "company_type.h"`
`#include "tile_type.h"`
`#include "widget_type.h"`
`#include "core/smallvec_type.hpp"`
`#include "core/smallmap_type.hpp"`
`#include "string_type.h"`

Go to the source code of this file.

## Data Structures
struct | WindowDesc
| High level window description. More...
struct | ResizeInfo
| Data structure for resizing a window. More...
struct | ViewportData
| Data structure for a window viewport. More...
struct | Window
| Data structure for an opened window. More...
class | PickerWindowBase
| Base class for windows opened from a toolbar. More...

## Macros
#define | FOR_ALL_WINDOWS_FROM_BACK_FROM(w, start) for (w = start; w != NULL; w = w->z_front) if (w->window_class != WC_INVALID)
| Iterate over all windows.
#define | FOR_ALL_WINDOWS_FROM_FRONT_FROM(w, start) for (w = start; w != NULL; w = w->z_back) if (w->window_class != WC_INVALID)
#define | FOR_ALL_WINDOWS_FROM_BACK(w) FOR_ALL_WINDOWS_FROM_BACK_FROM(w, _z_back_window)
#define | FOR_ALL_WINDOWS_FROM_FRONT(w) FOR_ALL_WINDOWS_FROM_FRONT_FROM(w, _z_front_window)

## Enumerations
enum | FrameFlags { FR_NONE = 0, FR_TRANSPARENT = 1 << 0, FR_BORDERONLY = 1 << 4, FR_LOWERED = 1 << 5, FR_DARKENED = 1 << 6 }
| Flags to describe the look of the frame. More...
enum | WidgetDrawDistances { WD_IMGBTN_LEFT = 1, WD_IMGBTN_RIGHT = 2, WD_IMGBTN_TOP = 1, WD_IMGBTN_BOTTOM = 2, WD_INSET_LEFT = 2, WD_INSET_RIGHT = 2, WD_INSET_TOP = 1, WD_SCROLLBAR_LEFT = 2, WD_SCROLLBAR_RIGHT = 2, WD_SCROLLBAR_TOP = 2, WD_SCROLLBAR_BOTTOM = 2, WD_BEVEL_LEFT = 1, WD_BEVEL_RIGHT = 1, WD_BEVEL_TOP = 1, WD_BEVEL_BOTTOM = 1, WD_FRAMERECT_LEFT = 2, WD_FRAMERECT_RIGHT = 2, WD_FRAMERECT_TOP = 1, WD_FRAMERECT_BOTTOM = 1, WD_TEXTPANEL_TOP = 6, WD_TEXTPANEL_BOTTOM = 6, WD_FRAMETEXT_LEFT = 6, WD_FRAMETEXT_RIGHT = 6, WD_FRAMETEXT_TOP = 6, WD_FRAMETEXT_BOTTOM = 6, WD_MATRIX_LEFT = 2, WD_MATRIX_RIGHT = 2, WD_MATRIX_TOP = 3, WD_MATRIX_BOTTOM = 1, WD_SHADEBOX_WIDTH = 12, WD_SHADEBOX_LEFT = 2, WD_SHADEBOX_RIGHT = 2, WD_SHADEBOX_TOP = 3, WD_SHADEBOX_BOTTOM = 3, WD_STICKYBOX_WIDTH = 12, WD_STICKYBOX_LEFT = 2, WD_STICKYBOX_RIGHT = 2, WD_STICKYBOX_TOP = 3, WD_STICKYBOX_BOTTOM = 3, WD_DEBUGBOX_WIDTH = 12, WD_DEBUGBOX_LEFT = 2, WD_DEBUGBOX_RIGHT = 2, WD_DEBUGBOX_TOP = 3, WD_DEBUGBOX_BOTTOM = 3, WD_DEFSIZEBOX_WIDTH = 12, WD_DEFSIZEBOX_LEFT = 2, WD_DEFSIZEBOX_RIGHT = 2, WD_DEFSIZEBOX_TOP = 3, WD_DEFSIZEBOX_BOTTOM = 3, WD_RESIZEBOX_WIDTH = 12, WD_RESIZEBOX_LEFT = 3, WD_RESIZEBOX_RIGHT = 2, WD_RESIZEBOX_TOP = 3, WD_RESIZEBOX_BOTTOM = 2, WD_CLOSEBOX_WIDTH = 11, WD_CLOSEBOX_LEFT = 2, WD_CLOSEBOX_RIGHT = 1, WD_CLOSEBOX_TOP = 2, WD_CLOSEBOX_BOTTOM = 2, WD_CAPTION_HEIGHT = 14, WD_CAPTIONTEXT_LEFT = 2, WD_CAPTIONTEXT_RIGHT = 2, WD_CAPTIONTEXT_TOP = 2, WD_CAPTIONTEXT_BOTTOM = 2, WD_DROPDOWN_HEIGHT = 12, WD_DROPDOWNTEXT_LEFT = 2, WD_DROPDOWNTEXT_RIGHT = 2, WD_DROPDOWNTEXT_TOP = 1, WD_DROPDOWNTEXT_BOTTOM = 1, WD_PAR_VSEP_NORMAL = 2, WD_PAR_VSEP_WIDE = 8 }
| Distances used in drawing widgets. More...
enum | WindowPosition { WDP_MANUAL, WDP_AUTO, WDP_CENTER, WDP_ALIGN_TOOLBAR }
| How do we the window to be placed? More...
enum | WindowDefaultFlag { WDF_CONSTRUCTION = 1 << 0, WDF_MODAL = 1 << 1, WDF_NO_FOCUS = 1 << 2 }
| Window default widget/window handling flags. More...
enum | SortButtonState { SBS_OFF, SBS_DOWN, SBS_UP }
| State of a sort direction button. More...
enum | WindowFlags { WF_TIMEOUT = 1 << 0, WF_DRAGGING = 1 << 3, WF_SIZING_RIGHT = 1 << 4, WF_SIZING_LEFT = 1 << 5, WF_SIZING = WF_SIZING_RIGHT | WF_SIZING_LEFT, WF_STICKY = 1 << 6, WF_DISABLE_VP_SCROLL = 1 << 7, WF_WHITE_BORDER = 1 << 8, WF_HIGHLIGHTED = 1 << 9, WF_CENTERED = 1 << 10 }
| Window flags. More...
enum | TooltipCloseCondition { TCC_RIGHT_CLICK, TCC_LEFT_CLICK, TCC_HOVER }
enum | SpecialMouseMode { WSM_NONE, WSM_DRAGDROP, WSM_SIZING, WSM_PRESIZE }
| Mouse modes. More...

## Functions
void | DrawFrameRect (int left, int top, int right, int bottom, Colours colour, FrameFlags flags)
| Draw frame rectangle.
void | DrawCaption (const Rect &r, Colours colour, Owner owner, StringID str)
| Draw a caption bar.
Point | GetToolbarAlignedWindowPosition (int window_width)
| Computer the position of the top-left corner of a window to be opened right under the toolbar.
Window * | BringWindowToFrontById (WindowClass cls, WindowNumber number)
| Find a window and make it the relative top-window on the screen.
Window * | FindWindowFromPt (int x, int y)
| Do a search for a window at specific coordinates.
template<typename Wcls >
Wcls * | AllocateWindowDescFront (WindowDesc *desc, int window_number, bool return_existing=false)
| Open a new window.
void | RelocateAllWindows (int neww, int newh)
| Relocate all windows to fit the new size of the game application screen.
void | GuiShowTooltips (Window *parent, StringID str, uint paramcount=0, const uint64 params[]=NULL, TooltipCloseCondition close_tooltip=TCC_HOVER)
| Shows a tooltip.
int | GetWidgetFromPos (const Window *w, int x, int y)
| Returns the index for the widget located at the given position relative to the window.
void | SetFocusedWindow (Window *w)
| Set the window that has the focus.
void | ScrollbarClickHandler (Window *w, NWidgetCore *nw, int x, int y)
| Special handling for the scrollbar widget type.

## Variables
Window * | _z_front_window
| List of windows opened at the screen sorted from the front.
Window * | _z_back_window
| List of windows opened at the screen sorted from the back.
Window * | _focused_window
static const int | TIMEOUT_DURATION = 7
| The initial timeout value for WF_TIMEOUT.
static const int | WHITE_BORDER_DURATION = 3
| The initial timeout value for WF_WHITE_BORDER.
Point | _cursorpos_drag_start
int | _scrollbar_start_pos
int | _scrollbar_size
byte | _scroller_click_timeout
bool | _scrolling_viewport
| A viewport is being scrolled with the mouse.
bool | _mouse_hovering
| The mouse is hovering over the same point.
SpecialMouseMode | _special_mouse_mode
| Mode of the mouse.

## Detailed Description

Functions, definitions and such used only by the GUI.

Definition in file window_gui.h.

## Enumeration Type Documentation

enum FrameFlags

Flags to describe the look of the frame.

Enumerator:

  FR_TRANSPARENT | Makes the background transparent if set.
  FR_BORDERONLY | Draw border only, no background.
  FR_LOWERED | If set the frame is lowered and the background colour brighter (ie. buttons when pressed)
  FR_DARKENED | If set the background is darker, allows for lowered frames with normal background colour when used with FR_LOWERED (ie. dropdown boxes)

Definition at line 27 of file window_gui.h.

enum SortButtonState

State of a sort direction button.

Enumerator:

  SBS_OFF | Do not sort (with this button).
  SBS_DOWN | Sort ascending.
  SBS_UP | Sort descending.

Definition at line 224 of file window_gui.h.

enum SpecialMouseMode

Mouse modes.

Enumerator:

  WSM_NONE | No special mouse mode.
  WSM_DRAGDROP | Dragging an object.
  WSM_SIZING | Sizing mode.
  WSM_PRESIZE | Presizing mode (docks, tunnels).

Definition at line 896 of file window_gui.h.

enum WidgetDrawDistances

Distances used in drawing widgets.

Enumerator:

  WD_IMGBTN_LEFT | Left offset of the image in the button.
  WD_IMGBTN_RIGHT | Right offset of the image in the button.
  WD_IMGBTN_TOP | Top offset of image in the button.
  WD_IMGBTN_BOTTOM | Bottom offset of image in the button.
  WD_INSET_LEFT | Left offset of string.
  WD_INSET_RIGHT | Right offset of string.
  WD_INSET_TOP | Top offset of string.
  WD_SCROLLBAR_LEFT | Left offset of scrollbar.
  WD_SCROLLBAR_RIGHT | Right offset of scrollbar.
  WD_SCROLLBAR_TOP | Top offset of scrollbar.
  WD_SCROLLBAR_BOTTOM | Bottom offset of scrollbar.
  WD_BEVEL_LEFT | Width of left bevel border.
  WD_BEVEL_RIGHT | Width of right bevel border.
  WD_BEVEL_TOP | Height of top bevel border.
  WD_BEVEL_BOTTOM | Height of bottom bevel border.
  WD_FRAMERECT_LEFT | Offset at left to draw the frame rectangular area.
  WD_FRAMERECT_RIGHT | Offset at right to draw the frame rectangular area.
  WD_FRAMERECT_TOP | Offset at top to draw the frame rectangular area.
  WD_FRAMERECT_BOTTOM | Offset at bottom to draw the frame rectangular area.
  WD_TEXTPANEL_TOP | Offset at top to draw above the text.
  WD_TEXTPANEL_BOTTOM | Offset at bottom to draw below the text.
  WD_FRAMETEXT_LEFT | Left offset of the text of the frame.
  WD_FRAMETEXT_RIGHT | Right offset of the text of the frame.
  WD_FRAMETEXT_TOP | Top offset of the text of the frame.
  WD_FRAMETEXT_BOTTOM | Bottom offset of the text of the frame.
  WD_MATRIX_LEFT | Offset at left of a matrix cell.
  WD_MATRIX_RIGHT | Offset at right of a matrix cell.
  WD_MATRIX_TOP | Offset at top of a matrix cell.
  WD_MATRIX_BOTTOM | Offset at bottom of a matrix cell.
  WD_SHADEBOX_WIDTH | Width of a standard shade box widget.
  WD_SHADEBOX_LEFT | Left offset of shade sprite.
  WD_SHADEBOX_RIGHT | Right offset of shade sprite.
  WD_SHADEBOX_TOP | Top offset of shade sprite.
  WD_SHADEBOX_BOTTOM | Bottom offset of shade sprite.
  WD_STICKYBOX_WIDTH | Width of a standard sticky box widget.
  WD_STICKYBOX_LEFT | Left offset of sticky sprite.
  WD_STICKYBOX_RIGHT | Right offset of sticky sprite.
  WD_STICKYBOX_TOP | Top offset of sticky sprite.
  WD_STICKYBOX_BOTTOM | Bottom offset of sticky sprite.
  WD_DEBUGBOX_WIDTH | Width of a standard debug box widget.
  WD_DEBUGBOX_LEFT | Left offset of debug sprite.
  WD_DEBUGBOX_RIGHT | Right offset of debug sprite.
  WD_DEBUGBOX_TOP | Top offset of debug sprite.
  WD_DEBUGBOX_BOTTOM | Bottom offset of debug sprite.
  WD_DEFSIZEBOX_WIDTH | Width of a standard defsize box widget.
  WD_DEFSIZEBOX_LEFT | Left offset of defsize sprite.
  WD_DEFSIZEBOX_RIGHT | Right offset of defsize sprite.
  WD_DEFSIZEBOX_TOP | Top offset of defsize sprite.
  WD_DEFSIZEBOX_BOTTOM | Bottom offset of defsize sprite.
  WD_RESIZEBOX_WIDTH | Width of a resize box widget.
  WD_RESIZEBOX_LEFT | Left offset of resize sprite.
  WD_RESIZEBOX_RIGHT | Right offset of resize sprite.
  WD_RESIZEBOX_TOP | Top offset of resize sprite.
  WD_RESIZEBOX_BOTTOM | Bottom offset of resize sprite.
  WD_CLOSEBOX_WIDTH | Width of a close box widget.
  WD_CLOSEBOX_LEFT | Left offset of closebox string.
  WD_CLOSEBOX_RIGHT | Right offset of closebox string.
  WD_CLOSEBOX_TOP | Top offset of closebox string.
  WD_CLOSEBOX_BOTTOM | Bottom offset of closebox string.
  WD_CAPTION_HEIGHT | Height of a title bar.
  WD_CAPTIONTEXT_LEFT | Offset of the caption text at the left.
  WD_CAPTIONTEXT_RIGHT | Offset of the caption text at the right.
  WD_CAPTIONTEXT_TOP | Offset of the caption text at the top.
  WD_CAPTIONTEXT_BOTTOM | Offset of the caption text at the bottom.
  WD_DROPDOWN_HEIGHT | Height of a drop down widget.
  WD_DROPDOWNTEXT_LEFT | Left offset of the dropdown widget string.
  WD_DROPDOWNTEXT_RIGHT | Right offset of the dropdown widget string.
  WD_DROPDOWNTEXT_TOP | Top offset of the dropdown widget string.
  WD_DROPDOWNTEXT_BOTTOM | Bottom offset of the dropdown widget string.
  WD_PAR_VSEP_NORMAL | Normal amount of vertical space between two paragraphs of text.
  WD_PAR_VSEP_WIDE | Large amount of vertical space between two paragraphs of text.

Definition at line 38 of file window_gui.h.

enum WindowDefaultFlag

Window default widget/window handling flags.

Enumerator:

  WDF_CONSTRUCTION | This window is used for construction; close it whenever changing company.
  WDF_MODAL | The window is a modal child of some other window, meaning the parent is 'inactive'.
  WDF_NO_FOCUS | This window won't get focus/make any other window lose focus when click.

Definition at line 209 of file window_gui.h.

enum WindowFlags

Window flags.

Enumerator:

  WF_TIMEOUT | Window timeout counter.
  WF_DRAGGING | Window is being dragged.
  WF_SIZING_RIGHT | Window is being resized towards the right.
  WF_SIZING_LEFT | Window is being resized towards the left.
  WF_SIZING | Window is being resized.
  WF_STICKY | Window is made sticky by user.
  WF_DISABLE_VP_SCROLL | Window does not do autoscroll,. See Also HandleAutoscroll().
  WF_WHITE_BORDER | Window white border counter bit mask.
  WF_HIGHLIGHTED | Window has a widget that has a highlight.
  WF_CENTERED | Window is centered and shall stay centered after ReInit.

Definition at line 233 of file window_gui.h.

enum WindowPosition

How do we the window to be placed?

Enumerator:

  WDP_MANUAL | Manually align the window (so no automatic location finding)
  WDP_AUTO | Find a place automatically.
  WDP_CENTER | Center the window.
  WDP_ALIGN_TOOLBAR | Align toward the toolbar.

Definition at line 154 of file window_gui.h.

## Function Documentation

template<typename Wcls >

Wcls* AllocateWindowDescFront | ( | WindowDesc * | desc,
|  | int | window_number,
|  | bool | return_existing = `false`
| ) |  |

Open a new window.

Template Parameters

  Wcls | Window class to use if the window does not exist.

Parameters

  desc | The pointer to the WindowDesc to be created
  window_number | the window number of the new window
  return_existing | If set, also return the window if it already existed.

Returns
  Window pointer of the newly created window, or the existing one if return_existing is set, or `NULL`.

Definition at line 859 of file window_gui.h.

References BringWindowToFrontById(), and WindowDesc::cls.

Window* BringWindowToFrontById | ( | WindowClass | cls,
|  | WindowNumber | number
| ) |  |

Find a window and make it the relative top-window on the screen.

The window gets unshaded if it was shaded, and a white border is drawn at its edges for a brief period of time to visualize its "activation".

Parameters

  cls | WindowClass of the window to activate
  number | WindowNumber of the window to activate

Returns
  a pointer to the window thus activated

Definition at line 1234 of file window.cpp.

References BringWindowToFront(), FindWindowById(), Window::IsShaded(), Window::SetDirty(), Window::SetShaded(), and Window::SetWhiteBorder().

Referenced by AllocateWindowDescFront(), DoSelectCompanyManagerFace(), CompanyWindow::OnClick(), ShowAIDebugWindow(), ShowCompanyFinances(), ShowDepotWindow(), ShowGenerateWorldProgress(), and ShowIndustryCargoesWindow().

void DrawCaption | ( | const Rect & | r,
|  | Colours | colour,
|  | Owner | owner,
|  | StringID | str
| ) |  |

Draw a caption bar.

Parameters

  r | Rectangle of the bar.
  colour | Colour of the window.
  owner | 'Owner' of the window.
  str | Text to draw in the bar.

Definition at line 540 of file widget.cpp.

References _colour_gradient, _company_colours, DrawFrameRect(), DrawString(), FR_BORDERONLY, FR_DARKENED, FR_LOWERED, GetStringBoundingBox(), GfxFillRect(), max(), MAX_COMPANIES, SA_HOR_CENTER, WD_CAPTIONTEXT_LEFT, and WD_CAPTIONTEXT_RIGHT.

Referenced by NWidgetLeaf::Draw(), and NewsWindow::DrawWidget().

void DrawFrameRect | ( | int | left,
|  | int | top,
|  | int | right,
|  | int | bottom,
|  | Colours | colour,
|  | FrameFlags | flags
| ) |  |

Draw frame rectangle.

Parameters

  left | Left edge of the frame
  top | Top edge of the frame
  right | Right edge of the frame
  bottom | Bottom edge of the frame
  colour | Colour table to use.

See Also
  _colour_gradient

Parameters

  flags | Flags controlling how to draw the frame.

See Also
  FrameFlags

Definition at line 177 of file widget.cpp.

References _colour_gradient, FILLRECT_RECOLOUR, FR_BORDERONLY, FR_DARKENED, FR_LOWERED, FR_TRANSPARENT, GfxFillRect(), PALETTE_TO_TRANSPARENT, WD_BEVEL_BOTTOM, WD_BEVEL_LEFT, WD_BEVEL_RIGHT, and WD_BEVEL_TOP.

Referenced by NWidgetBackground::Draw(), NWidgetLeaf::Draw(), DrawAircraftImage(), DrawArrowButtons(), DrawBoolButton(), DrawButtonDropdown(), DrawCaption(), DrawCloseBox(), DrawDropDownButton(), DrawHorizontalScrollbar(), DrawImageButtons(), DrawInset(), DrawMatrix(), DrawResizeBox(), DrawRoadVehImage(), DrawShipImage(), DrawTrainImage(), DrawVerticalScrollbar(), TransparenciesWindow::DrawWidget(), MusicWindow::DrawWidget(), RefitWindow::DrawWidget(), GenerateProgressWindow::DrawWidget(), NetworkJoinStatusWindow::DrawWidget(), ScanProgressWindow::DrawWidget(), and Window::DrawWidgets().

Window* FindWindowFromPt | ( | int | x,
|  | int | y
| ) |  |

Do a search for a window at specific coordinates.

For this we start at the topmost window, obviously and work our way down to the bottom

Parameters

  x | position x to query
  y | position y to query

Returns
  a pointer to the found window if any, NULL otherwise

Definition at line 1814 of file window.cpp.

References Window::height, IsInsideBS(), Window::left, MayBeShown(), Window::top, and Window::width.

Referenced by HandleAutoscroll(), HandleMouseOver(), and HandleViewportScroll().

Point GetToolbarAlignedWindowPosition | ( | int | window_width | ) |

Computer the position of the top-left corner of a window to be opened right under the toolbar.

Parameters

  window_width | the width of the window to get the position for

Returns
  Coordinate of the top-left corner of the new window.

Definition at line 1683 of file window.cpp.

References _current_text_dir, FindWindowById(), Window::height, Window::left, TD_RTL, Window::top, WC_MAIN_TOOLBAR, and Window::width.

Referenced by LocalGetWindowPlacement(), TransparenciesWindow::OnInitialPosition(), and TerraformToolbarWindow::OnInitialPosition().

int GetWidgetFromPos | ( | const Window * | w,
|  | int | x,
|  | int | y
| ) |  |

Returns the index for the widget located at the given position relative to the window.

It includes all widget-corner pixels as well.

Parameters

  *w | Window to look inside
  x | The Window client X coordinate
  y | The Window client y coordinate

Returns
  A widget index, or -1 if no widget was found.

Definition at line 162 of file widget.cpp.

References NWidgetBase::GetWidgetFromPos(), NWidgetCore::index, and Window::nested_root.

Referenced by DropdownWindow::GetDropDownItem(), HandleMouseDragDrop(), and Window::OnDropdownClose().

void GuiShowTooltips | ( | Window * | parent,
|  | StringID | str,
|  | uint | paramcount,
|  | const uint64 | params[],
|  | TooltipCloseCondition | close_tooltip
| ) |  |

Shows a tooltip.

Parameters

  parent | The window this tooltip is related to.
  str | String to be displayed
  paramcount | number of params to deal with
  params | (optional) up to 5 pieces of additional information that may be added to a tooltip
  use_left_mouse_button | close the tooltip when the left (true) or right (false) mouse button is released

Definition at line 741 of file misc_gui.cpp.

References DeleteWindowById(), and WC_TOOLTIPS.

Referenced by DispatchHoverEvent(), DispatchRightClickEvent(), IndustryCargoesWindow::OnHover(), DepotWindow::OnRightClick(), and ShowMeasurementTooltips().

void RelocateAllWindows | ( | int | neww,
|  | int | newh
| ) |  |

Relocate all windows to fit the new size of the game application screen.

Parameters

  neww | New width of the game application screen
  newh | New height of the game application screen.

Definition at line 3418 of file window.cpp.

References _toolbar_width, EnsureVisibleCaption(), FindWindowById(), Window::flags, Window::height, IConsoleResize(), Window::left, min(), PositionMainToolbar(), PositionNetworkChatWindow(), PositionNewsMessage(), PositionStatusbar(), ResizeWindow(), Window::top, WC_BOOTSTRAP, WC_CONSOLE, WC_MAIN_TOOLBAR, WC_MAIN_WINDOW, WC_NEWS_WINDOW, WC_SEND_NETWORK_MSG, WC_STATUS_BAR, WF_CENTERED, Window::width, and Window::window_class.

Referenced by GameSizeChanged(), and ReInitAllWindows().

void ScrollbarClickHandler | ( | Window * | w,
|  | NWidgetCore * | nw,
|  | int | x,
|  | int | y
| ) |  |

Special handling for the scrollbar widget type.

Handles the special scrolling buttons and other scrolling.

Parameters

  w | Window on which a scroll was performed.
  nw | Pointer to the scrollbar widget.
  x | The X coordinate of the mouse click.
  y | The Y coordinate of the mouse click.

Definition at line 138 of file widget.cpp.

References NWidgetBase::current_x, NWidgetBase::current_y, NWID_HSCROLLBAR, NWidgetBase::pos_x, NWidgetBase::pos_y, ScrollbarClickPositioning(), and NWidgetBase::type.

Referenced by DispatchLeftClickEvent().

void SetFocusedWindow | ( | Window * | w | ) |

Set the window that has the focus.

Parameters

  w | The window to set the focus on

Definition at line 432 of file window.cpp.

References Window::nested_focus, Window::OnFocus(), Window::OnFocusLost(), and NWidgetBase::SetDirty().

Referenced by DispatchLeftClickEvent(), Window::InitializeData(), SignListWindow::OnHotkey(), and Window::OnHotkey().

## Variable Documentation

Window* _z_back_window

List of windows opened at the screen sorted from the back.

Definition at line 57 of file window.cpp.

Referenced by AddWindowToZOrdering().

Window* _z_front_window

List of windows opened at the screen sorted from the front.

Definition at line 55 of file window.cpp.

Referenced by AddWindowToZOrdering().