[haiku-commits] haiku: hrev53739 - src/apps/activitymonitor

  • From: Stephan Aßmus <superstippi@xxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sun, 19 Jan 2020 13:27:58 -0500 (EST)

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;


Other related posts:

  • » [haiku-commits] haiku: hrev53739 - src/apps/activitymonitor - Stephan Aßmus