diff --git a/src/preferences/time/AnalogClock.cpp b/src/preferences/time/AnalogClock.cpp index 122da00fef..41620ea2eb 100644 --- a/src/preferences/time/AnalogClock.cpp +++ b/src/preferences/time/AnalogClock.cpp @@ -98,7 +98,7 @@ TAnalogClock::MouseDown(BPoint point) BView::MouseDown(point); return; } - + if (InMinuteHand(point)) { fMinuteDragging = true; fDirty = true; @@ -124,7 +124,7 @@ TAnalogClock::MouseUp(BPoint point) BView::MouseUp(point); return; } - + if (fHourDragging || fMinuteDragging) { int32 hour, minute, second; GetTime(&hour, &minute, &second); @@ -160,7 +160,7 @@ TAnalogClock::MouseMoved(BPoint point, uint32 transit, const BMessage* message) void -TAnalogClock::FrameResized(float, float) +TAnalogClock::DoLayout() { BRect bounds = Bounds(); @@ -168,8 +168,7 @@ TAnalogClock::FrameResized(float, float) // (important when drawing with B_SUBPIXEL_PRECISE) fCenterX = floorf((bounds.left + bounds.right) / 2 + 0.5) + 0.5; fCenterY = floorf((bounds.top + bounds.bottom) / 2 + 0.5) + 0.5; - fRadius = floorf((MIN(bounds.Width(), bounds.Height()) / 2.0)) - 2.5; - fRadius -= 3; + fRadius = floorf((MIN(bounds.Width(), bounds.Height()) / 2.0)) - 5.5; } @@ -202,7 +201,7 @@ TAnalogClock::SetTime(int32 hour, int32 minute, int32 second) // don't set the time if the hands are in a drag action if (fHourDragging || fMinuteDragging || fTimeChangeIsOngoing) return; - + if (fHours == hour && fMinutes == minute && fSeconds == second) return; @@ -254,7 +253,7 @@ TAnalogClock::DrawClock() rgb_color background = ui_color(B_PANEL_BACKGROUND_COLOR); SetHighColor(background); FillRect(bounds); - + bounds.Set(fCenterX - fRadius, fCenterY - fRadius, fCenterX + fRadius, fCenterY + fRadius); @@ -459,7 +458,7 @@ TAnalogClock::_DrawHands(float x, float y, float radius, offsetY = (radius * 0.95) * cosf((fSeconds * M_PI) / 30.0); StrokeLine(BPoint(x, y), BPoint(x + offsetX, y - offsetY)); } - + // draw the center knob SetHighColor(knobColor); FillEllipse(BPoint(x, y), radius * 0.06, radius * 0.06); diff --git a/src/preferences/time/AnalogClock.h b/src/preferences/time/AnalogClock.h index 36c2efa17b..841aee92f7 100644 --- a/src/preferences/time/AnalogClock.h +++ b/src/preferences/time/AnalogClock.h @@ -27,8 +27,8 @@ public: virtual void MouseUp(BPoint point); virtual void MouseMoved(BPoint point, uint32 transit, const BMessage* message); - virtual void FrameResized(float, float); - + virtual void DoLayout(); + virtual BSize MaxSize(); virtual BSize MinSize(); virtual BSize PreferredSize(); @@ -60,7 +60,7 @@ private: int32 fMinutes; int32 fSeconds; bool fDirty; - + float fCenterX; float fCenterY; float fRadius; @@ -70,7 +70,7 @@ private: bool fDrawSecondHand; bool fInteractive; - bool fTimeChangeIsOngoing; + bool fTimeChangeIsOngoing; };