OpenTTD

Data Structures | Functions | Variables
viewport_gui.cpp File Reference

Extra viewport window. More...

`#include "stdafx.h"`
`#include "landscape.h"`
`#include "window_gui.h"`
`#include "viewport_func.h"`
`#include "strings_func.h"`
`#include "zoom_func.h"`
`#include "window_func.h"`
`#include "widgets/viewport_widget.h"`
`#include "table/strings.h"`
`#include "table/sprites.h"`
`#include "safeguards.h"`

Go to the source code of this file.

## Data Structures
class | ExtraViewportWindow

## Functions
void | ShowExtraViewPortWindow (TileIndex tile)
| Show a new Extra Viewport window. More...
void | ShowExtraViewPortWindowForTileUnderCursor ()
| Show a new Extra Viewport window. More...

## Variables
static const NWidgetPart | _nested_extra_view_port_widgets []
static WindowDesc | _extra_view_port_desc (WDP_AUTO, "extra_viewport", 300, 268, WC_EXTRA_VIEW_PORT, WC_NONE, 0, _nested_extra_view_port_widgets, lengthof(_nested_extra_view_port_widgets))

## Detailed Description

Extra viewport window.

Definition in file viewport_gui.cpp.

## Function Documentation

## ◆ ShowExtraViewPortWindow()

void ShowExtraViewPortWindow | ( | TileIndex | tile | ) |

Show a new Extra Viewport window.

Parameters

  tile | Tile to center the view on. INVALID_TILE means to use the center of main viewport.

Definition at line 170 of file viewport_gui.cpp.

References FindWindowById(), and WC_EXTRA_VIEW_PORT.

Referenced by WaypointWindow::OnClick(), TownViewWindow::OnClick(), NewsWindow::OnClick(), IndustryDirectoryWindow::OnClick(), StationViewWindow::OnClick(), CompanyWindow::OnClick(), and StoryBookWindow::OnPageElementClick().

## ◆ ShowExtraViewPortWindowForTileUnderCursor()

void ShowExtraViewPortWindowForTileUnderCursor | ( |  | ) |

Show a new Extra Viewport window.

Center it on the tile under the cursor, if the cursor is inside a viewport. If that fails, center it on main viewport center.

Definition at line 185 of file viewport_gui.cpp.

## Variable Documentation

## ◆ _nested_extra_view_port_widgets

const NWidgetPart _nested_extra_view_port_widgets[]
| static

Initial value:
= {
NWidget(NWID_HORIZONTAL),
NWidget(WWT_CLOSEBOX, COLOUR_GREY),
NWidget(WWT_CAPTION, COLOUR_GREY, WID_EV_CAPTION), SetDataTip(STR_EXTRA_VIEW_PORT_TITLE, STR_TOOLTIP_WINDOW_TITLE_DRAG_THIS),
NWidget(WWT_SHADEBOX, COLOUR_GREY),
NWidget(WWT_DEFSIZEBOX, COLOUR_GREY),
NWidget(WWT_STICKYBOX, COLOUR_GREY),
EndContainer(),
NWidget(WWT_PANEL, COLOUR_GREY),
NWidget(NWID_VIEWPORT, INVALID_COLOUR, WID_EV_VIEWPORT), SetPadding(2, 2, 2, 2), SetResize(1, 1), SetFill(1, 1),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_EV_ZOOM_IN), SetDataTip(SPR_IMG_ZOOMIN, STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_IN),
NWidget(WWT_PUSHIMGBTN, COLOUR_GREY, WID_EV_ZOOM_OUT), SetDataTip(SPR_IMG_ZOOMOUT, STR_TOOLBAR_TOOLTIP_ZOOM_THE_VIEW_OUT),
NWidget(NWID_HORIZONTAL, NC_EQUALSIZE),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_EV_MAIN_TO_VIEW), SetFill(1, 1), SetResize(1, 0),
SetDataTip(STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW, STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT),
NWidget(WWT_PUSHTXTBTN, COLOUR_GREY, WID_EV_VIEW_TO_MAIN), SetFill(1, 1), SetResize(1, 0),
SetDataTip(STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN, STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT),
EndContainer(),
EndContainer(),
NWidget(NWID_HORIZONTAL),
NWidget(WWT_PANEL, COLOUR_GREY), SetFill(1, 1), SetResize(1, 0), EndContainer(),
NWidget(WWT_RESIZEBOX, COLOUR_GREY),
EndContainer(),
}
NWID_VIEWPORT
Nested widget containing a viewport.
Definition: widget_type.h:81
WWT_PUSHIMGBTN
Normal push-button (no toggle button) with image caption.
Definition: widget_type.h:105
SetResize
static NWidgetPart SetResize(int16 dx, int16 dy)
Widget part function for setting the resize step.
Definition: widget_type.h:930
NWID_HORIZONTAL
Horizontal container.
Definition: widget_type.h:75
WWT_RESIZEBOX
Resize box (normally at bottom-right of a window)
Definition: widget_type.h:68
WID_EV_VIEW_TO_MAIN
Center the main view on the view of this viewport.
Definition: viewport_widget.h:22
WWT_CLOSEBOX
Close box (at top-left of a window)
Definition: widget_type.h:69
WID_EV_ZOOM_OUT
Zoom out.
Definition: viewport_widget.h:20
SetPadding
static NWidgetPart SetPadding(uint8 top, uint8 right, uint8 bottom, uint8 left)
Widget part function for setting additional space around a widget.
Definition: widget_type.h:1046
WID_EV_VIEWPORT
The viewport.
Definition: viewport_widget.h:18
WWT_DEFSIZEBOX
Default window size box (at top-right of a window, between WWT_SHADEBOX and WWT_STICKYBOX) ...
Definition: widget_type.h:65
SetDataTip
static NWidgetPart SetDataTip(uint32 data, StringID tip)
Widget part function for setting the data and tooltip.
Definition: widget_type.h:1014
WWT_PUSHTXTBTN
Normal push-button (no toggle button) with text caption.
Definition: widget_type.h:104
WWT_PANEL
Simple depressed panel.
Definition: widget_type.h:50
NWidget
static NWidgetPart NWidget(WidgetType tp, Colours col, int16 idx=-1)
Widget part function for starting a new &#39;real&#39; widget.
Definition: widget_type.h:1114
WWT_CAPTION
Window caption (window title between closebox and stickybox)
Definition: widget_type.h:61
WID_EV_CAPTION
Caption of window.
Definition: viewport_widget.h:17
EndContainer
static NWidgetPart EndContainer()
Widget part function for denoting the end of a container (horizontal, vertical, WWT_FRAME, WWT_INSET, or WWT_PANEL).
Definition: widget_type.h:999
WWT_STICKYBOX
Sticky box (at top-right of a window, after WWT_DEFSIZEBOX)
Definition: widget_type.h:66
SetFill
static NWidgetPart SetFill(uint fill_x, uint fill_y)
Widget part function for setting filling.
Definition: widget_type.h:983
WID_EV_ZOOM_IN
Zoom in.
Definition: viewport_widget.h:19
WID_EV_MAIN_TO_VIEW
Center the view of this viewport on the main view.
Definition: viewport_widget.h:21
NC_EQUALSIZE
Value of the NCB_EQUALSIZE flag.
Definition: widget_type.h:429
WWT_SHADEBOX
Shade box (at top-right of a window, between WWT_DEBUGBOX and WWT_DEFSIZEBOX)
Definition: widget_type.h:64

Definition at line 28 of file viewport_gui.cpp.