2014-09-14 16:52:51 +00:00
|
|
|
// Copyright 2014 Dolphin Emulator Project
|
2021-07-05 01:22:19 +00:00
|
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
2014-09-14 16:52:51 +00:00
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2016-01-17 21:54:31 +00:00
|
|
|
#include "Common/CommonTypes.h"
|
2014-09-14 16:52:51 +00:00
|
|
|
|
2016-01-17 21:54:31 +00:00
|
|
|
class PointerWrap;
|
2014-09-14 16:52:51 +00:00
|
|
|
|
2016-01-17 21:54:31 +00:00
|
|
|
// Bounding Box manager
|
2014-09-14 16:52:51 +00:00
|
|
|
namespace BoundingBox
|
|
|
|
{
|
2019-12-05 15:58:03 +00:00
|
|
|
// Indicates a coordinate of the bounding box.
|
|
|
|
enum class Coordinate
|
2014-09-14 16:52:51 +00:00
|
|
|
{
|
2019-12-05 15:58:03 +00:00
|
|
|
Left, // The X coordinate of the left side of the bounding box.
|
|
|
|
Right, // The X coordinate of the right side of the bounding box.
|
|
|
|
Top, // The Y coordinate of the top of the bounding box.
|
|
|
|
Bottom, // The Y coordinate of the bottom of the bounding box.
|
2014-09-14 16:52:51 +00:00
|
|
|
};
|
|
|
|
|
2019-12-05 15:58:03 +00:00
|
|
|
// Enables bounding box.
|
|
|
|
void Enable();
|
|
|
|
|
|
|
|
// Disables bounding box.
|
|
|
|
void Disable();
|
|
|
|
|
|
|
|
// Determines if bounding box is enabled.
|
|
|
|
bool IsEnabled();
|
|
|
|
|
|
|
|
// Gets a particular coordinate for the bounding box.
|
|
|
|
u16 GetCoordinate(Coordinate coordinate);
|
|
|
|
|
|
|
|
// Sets a particular coordinate for the bounding box.
|
|
|
|
void SetCoordinate(Coordinate coordinate, u16 value);
|
|
|
|
|
|
|
|
// Updates all bounding box coordinates.
|
|
|
|
void Update(u16 left, u16 right, u16 top, u16 bottom);
|
|
|
|
|
2014-09-14 16:52:51 +00:00
|
|
|
// Save state
|
2016-01-17 21:54:31 +00:00
|
|
|
void DoState(PointerWrap& p);
|
2019-12-05 15:58:03 +00:00
|
|
|
} // namespace BoundingBox
|