HostDisplay: Add alignment setting

This commit is contained in:
Connor McLaughlin
2020-09-10 12:07:30 +10:00
parent 3b4ba17356
commit 5cc91dc78b
2 changed files with 42 additions and 2 deletions

View File

@ -31,6 +31,13 @@ public:
OpenGLES
};
enum class Alignment
{
LeftOrTop,
Center,
RightOrBottom
};
virtual ~HostDisplay();
ALWAYS_INLINE s32 GetWindowWidth() const { return static_cast<s32>(m_window_info.surface_width); }
@ -122,6 +129,7 @@ public:
void SetDisplayLinearFiltering(bool enabled) { m_display_linear_filtering = enabled; }
void SetDisplayTopMargin(s32 height) { m_display_top_margin = height; }
void SetDisplayIntegerScaling(bool enabled) { m_display_integer_scaling = enabled; }
void SetDisplayAlignment(Alignment alignment) { m_display_alignment = alignment; }
/// Sets the software cursor to the specified texture. Ownership of the texture is transferred.
void SetSoftwareCursor(std::unique_ptr<HostDisplayTexture> texture, float scale = 1.0f);
@ -187,6 +195,7 @@ protected:
s32 m_display_texture_view_height = 0;
s32 m_display_top_margin = 0;
Alignment m_display_alignment = Alignment::Center;
std::unique_ptr<HostDisplayTexture> m_cursor_texture;
float m_cursor_texture_scale = 1.0f;