MCPcopy Create free account
hub / github.com/Liniyous/ElaWidgetTools / drawPrimitive

Method drawPrimitive

ElaWidgetTools/DeveloperComponents/ElaMenuStyle.cpp:23–51  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

21}
22
23void ElaMenuStyle::drawPrimitive(PrimitiveElement element, const QStyleOption* option, QPainter* painter, const QWidget* widget) const
24{
25 switch (element)
26 {
27 case QStyle::PE_PanelMenu:
28 {
29 // 高性能阴影
30 painter->save();
31 painter->setRenderHint(QPainter::Antialiasing);
32 eTheme->drawEffectShadow(painter, option->rect, _shadowBorderWidth, 6);
33 // 背景绘制
34 QRect foregroundRect(_shadowBorderWidth, _shadowBorderWidth, option->rect.width() - 2 * _shadowBorderWidth, option->rect.height() - 2 * _shadowBorderWidth);
35 painter->setPen(ElaThemeColor(_themeMode, PopupBorder));
36 painter->setBrush(ElaThemeColor(_themeMode, PopupBase));
37 painter->drawRoundedRect(foregroundRect, 6, 6);
38 painter->restore();
39 return;
40 }
41 case QStyle::PE_FrameMenu:
42 {
43 return;
44 }
45 default:
46 {
47 break;
48 }
49 }
50 QProxyStyle::drawPrimitive(element, option, painter, widget);
51}
52
53void ElaMenuStyle::drawControl(ControlElement element, const QStyleOption* option, QPainter* painter, const QWidget* widget) const
54{

Callers 1

paintEventMethod · 0.45

Calls 1

drawEffectShadowMethod · 0.80

Tested by

no test coverage detected