From 24c9b9df7a0fe40368c1adac8a6f9fced558023e Mon Sep 17 00:00:00 2001 From: Janus Date: Sun, 19 Nov 2017 01:00:47 +0100 Subject: [PATCH] [PowerStatus] Fixes some drawing glitches * Fixes the position of the lightning over the battery * Fixes the selection in the info Window (Why is the selected color hardcoded?) * Fixes #13784 --- src/apps/powerstatus/ExtendedInfoWindow.cpp | 9 +++++---- src/apps/powerstatus/PowerStatusView.cpp | 3 ++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/apps/powerstatus/ExtendedInfoWindow.cpp b/src/apps/powerstatus/ExtendedInfoWindow.cpp index 543fb8731f..7e240f0669 100644 --- a/src/apps/powerstatus/ExtendedInfoWindow.cpp +++ b/src/apps/powerstatus/ExtendedInfoWindow.cpp @@ -279,11 +279,12 @@ ExtPowerStatusView::ExtPowerStatusView(PowerStatusDriverInterface* interface, void ExtPowerStatusView::Draw(BRect updateRect) { - if (fSelected) + if (fSelected) { + rgb_color lowColor = LowColor(); SetLowColor(102, 152, 203); - else - SetLowColor(ui_color(B_PANEL_BACKGROUND_COLOR)); - + FillRect(updateRect, B_SOLID_LOW); + SetLowColor(lowColor); + } PowerStatusView::Draw(updateRect); } diff --git a/src/apps/powerstatus/PowerStatusView.cpp b/src/apps/powerstatus/PowerStatusView.cpp index eae7391046..81bb06e2a6 100644 --- a/src/apps/powerstatus/PowerStatusView.cpp +++ b/src/apps/powerstatus/PowerStatusView.cpp @@ -163,6 +163,7 @@ PowerStatusView::MessageReceived(BMessage *message) void PowerStatusView::_DrawBattery(BRect rect) { + BRect lightningRect = rect; float quarter = floorf((rect.Height() + 1) / 4); rect.top += quarter; rect.bottom -= quarter; @@ -246,7 +247,7 @@ PowerStatusView::_DrawBattery(BRect rect) // When charging, draw a lightning symbol over the battery. SetHighColor(255, 255, 0, 180); SetDrawingMode(B_OP_ALPHA); - SetScale(std::min(Bounds().Width(), Bounds().Height()) / 16); + SetScale(std::min(lightningRect.Width(), lightningRect.Height()) / 16); static const BPoint points[] = { BPoint(3, 14),