hrev53739 adds 1 changeset to branch 'master'
old head: 59b700d0869f32d2b6008138836e17bd7cf1098c
new head: cc0226fad05a6796f50723554c10b1bbd02de7b1
overview:
https://git.haiku-os.org/haiku/log/?qt=range&q=cc0226fad05a+%5E59b700d0869f
----------------------------------------------------------------------------
cc0226fad05a: ActivityMonitor: remove double buffering and custom background
drawing
Part of #15623.
Change-Id: Id6b7c13623e66d5b88ffc48766a5fe5ec4099b64
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2133
Reviewed-by: Stephan Aßmus <superstippi@xxxxxx>
[ X512 <danger_mail@xxxxxxx> ]
----------------------------------------------------------------------------
Revision: hrev53739
Commit: cc0226fad05a6796f50723554c10b1bbd02de7b1
URL: https://git.haiku-os.org/haiku/commit/?id=cc0226fad05a
Author: X512 <danger_mail@xxxxxxx>
Date: Thu Jan 16 18:54:48 2020 UTC
Committer: Stephan Aßmus <superstippi@xxxxxx>
Commit-Date: Sun Jan 19 18:27:55 2020 UTC
Ticket: https://dev.haiku-os.org/ticket/15623
----------------------------------------------------------------------------
2 files changed, 7 insertions(+), 82 deletions(-)
src/apps/activitymonitor/ActivityView.cpp | 83 ++-------------------------
src/apps/activitymonitor/ActivityView.h | 6 +-
----------------------------------------------------------------------------
diff --git a/src/apps/activitymonitor/ActivityView.cpp
b/src/apps/activitymonitor/ActivityView.cpp
index 4c22486741..e0181f87d2 100644
--- a/src/apps/activitymonitor/ActivityView.cpp
+++ b/src/apps/activitymonitor/ActivityView.cpp
@@ -553,7 +553,7 @@ const float kDraggerSize = 7;
ActivityView::ActivityView(BRect frame, const char* name,
const BMessage* settings, uint32 resizingMode)
: BView(frame, name, resizingMode,
- B_WILL_DRAW | B_FULL_UPDATE_ON_RESIZE | B_FRAME_EVENTS),
+ B_WILL_DRAW | B_SUBPIXEL_PRECISE | B_FULL_UPDATE_ON_RESIZE |
B_FRAME_EVENTS),
fSourcesLock("data sources")
{
_Init(settings);
@@ -598,7 +598,6 @@ ActivityView::ActivityView(BMessage* archive)
ActivityView::~ActivityView()
{
- delete fOffscreen;
delete fSystemInfoHandler;
}
@@ -609,7 +608,6 @@ ActivityView::_Init(const BMessage* settings)
fHistoryBackgroundColor = (rgb_color){255, 255, 240};
fLegendBackgroundColor = LowColor();
// the low color is restored by the BView unarchiving
- fOffscreen = NULL;
#ifdef __HAIKU__
fHistoryLayoutItem = NULL;
fLegendLayoutItem = NULL;
@@ -925,51 +923,6 @@ ActivityView::MinSize()
#endif
-void
-ActivityView::FrameResized(float /*width*/, float /*height*/)
-{
- _UpdateOffscreenBitmap();
-}
-
-
-void
-ActivityView::_UpdateOffscreenBitmap()
-{
- BRect frame = _HistoryFrame();
- frame.OffsetTo(B_ORIGIN);
-
- if (fOffscreen != NULL && frame == fOffscreen->Bounds())
- return;
-
- delete fOffscreen;
-
- // create offscreen bitmap
-
- fOffscreen = new(std::nothrow) BBitmap(frame, B_BITMAP_ACCEPTS_VIEWS,
- B_RGB32);
- if (fOffscreen == NULL || fOffscreen->InitCheck() != B_OK) {
- delete fOffscreen;
- fOffscreen = NULL;
- return;
- }
-
- BView* view = new BView(frame, NULL, B_FOLLOW_NONE, B_SUBPIXEL_PRECISE);
- view->SetViewColor(fHistoryBackgroundColor);
- view->SetLowColor(view->ViewColor());
- fOffscreen->AddChild(view);
-}
-
-
-BView*
-ActivityView::_OffscreenView()
-{
- if (fOffscreen == NULL)
- return NULL;
-
- return fOffscreen->ChildAt(0);
-}
-
-
void
ActivityView::MouseDown(BPoint where)
{
@@ -1323,23 +1276,15 @@ ActivityView::_PositionForValue(DataSource* source,
DataHistory* values,
void
-ActivityView::_DrawHistory(bool drawBackground)
+ActivityView::_DrawHistory()
{
- _UpdateOffscreenBitmap();
-
BView* view = this;
- if (fOffscreen != NULL) {
- fOffscreen->Lock();
- view = _OffscreenView();
- }
BRect frame = _HistoryFrame();
BRect outerFrame = frame.InsetByCopy(-2, -2);
// draw the outer frame
- uint32 flags = 0;
- if (!drawBackground)
- flags |= BControlLook::B_BLEND_FRAME;
+ uint32 flags = BControlLook::B_BLEND_FRAME;
be_control_look->DrawTextControlBorder(this, outerFrame,
outerFrame, fLegendBackgroundColor, flags);
@@ -1432,12 +1377,9 @@ ActivityView::_DrawHistory(bool drawBackground)
view->EndLineArray();
}
+ view->SetPenSize(1);
+
// TODO: add marks when an app started or quit
- view->Sync();
- if (fOffscreen != NULL) {
- fOffscreen->Unlock();
- DrawBitmap(fOffscreen, outerFrame.LeftTop());
- }
}
@@ -1467,11 +1409,7 @@ ActivityView::_UpdateResolution(int32 resolution, bool
broadcast)
void
ActivityView::Draw(BRect updateRect)
{
- bool drawBackground = true;
- if (Parent() && (Parent()->Flags() & B_DRAW_ON_CHILDREN) != 0)
- drawBackground = false;
-
- _DrawHistory(drawBackground);
+ _DrawHistory();
if (!fShowLegend)
return;
@@ -1481,12 +1419,6 @@ ActivityView::Draw(BRect updateRect)
if (LowUIColor() == B_NO_COLOR)
SetLowColor(fLegendBackgroundColor);
- if (drawBackground) {
- BRect backgroundFrame(legendFrame);
- backgroundFrame.bottom += kDraggerSize;
- FillRect(backgroundFrame, B_SOLID_LOW);
- }
-
BAutolock _(fSourcesLock);
font_height fontHeight;
@@ -1520,9 +1452,6 @@ ActivityView::Draw(BRect updateRect)
label = source->ShortLabel();
TruncateString(&label, B_TRUNCATE_MIDDLE, possibleLabelWidth);
- if (drawBackground)
- SetHighColor(ui_color(B_PANEL_TEXT_COLOR));
-
if (be_control_look == NULL) {
DrawString(label.String(), BPoint(6 + colorBox.right,
y));
DrawString(text.String(), BPoint(frame.right - width,
y));
diff --git a/src/apps/activitymonitor/ActivityView.h
b/src/apps/activitymonitor/ActivityView.h
index 4c9488ec40..82ed245d24 100644
--- a/src/apps/activitymonitor/ActivityView.h
+++ b/src/apps/activitymonitor/ActivityView.h
@@ -86,7 +86,6 @@ protected:
virtual BSize MinSize();
#endif
- virtual void FrameResized(float width, float height);
virtual void MouseDown(BPoint where);
virtual void MouseUp(BPoint where);
virtual void MouseMoved(BPoint where, uint32 transit,
@@ -101,8 +100,6 @@ private:
::Scale* _ScaleFor(scale_type type);
void _Refresh();
static status_t _RefreshThread(void* self);
- void _UpdateOffscreenBitmap();
- BView* _OffscreenView();
void _UpdateFrame();
BRect _HistoryFrame() const;
float _LegendHeight() const;
@@ -111,7 +108,7 @@ private:
BRect _LegendColorFrameAt(BRect frame, int32
index) const;
float _PositionForValue(DataSource* source,
DataHistory* values,
int64 value);
- void _DrawHistory(bool drawBackground);
+ void _DrawHistory();
void _UpdateResolution(int32 resolution,
bool broadcast = true);
@@ -124,7 +121,6 @@ private:
rgb_color fHistoryBackgroundColor;
rgb_color fLegendBackgroundColor;
- BBitmap* fOffscreen;
#ifdef __HAIKU__
BLayoutItem* fHistoryLayoutItem;
BLayoutItem* fLegendLayoutItem;