| 21 | } |
| 22 | |
| 23 | void 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 | |
| 53 | void ElaMenuStyle::drawControl(ControlElement element, const QStyleOption* option, QPainter* painter, const QWidget* widget) const |
| 54 | { |
no test coverage detected