diff options
| author | Léo Lam <leo@leolam.fr> | 2021-10-08 22:24:38 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-10-08 22:24:38 +0200 |
| commit | ff1cb5a1c08d5a4a2a0449b8b23a4977ccc20f8a (patch) | |
| tree | a584d167e0c71c08d4d885f60aa071f5a577692e /Source/Core/VideoBackends/Software/SWBoundingBox.h | |
| parent | d90b30ca251146c478759190d9b206f38c3b70d3 (diff) | |
| parent | 1161af80594c403233e3d21589af004ee2d75594 (diff) | |
Merge pull request #9803 from Techjar/bbox-videocommon
VideoCommon: Abstract bounding box
Diffstat (limited to 'Source/Core/VideoBackends/Software/SWBoundingBox.h')
| -rw-r--r-- | Source/Core/VideoBackends/Software/SWBoundingBox.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/Source/Core/VideoBackends/Software/SWBoundingBox.h b/Source/Core/VideoBackends/Software/SWBoundingBox.h new file mode 100644 index 0000000000..116d85bdf1 --- /dev/null +++ b/Source/Core/VideoBackends/Software/SWBoundingBox.h @@ -0,0 +1,43 @@ +// Copyright 2021 Dolphin Emulator Project +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "Common/CommonTypes.h" + +#include "VideoCommon/BoundingBox.h" + +namespace BBoxManager +{ +// Indicates a coordinate of the bounding box. +enum class Coordinate +{ + 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. +}; + +// 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); +} // namespace BBoxManager + +namespace SW +{ +class SWBoundingBox final : public BoundingBox +{ +public: + bool Initialize() override { return true; } + +protected: + std::vector<BBoxType> Read(u32 index, u32 length) override; + void Write(u32 index, const std::vector<BBoxType>& values) override; +}; + +} // namespace SW |
