mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
38 lines
1.1 KiB
C++
38 lines
1.1 KiB
C++
#include "stdafx.h"
|
|
#include "UIXRadioButton.h"
|
|
#include "UIXTheme.h"
|
|
|
|
namespace UIX
|
|
{
|
|
UIXRadioButton::UIXRadioButton()
|
|
: RadioButton()
|
|
{
|
|
SetStyle(ControlStyles::AllPaintingInWmPaint | ControlStyles::DoubleBuffer, true);
|
|
|
|
this->SetOwnerDraw(true);
|
|
}
|
|
|
|
void UIXRadioButton::OnPaint(const std::unique_ptr<PaintEventArgs>& EventArgs)
|
|
{
|
|
auto State = UIX::UIXRenderState::Default;
|
|
auto Renderer = UIXTheme::GetRenderer();
|
|
|
|
if (!this->Enabled())
|
|
State = UIX::UIXRenderState::Disabled;
|
|
else if (this->Checked())
|
|
State = UIX::UIXRenderState::Selected;
|
|
else if (GetFlag(Forms::ButtonFlags::FlagMouseOver))
|
|
State = UIX::UIXRenderState::MouseOver;
|
|
|
|
Renderer->RenderControlBackground(EventArgs, this, State);
|
|
Renderer->RenderControlRadioBorder(EventArgs, this, State);
|
|
Renderer->RenderControlRadioCheck(EventArgs, this, State);
|
|
|
|
// Padding for the border
|
|
Drawing::Rectangle TextLayoutRect(this->ClientRectangle());
|
|
TextLayoutRect.X = (this->_ClientHeight - 1) + 4;
|
|
|
|
Renderer->RenderControlText(EventArgs, this, State, TextLayoutRect, Drawing::ContentAlignment::MiddleLeft);
|
|
}
|
|
}
|