1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-20 13:33:02 +01:00
Files
OpenRCT2/src/openrct2/interface/Window_internal.cpp
2021-11-26 21:01:44 +02:00

38 lines
819 B
C++

#include "Window_internal.h"
#include "../entity/EntityList.h"
#include "../entity/EntityRegistry.h"
#include "Viewport.h"
void rct_window::SetLocation(const CoordsXYZ& coords)
{
window_scroll_to_location(this, coords);
flags &= ~WF_SCROLLING_TO_LOCATION;
}
void rct_window::ScrollToViewport()
{
if (viewport == nullptr || !focus.has_value())
return;
CoordsXYZ newCoords = focus.value().GetPos();
auto mainWindow = window_get_main();
if (mainWindow != nullptr)
window_scroll_to_location(mainWindow, newCoords);
}
void rct_window::Invalidate()
{
gfx_set_dirty_blocks({ windowPos, windowPos + ScreenCoordsXY{ width, height } });
}
void rct_window::RemoveViewport()
{
if (viewport == nullptr)
return;
viewport_remove(viewport);
viewport = nullptr;
}