2014-09-14 10:52:51 -06:00
|
|
|
// Copyright 2014 Dolphin Emulator Project
|
2015-05-17 17:08:10 -06:00
|
|
|
// Licensed under GPLv2+
|
2014-09-14 10:52:51 -06:00
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2016-01-17 14:54:31 -07:00
|
|
|
#include "Common/CommonTypes.h"
|
2014-09-14 10:52:51 -06:00
|
|
|
|
2016-01-17 14:54:31 -07:00
|
|
|
class PointerWrap;
|
2014-09-14 10:52:51 -06:00
|
|
|
|
2016-01-17 14:54:31 -07:00
|
|
|
// Bounding Box manager
|
2014-09-14 10:52:51 -06:00
|
|
|
namespace BoundingBox
|
|
|
|
{
|
2019-12-05 08:58:03 -07:00
|
|
|
// Indicates a coordinate of the bounding box.
|
|
|
|
enum class Coordinate
|
2014-09-14 10:52:51 -06:00
|
|
|
{
|
2019-12-05 08:58:03 -07: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 10:52:51 -06:00
|
|
|
};
|
|
|
|
|
2019-12-05 08:58:03 -07: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 10:52:51 -06:00
|
|
|
// Save state
|
2016-01-17 14:54:31 -07:00
|
|
|
void DoState(PointerWrap& p);
|
2019-12-05 08:58:03 -07:00
|
|
|
} // namespace BoundingBox
|