mirror of
https://github.com/ONLYOFFICE/desktop-apps.git
synced 2026-04-07 14:09:22 +08:00
[win] online-installer: debug checkbox and radiobutton style
This commit is contained in:
@ -45,6 +45,8 @@ template <class T>
|
||||
static void setSelectorStyle(T *sel) // style for CheckBox and RadioButton
|
||||
{
|
||||
sel->metrics()->setMetrics(Metrics::TextMarginLeft, 6);
|
||||
sel->metrics()->setMetrics(Metrics::PrimitiveRadius, 1);
|
||||
sel->metrics()->setMetrics(Metrics::AlternatePrimitiveWidth, 2);
|
||||
sel->palette()->setColor(Palette::Text, Palette::Disabled, 0x888888);
|
||||
sel->palette()->setColor(Palette::Text, Palette::Normal, 0x333333);
|
||||
sel->palette()->setColor(Palette::Text, Palette::Hover, 0x333333);
|
||||
@ -54,7 +56,7 @@ static void setSelectorStyle(T *sel) // style for CheckBox and RadioButton
|
||||
sel->palette()->setColor(Palette::Background, Palette::Hover, 0xfefefe);
|
||||
sel->palette()->setColor(Palette::Background, Palette::Pressed, 0xfefefe);
|
||||
sel->palette()->setColor(Palette::Primitive, Palette::Disabled, 0x888888);
|
||||
sel->palette()->setColor(Palette::Primitive, Palette::Normal, 0x333333);
|
||||
sel->palette()->setColor(Palette::Primitive, Palette::Normal, 0x888888);
|
||||
sel->palette()->setColor(Palette::Primitive, Palette::Hover, 0x0055ff);
|
||||
sel->palette()->setColor(Palette::Primitive, Palette::Pressed, 0x0055ff);
|
||||
}
|
||||
|
||||
@ -258,13 +258,18 @@ void DrawingEngine::DrawCheckBox(const std::wstring &text, bool checked)
|
||||
|
||||
SetLayout(m_memDC, LAYOUT_BITMAPORIENTATIONPRESERVED);
|
||||
m_graphics = new Gdiplus::Graphics(m_memDC);
|
||||
m_graphics->SetSmoothingMode(Gdiplus::SmoothingModeDefault);
|
||||
m_graphics->SetSmoothingMode(Gdiplus::SmoothingModeAntiAlias);
|
||||
m_graphics->Clear(ColorFromColorRef(m_ds->palette()->color(Palette::Background)));
|
||||
|
||||
Gdiplus::Pen pen(ColorFromColorRef(m_ds->palette()->color(Palette::Primitive)), m_ds->metrics()->value(Metrics::PrimitiveWidth));
|
||||
Gdiplus::Rect rc(x, y, m_ds->metrics()->value(Metrics::IconWidth) - 1, m_ds->metrics()->value(Metrics::IconHeight) - 1);
|
||||
m_graphics->DrawRectangle(&pen, rc);
|
||||
// m_graphics->DrawRectangle(&pen, rc);
|
||||
Gdiplus::GraphicsPath ph;
|
||||
RoundedPath(ph, rc.X, rc.Y, rc.Width, rc.Height, m_ds->metrics()->value(Metrics::PrimitiveRadius));
|
||||
m_graphics->DrawPath(&pen, &ph);
|
||||
if (checked) {
|
||||
pen.SetWidth(m_ds->metrics()->value(Metrics::AlternatePrimitiveWidth));
|
||||
pen.SetColor(ColorFromColorRef(m_ds->palette()->color(Palette::AlternatePrimitive)));
|
||||
Gdiplus::PointF pts[3] = {
|
||||
Gdiplus::PointF(float(x + 2), float(y + m_ds->metrics()->value(Metrics::IconHeight)/2 - 1)),
|
||||
Gdiplus::PointF(float(x + m_ds->metrics()->value(Metrics::IconWidth)/2 - 2), float(y + m_ds->metrics()->value(Metrics::IconHeight) - 5)),
|
||||
@ -323,8 +328,8 @@ void DrawingEngine::DrawRadioButton(const std::wstring &text, bool checked)
|
||||
Gdiplus::Pen pen(ColorFromColorRef(m_ds->palette()->color(Palette::Primitive)), m_ds->metrics()->value(Metrics::PrimitiveWidth));
|
||||
m_graphics->DrawEllipse(&pen, x, y, m_ds->metrics()->value(Metrics::IconHeight) - 1, m_ds->metrics()->value(Metrics::IconHeight) - 1);
|
||||
if (checked) {
|
||||
Gdiplus::SolidBrush chunkBrush(ColorFromColorRef(m_ds->palette()->color(Palette::Primitive)));
|
||||
m_graphics->FillEllipse(&chunkBrush, x + 2, y + 2, m_ds->metrics()->value(Metrics::IconHeight) - 4 - 1, m_ds->metrics()->value(Metrics::IconHeight) - 4 - 1);
|
||||
Gdiplus::SolidBrush chunkBrush(ColorFromColorRef(m_ds->palette()->color(Palette::AlternatePrimitive)));
|
||||
m_graphics->FillEllipse(&chunkBrush, float(x) + 2.7f, float(y) + 2.7f, float(m_ds->metrics()->value(Metrics::IconHeight)) - 5.4f - 1.0f, float(m_ds->metrics()->value(Metrics::IconHeight)) - 5.4f - 1.0f);
|
||||
}
|
||||
if (!text.empty()) {
|
||||
RECT rc;
|
||||
|
||||
@ -15,6 +15,8 @@ Metrics::Metrics()
|
||||
metrics[FontWidth] = 0;
|
||||
metrics[FontHeight] = 18;
|
||||
metrics[PrimitiveWidth] = 1;
|
||||
metrics[PrimitiveRadius] = 0;
|
||||
metrics[AlternatePrimitiveWidth] = 1;
|
||||
metrics[ShadowWidth] = 10;
|
||||
metrics[ShadowRadius] = 10;
|
||||
metrics[TextMarginLeft] = 0;
|
||||
|
||||
@ -31,6 +31,8 @@ public:
|
||||
FontWidth,
|
||||
FontHeight,
|
||||
PrimitiveWidth,
|
||||
AlternatePrimitiveWidth,
|
||||
PrimitiveRadius,
|
||||
ShadowWidth,
|
||||
ShadowRadius,
|
||||
TextMarginLeft,
|
||||
|
||||
@ -27,6 +27,10 @@ Palette::Palette()
|
||||
palette[Primitive][Normal] = 0xeeeeee;
|
||||
palette[Primitive][Hover] = 0xeeeeee;
|
||||
palette[Primitive][Pressed] = 0xeeeeee;
|
||||
palette[AlternatePrimitive][Disabled] = 0x888888;
|
||||
palette[AlternatePrimitive][Normal] = 0x333333;
|
||||
palette[AlternatePrimitive][Hover] = 0x333333;
|
||||
palette[AlternatePrimitive][Pressed] = 0x333333;
|
||||
|
||||
setCurrentState(Normal);
|
||||
}
|
||||
@ -55,5 +59,6 @@ void Palette::setCurrentState(State state)
|
||||
currentColors[AlternateBase] = palette[AlternateBase][state];
|
||||
currentColors[Text] = palette[Text][state];
|
||||
currentColors[Primitive] = palette[Primitive][state];
|
||||
currentColors[AlternatePrimitive] = palette[AlternatePrimitive][state];
|
||||
currentState = state;
|
||||
}
|
||||
|
||||
@ -17,6 +17,7 @@ public:
|
||||
AlternateBase,
|
||||
Text,
|
||||
Primitive,
|
||||
AlternatePrimitive,
|
||||
PALETTE_ROLE_COUNT
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user