mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
48 lines
1.4 KiB
C++
48 lines
1.4 KiB
C++
#pragma once
|
|
|
|
#include <cstdint>
|
|
#include <WinUser.h>
|
|
|
|
namespace Drawing
|
|
{
|
|
// Defines options for drawing/measuring text in TextRenderer.
|
|
enum class TextFormatFlags : uint32_t
|
|
{
|
|
Bottom = DT_BOTTOM,
|
|
EndEllipsis = DT_END_ELLIPSIS,
|
|
ExpandTabs = DT_EXPANDTABS,
|
|
ExternalLeading = DT_EXTERNALLEADING,
|
|
Default = DT_TOP | DT_LEFT,
|
|
HidePrefix = DT_HIDEPREFIX,
|
|
HorizontalCenter = DT_CENTER,
|
|
Internal = DT_INTERNAL,
|
|
Left = DT_LEFT,
|
|
ModifyString = DT_MODIFYSTRING,
|
|
NoClipping = DT_NOCLIP,
|
|
NoPrefix = DT_NOPREFIX,
|
|
NoFullWidthCharacterBreak = DT_NOFULLWIDTHCHARBREAK,
|
|
PathEllipsis = DT_PATH_ELLIPSIS,
|
|
PrefixOnly = DT_PREFIXONLY,
|
|
Right = DT_RIGHT,
|
|
RightToLeft = DT_RTLREADING,
|
|
SingleLine = DT_SINGLELINE,
|
|
TextBoxControl = DT_EDITCONTROL,
|
|
Top = DT_TOP,
|
|
VerticalCenter = DT_VCENTER,
|
|
WordBreak = DT_WORDBREAK,
|
|
WordEllipsis = DT_WORD_ELLIPSIS,
|
|
};
|
|
|
|
//
|
|
// Allow bitwise operations on this enumeration
|
|
//
|
|
constexpr TextFormatFlags operator|(TextFormatFlags Lhs, TextFormatFlags Rhs)
|
|
{
|
|
return static_cast<TextFormatFlags>(static_cast<std::underlying_type<TextFormatFlags>::type>(Lhs) | static_cast<std::underlying_type<TextFormatFlags>::type>(Rhs));
|
|
};
|
|
constexpr TextFormatFlags& operator|=(TextFormatFlags& Lhs, const TextFormatFlags& Rhs)
|
|
{
|
|
Lhs = static_cast<TextFormatFlags>(static_cast<std::underlying_type<TextFormatFlags>::type>(Lhs) | static_cast<std::underlying_type<TextFormatFlags>::type>(Rhs));
|
|
return Lhs;
|
|
};
|
|
} |