Lines Matching refs:rect

108 HaikuControlLook::DrawButtonFrame(BView* view, BRect& rect, const BRect& updateRect,
112 _DrawButtonFrame(view, rect, updateRect, 0.0f, 0.0f, 0.0f, 0.0f, base,
118 HaikuControlLook::DrawButtonFrame(BView* view, BRect& rect, const BRect& updateRect,
122 _DrawButtonFrame(view, rect, updateRect, radius, radius, radius, radius,
128 HaikuControlLook::DrawButtonFrame(BView* view, BRect& rect,
134 _DrawButtonFrame(view, rect, updateRect, leftTopRadius, rightTopRadius,
141 HaikuControlLook::DrawButtonBackground(BView* view, BRect& rect,
145 _DrawButtonBackground(view, rect, updateRect, 0.0f, 0.0f, 0.0f, 0.0f,
151 HaikuControlLook::DrawButtonBackground(BView* view, BRect& rect,
155 _DrawButtonBackground(view, rect, updateRect, radius, radius, radius,
161 HaikuControlLook::DrawButtonBackground(BView* view, BRect& rect,
166 _DrawButtonBackground(view, rect, updateRect, leftTopRadius,
173 HaikuControlLook::DrawMenuBarBackground(BView* view, BRect& rect,
177 if (!ShouldDraw(view, rect, updateRect))
193 _DrawFrame(view, rect,
206 _DrawFrame(view, rect,
214 _FillGradient(view, rect, base, topTint, bottomTint);
219 HaikuControlLook::DrawMenuFieldFrame(BView* view, BRect& rect,
223 _DrawButtonFrame(view, rect, updateRect, 0.0f, 0.0f, 0.0f, 0.0f, base,
229 HaikuControlLook::DrawMenuFieldFrame(BView* view, BRect& rect,
233 _DrawButtonFrame(view, rect, updateRect, radius, radius, radius, radius,
239 HaikuControlLook::DrawMenuFieldFrame(BView* view, BRect& rect,
245 _DrawButtonFrame(view, rect, updateRect, leftTopRadius, rightTopRadius,
252 HaikuControlLook::DrawMenuFieldBackground(BView* view, BRect& rect,
256 _DrawMenuFieldBackgroundOutside(view, rect, updateRect,
262 HaikuControlLook::DrawMenuFieldBackground(BView* view, BRect& rect,
266 _DrawMenuFieldBackgroundInside(view, rect, updateRect,
272 HaikuControlLook::DrawMenuFieldBackground(BView* view, BRect& rect,
276 _DrawMenuFieldBackgroundOutside(view, rect, updateRect, radius, radius,
282 HaikuControlLook::DrawMenuFieldBackground(BView* view, BRect& rect,
287 _DrawMenuFieldBackgroundOutside(view, rect, updateRect, leftTopRadius,
294 HaikuControlLook::DrawMenuBackground(BView* view, BRect& rect,
298 if (!ShouldDraw(view, rect, updateRect))
314 _DrawFrame(view, rect,
321 view->FillRect(rect);
326 HaikuControlLook::DrawMenuItemBackground(BView* view, BRect& rect,
330 if (!ShouldDraw(view, rect, updateRect))
353 _DrawFrame(view, rect,
360 // _FillGradient(view, rect, selectedColor, topTint, bottomTint);
361 _FillGradient(view, rect, selectedColor, bottomTint, topTint);
366 HaikuControlLook::DrawStatusBar(BView* view, BRect& rect, const BRect& updateRect,
369 if (!ShouldDraw(view, rect, updateRect))
372 _DrawOuterResessedFrame(view, rect, base, 0.6);
380 BRect filledRect(rect);
383 BRect nonfilledRect(rect);
419 HaikuControlLook::DrawCheckBox(BView* view, BRect& rect, const BRect& updateRect,
422 if (!ShouldDraw(view, rect, updateRect))
430 _DrawOuterResessedFrame(view, rect, base, 0.0, 1.0, flags);
438 _DrawFrame(view, rect,
444 _DrawOuterResessedFrame(view, rect, base, 0.6, 1.0, flags);
455 _DrawFrame(view, rect,
460 _FillGradient(view, rect, base, 0.4, 0.2);
462 _FillGradient(view, rect, base, 0.15, 0.0);
471 rect.InsetBy(inset, inset);
473 float penSize = std::max(1.0f, ceilf(rect.Width() / 3.5f));
478 rect.right++;
479 rect.bottom++;
484 view->StrokeLine(rect.LeftTop(), rect.RightBottom());
485 view->StrokeLine(rect.LeftBottom(), rect.RightTop());
491 HaikuControlLook::DrawRadioButton(BView* view, BRect& rect, const BRect& updateRect,
494 if (!ShouldDraw(view, rect, updateRect))
523 bevelGradient.SetStart(rect.LeftTop());
524 bevelGradient.SetEnd(rect.RightBottom());
526 view->FillEllipse(rect, bevelGradient);
527 rect.InsetBy(1, 1);
532 view->FillEllipse(rect, bevelGradient);
533 rect.InsetBy(1, 1);
546 _MakeGradient(gradient, rect, base, topTint, bottomTint);
547 view->FillEllipse(rect, gradient);
555 rect.InsetBy(inset, inset);
556 view->FillEllipse(rect);
562 HaikuControlLook::DrawScrollBarBorder(BView* view, BRect rect,
566 if (!ShouldDraw(view, rect, updateRect))
571 // set clipping constraints to rect
572 view->ClipToRect(rect);
587 view->AddLine(BPoint(rect.left + 1, rect.bottom),
588 BPoint(rect.right, rect.bottom), borderColor);
589 view->AddLine(BPoint(rect.right, rect.top + 1),
590 BPoint(rect.right, rect.bottom - 1), borderColor);
593 view->AddLine(BPoint(rect.left, rect.top + 1),
594 BPoint(rect.left, rect.bottom), borderColor);
596 view->AddLine(BPoint(rect.left, rect.top),
597 BPoint(rect.left, rect.bottom), highlightColor);
601 view->AddLine(BPoint(rect.left, rect.top),
602 BPoint(rect.right, rect.top), highlightColor);
604 view->AddLine(BPoint(rect.left + 1, rect.top),
605 BPoint(rect.right, rect.top), borderColor);
610 view->StrokeRect(rect);
617 HaikuControlLook::DrawScrollBarButton(BView* view, BRect rect,
621 if (!ShouldDraw(view, rect, updateRect))
627 view->ClipToRect(rect);
633 DrawButtonBackground(view, rect, updateRect, buttonColor, flags,
636 rect.InsetBy(-1, -1);
637 DrawArrowShape(view, rect, updateRect, base, direction, flags, 1.9f);
655 HaikuControlLook::DrawScrollBarBackground(BView* view, BRect& rect,
659 if (!ShouldDraw(view, rect, updateRect))
664 // set clipping constraints to rect
665 view->ClipToRect(rect);
698 if (rect.Width() > 0) {
700 view->StrokeLine(rect.LeftTop(), rect.LeftBottom());
701 rect.left++;
704 if (rect.Width() >= 0) {
706 view->StrokeLine(rect.RightTop(), rect.RightBottom());
707 rect.right--;
710 if (rect.Width() >= 0) {
712 view->StrokeLine(rect.LeftTop(), rect.LeftBottom());
713 rect.left++;
716 if (rect.Width() >= 0) {
717 _FillGradient(view, rect, base, gradient1Tint, gradient2Tint,
722 if (rect.Height() > 0) {
724 view->StrokeLine(rect.LeftTop(), rect.RightTop());
725 rect.top++;
728 if (rect.Height() >= 0) {
730 view->StrokeLine(rect.LeftBottom(), rect.RightBottom());
731 rect.bottom--;
734 if (rect.Height() >= 0) {
736 view->StrokeLine(rect.LeftTop(), rect.RightTop());
737 rect.top++;
740 if (rect.Height() >= 0) {
741 _FillGradient(view, rect, base, gradient1Tint, gradient2Tint,
751 HaikuControlLook::DrawScrollBarThumb(BView* view, BRect& rect,
755 if (!ShouldDraw(view, rect, updateRect))
760 // set clipping constraints to rect
761 view->ClipToRect(rect);
790 DrawButtonBackground(view, rect, updateRect, thumbColor, 0,
795 view->AddLine(BPoint(rect.left, rect.bottom),
796 BPoint(rect.left, rect.top), light);
797 view->AddLine(BPoint(rect.left + 1, rect.top),
798 BPoint(rect.right, rect.top), light);
799 view->AddLine(BPoint(rect.right, rect.top + 1),
800 BPoint(rect.right, rect.bottom), dark2);
801 view->AddLine(BPoint(rect.right - 1, rect.bottom),
802 BPoint(rect.left + 1, rect.bottom), dark2);
806 rect.InsetBy(1, 1);
808 view->FillRect(rect);
822 float hcenter = rect.left + rect.Width() / 2;
823 float vmiddle = rect.top + rect.Height() / 2;
832 float spacer = rect.Height();
834 if (rect.left + 3 < hcenter - spacer) {
841 if (rect.right - 3 > hcenter + spacer) {
854 float spacer = rect.Width();
856 if (rect.top + 3 < vmiddle - spacer) {
863 if (rect.bottom - 3 > vmiddle + spacer) {
873 float middle = rect.Width() / 2;
877 BPoint(rect.left + middle - 3, rect.top + 2),
878 BPoint(rect.left + middle - 3, rect.bottom - 2),
881 BPoint(rect.left + middle, rect.top + 2),
882 BPoint(rect.left + middle, rect.bottom - 2),
885 BPoint(rect.left + middle + 3, rect.top + 2),
886 BPoint(rect.left + middle + 3, rect.bottom - 2),
889 BPoint(rect.left + middle - 2, rect.top + 2),
890 BPoint(rect.left + middle - 2, rect.bottom - 2),
893 BPoint(rect.left + middle + 1, rect.top + 2),
894 BPoint(rect.left + middle + 1, rect.bottom - 2),
897 BPoint(rect.left + middle + 4, rect.top + 2),
898 BPoint(rect.left + middle + 4, rect.bottom - 2),
903 float middle = rect.Height() / 2;
907 BPoint(rect.left + 2, rect.top + middle - 3),
908 BPoint(rect.right - 2, rect.top + middle - 3),
911 BPoint(rect.left + 2, rect.top + middle),
912 BPoint(rect.right - 2, rect.top + middle),
915 BPoint(rect.left + 2, rect.top + middle + 3),
916 BPoint(rect.right - 2, rect.top + middle + 3),
919 BPoint(rect.left + 2, rect.top + middle - 2),
920 BPoint(rect.right - 2, rect.top + middle - 2),
923 BPoint(rect.left + 2, rect.top + middle + 1),
924 BPoint(rect.right - 2, rect.top + middle + 1),
927 BPoint(rect.left + 2, rect.top + middle + 4),
928 BPoint(rect.right - 2, rect.top + middle + 4),
940 HaikuControlLook::DrawScrollViewFrame(BView* view, BRect& rect,
945 // calculate scroll corner rect before messing with the "rect"
946 BRect scrollCornerFillRect(rect.right, rect.bottom,
947 rect.right, rect.bottom);
969 rect.bottom = horizontalScrollBarFrame.top;
970 rect.right = verticalScrollBarFrame.left;
977 _DrawOuterResessedFrame(view, rect, base, 1.0, 1.0, flags, borders);
981 _DrawFrame(view, rect, focusColor, focusColor, focusColor, focusColor,
984 _DrawFrame(view, rect, scrollbarFrameColor, scrollbarFrameColor,
1024 HaikuControlLook::DrawArrowShape(BView* view, BRect& rect,
1029 float hInset = rect.Width() / 3;
1030 float vInset = rect.Height() / 3;
1031 rect.InsetBy(hInset, vInset);
1035 tri1.Set(rect.right, rect.top);
1036 tri2.Set(rect.right - rect.Width() / 1.33,
1037 (rect.top + rect.bottom + 1) / 2);
1038 tri3.Set(rect.right, rect.bottom + 1);
1041 tri1.Set(rect.left + 1, rect.bottom + 1);
1042 tri2.Set(rect.left + 1 + rect.Width() / 1.33,
1043 (rect.top + rect.bottom + 1) / 2);
1044 tri3.Set(rect.left + 1, rect.top);
1047 tri1.Set(rect.left, rect.bottom);
1048 tri2.Set((rect.left + rect.right + 1) / 2,
1049 rect.bottom - rect.Height() / 1.33);
1050 tri3.Set(rect.right + 1, rect.bottom);
1054 tri1.Set(rect.left, rect.top + 1);
1055 tri2.Set((rect.left + rect.right + 1) / 2,
1056 rect.top + 1 + rect.Height() / 1.33);
1057 tri3.Set(rect.right + 1, rect.top + 1);
1060 tri1.Set(rect.left, rect.bottom);
1061 tri2.Set(rect.left, rect.top);
1062 tri3.Set(rect.right - 1, rect.top);
1065 tri1.Set(rect.left + 1, rect.top);
1066 tri2.Set(rect.right, rect.top);
1067 tri3.Set(rect.right, rect.bottom);
1070 tri1.Set(rect.right, rect.top);
1071 tri2.Set(rect.right, rect.bottom);
1072 tri3.Set(rect.left + 1, rect.bottom);
1075 tri1.Set(rect.right - 1, rect.bottom);
1076 tri2.Set(rect.left, rect.bottom);
1077 tri3.Set(rect.left, rect.top);
1113 HaikuControlLook::DrawSliderBar(BView* view, BRect rect, const BRect& updateRect,
1117 if (!ShouldDraw(view, rect, updateRect))
1122 BRect leftBarSide = rect;
1123 BRect rightBarSide = rect;
1126 sliderPosition = floorf(rect.left + 2 + (rect.Width() - 2)
1132 sliderPosition = floorf(rect.top + 2 + (rect.Height() - 2)
1140 DrawSliderBar(view, rect, updateRect, base, leftFillColor, flags,
1146 DrawSliderBar(view, rect, updateRect, base, rightFillColor, flags,
1153 HaikuControlLook::DrawSliderBar(BView* view, BRect rect, const BRect& updateRect,
1157 if (!ShouldDraw(view, rect, updateRect))
1160 // separate the rect into corners
1161 BRect leftCorner(rect);
1162 BRect rightCorner(rect);
1163 BRect barRect(rect);
1179 view->ClipToRect(rect);
1184 view->FillRect(rect);
1306 HaikuControlLook::DrawSliderThumb(BView* view, BRect& rect, const BRect& updateRect,
1309 if (!ShouldDraw(view, rect, updateRect))
1339 BRect originalRect(rect);
1340 rect.right--;
1341 rect.bottom--;
1343 _DrawFrame(view, rect, frameLightColor, frameLightColor,
1347 DrawButtonBackground(view, rect, updateRect, base, flags);
1360 rect.InsetBy(0, floorf(rect.Height() / 4));
1361 rect.left = floorf((rect.left + rect.right) / 2);
1362 rect.right = rect.left + 1;
1366 view->StrokeLine(rect.LeftTop(), rect.LeftBottom());
1370 view->StrokeLine(rect.RightTop(), rect.RightBottom());
1372 rect.InsetBy(floorf(rect.Width() / 4), 0);
1373 rect.top = floorf((rect.top + rect.bottom) / 2);
1374 rect.bottom = rect.top + 1;
1378 view->StrokeLine(rect.LeftTop(), rect.RightTop());
1382 view->StrokeLine(rect.LeftBottom(), rect.RightBottom());
1390 HaikuControlLook::DrawSliderTriangle(BView* view, BRect& rect,
1394 DrawSliderTriangle(view, rect, updateRect, base, base, flags, orientation);
1399 HaikuControlLook::DrawSliderTriangle(BView* view, BRect& rect,
1403 if (!ShouldDraw(view, rect, updateRect))
1451 rect.right--;
1452 rect.bottom--;
1458 float centerh = (rect.left + rect.right) / 2;
1459 float centerv = (rect.top + rect.bottom) / 2;
1463 shape.MoveTo(BPoint(rect.left + 0.5, rect.bottom + 0.5));
1464 shape.LineTo(BPoint(rect.right + 0.5, rect.bottom + 0.5));
1465 shape.LineTo(BPoint(rect.right + 0.5, rect.bottom - 1 + 0.5));
1466 shape.LineTo(BPoint(centerh + 0.5, rect.top + 0.5));
1467 shape.LineTo(BPoint(rect.left + 0.5, rect.bottom - 1 + 0.5));
1469 shape.MoveTo(BPoint(rect.right + 0.5, rect.top + 0.5));
1470 shape.LineTo(BPoint(rect.right + 0.5, rect.bottom + 0.5));
1471 shape.LineTo(BPoint(rect.right - 1 + 0.5, rect.bottom + 0.5));
1472 shape.LineTo(BPoint(rect.left + 0.5, centerv + 0.5));
1473 shape.LineTo(BPoint(rect.right - 1 + 0.5, rect.top + 0.5));
1489 rect.InsetBy(1, 1);
1492 shape.MoveTo(BPoint(rect.left, rect.bottom + 1));
1493 shape.LineTo(BPoint(rect.right + 1, rect.bottom + 1));
1494 shape.LineTo(BPoint(centerh + 0.5, rect.top));
1496 shape.MoveTo(BPoint(rect.right + 1, rect.top));
1497 shape.LineTo(BPoint(rect.right + 1, rect.bottom + 1));
1498 shape.LineTo(BPoint(rect.left, centerv + 0.5));
1504 _MakeGradient(gradient, rect, fill, topTint, bottomTint);
1506 _MakeGlossyGradient(gradient, rect, fill, topTint, middleTint1,
1517 HaikuControlLook::DrawSliderHashMarks(BView* view, BRect& rect,
1521 if (!ShouldDraw(view, rect, updateRect))
1541 factor = (rect.Width() - 2) / (hashMarkCount - 1);
1542 startPos = rect.left + 1;
1544 factor = (rect.Height() - 2) / (hashMarkCount - 1);
1545 startPos = rect.top + 1;
1554 view->AddLine(BPoint(pos, rect.top),
1555 BPoint(pos, rect.top + 4), darkColor);
1556 view->AddLine(BPoint(pos + 1, rect.top),
1557 BPoint(pos + 1, rect.top + 4), lightColor);
1564 view->AddLine(BPoint(rect.left, pos),
1565 BPoint(rect.left + 4, pos), darkColor);
1566 view->AddLine(BPoint(rect.left, pos + 1),
1567 BPoint(rect.left + 4, pos + 1), lightColor);
1582 view->AddLine(BPoint(pos, rect.bottom - 4),
1583 BPoint(pos, rect.bottom), darkColor);
1584 view->AddLine(BPoint(pos + 1, rect.bottom - 4),
1585 BPoint(pos + 1, rect.bottom), lightColor);
1592 view->AddLine(BPoint(rect.right - 4, pos),
1593 BPoint(rect.right, pos), darkColor);
1594 view->AddLine(BPoint(rect.right - 4, pos + 1),
1595 BPoint(rect.right, pos + 1), lightColor);
1607 HaikuControlLook::DrawTabFrame(BView* view, BRect& rect,
1611 if (!ShouldDraw(view, rect, updateRect))
1623 rect.InsetBy(-1, 0);
1633 rect.InsetBy(0, -1);
1636 DrawInactiveTab(view, rect, rect, base, 0, borders, side);
1641 HaikuControlLook::DrawActiveTab(BView* view, BRect& rect,
1645 if (!ShouldDraw(view, rect, updateRect))
1649 rect.left = floorf(rect.left);
1650 rect.right = floorf(rect.right);
1651 rect.top = floorf(rect.top);
1652 rect.bottom = floorf(rect.bottom);
1657 // set clipping constraints to rect
1658 view->ClipToRect(rect);
1667 fillGradient.SetStart(rect.LeftTop() + BPoint(3, 3));
1668 fillGradient.SetEnd(rect.LeftBottom() + BPoint(3, -3));
1693 BRect leftTopCorner(rect);
1695 leftTopCorner.bottom = floorf(rect.top + kRoundCornerRadius);
1698 BRect rightTopCorner(rect);
1700 rightTopCorner.bottom = floorf(rect.top + kRoundCornerRadius);
1703 BRect leftBottomCorner(rect);
1705 leftBottomCorner.top = floorf(rect.bottom - kRoundCornerRadius);
1708 BRect rightBottomCorner(rect);
1711 rightBottomCorner.top = floorf(rect.bottom - kRoundCornerRadius);
1795 _DrawFrame(view, rect, edgeShadowColor, edgeShadowColor, edgeLightColor,
1799 rect.left++;
1801 rect.right--;
1804 rect.top++;
1806 rect.bottom--;
1809 _DrawFrame(view, rect, frameLightColor, frameLightColor, frameShadowColor,
1812 _DrawFrame(view, rect, bevelLightColor, bevelLightColor, bevelShadowColor,
1815 view->FillRect(rect, fillGradient);
1823 HaikuControlLook::DrawInactiveTab(BView* view, BRect& rect,
1827 if (!ShouldDraw(view, rect, updateRect))
1837 fillGradient.SetStart(rect.LeftTop() + BPoint(3, 3));
1838 fillGradient.SetEnd(rect.LeftBottom() + BPoint(3, -3));
1860 BRect background = rect;
1865 rect.top += 4;
1866 background.bottom = rect.top;
1871 rect.bottom -= 4;
1872 background.top = rect.bottom;
1877 rect.left += 4;
1878 background.right = rect.left;
1883 rect.right -= 4;
1884 background.left = rect.right;
1894 // Note that _DrawFrame also insets the rect, so each of the calls here
1895 // operate on a smaller rect than the previous ones
1896 _DrawFrame(view, rect, edgeShadowColor, edgeShadowColor, edgeLightColor,
1899 _DrawFrame(view, rect, frameLightColor, frameLightColor, frameShadowColor,
1902 if (rect.IsValid()) {
1904 _DrawFrame(view, rect, bevelShadowColor, bevelShadowColor,
1907 _DrawFrame(view, rect, bevelShadowColor, bevelShadowColor,
1913 rect.left++;
1916 rect.top++;
1920 view->FillRect(rect, fillGradient);
1925 HaikuControlLook::DrawSplitter(BView* view, BRect& rect, const BRect& updateRect,
1929 if (!ShouldDraw(view, rect, updateRect))
1942 if (borders != 0 && rect.Width() > 3 && rect.Height() > 3)
1943 DrawRaisedBorder(view, rect, updateRect, background, flags, borders);
1947 if (rect.Width() > 2) {
1949 BRegion region(rect);
1950 rect.left = floorf((rect.left + rect.right) / 2.0 - 0.5);
1951 rect.right = rect.left + 1;
1952 region.Exclude(rect);
1957 BPoint dot = rect.LeftTop();
1958 BPoint stop = rect.LeftBottom();
1990 if (rect.Height() > 2) {
1992 BRegion region(rect);
1993 rect.top = floorf((rect.top + rect.bottom) / 2.0 - 0.5);
1994 rect.bottom = rect.top + 1;
1995 region.Exclude(rect);
2000 BPoint dot = rect.LeftTop();
2001 BPoint stop = rect.RightTop();
2040 HaikuControlLook::DrawBorder(BView* view, BRect& rect, const BRect& updateRect,
2056 _DrawOuterResessedFrame(view, rect, base, 1.0, 1.0, flags, borders);
2058 _DrawFrame(view, rect, scrollbarFrameColor, scrollbarFrameColor,
2064 HaikuControlLook::DrawRaisedBorder(BView* view, BRect& rect,
2079 _DrawFrame(view, rect, lightColor, lightColor, shadowColor, shadowColor,
2085 HaikuControlLook::DrawTextControlBorder(BView* view, BRect& rect,
2089 if (!ShouldDraw(view, rect, updateRect))
2098 _DrawOuterResessedFrame(view, rect, base, 0.0, 1.0, flags, borders);
2110 _DrawFrame(view, rect,
2116 _DrawOuterResessedFrame(view, rect, base, 0.6, 1.0, flags, borders);
2141 _DrawFrame(view, rect,
2147 _DrawFrame(view, rect,
2155 HaikuControlLook::DrawGroupFrame(BView* view, BRect& rect, const BRect& updateRect,
2162 _DrawFrame(view, rect, bevelShadow, bevelShadow, bevelLight, bevelLight,
2165 _DrawFrame(view, rect, frameColor, frameColor, frameColor, frameColor,
2168 _DrawFrame(view, rect, bevelLight, bevelLight, bevelShadow, bevelShadow,
2174 HaikuControlLook::DrawLabel(BView* view, const char* label, BRect rect,
2178 DrawLabel(view, label, NULL, rect, updateRect, base, flags,
2184 HaikuControlLook::DrawLabel(BView* view, const char* label, BRect rect,
2188 DrawLabel(view, label, NULL, rect, updateRect, base, flags, alignment,
2317 BRect rect, const BRect& updateRect, const rgb_color& base, uint32 flags,
2320 if (!ShouldDraw(view, rect, updateRect))
2328 BRect alignedRect = BLayoutUtils::AlignInFrame(rect,
2338 float availableWidth = rect.Width() + 1;
2365 BRect alignedRect(BLayoutUtils::AlignOnRect(rect,
2461 HaikuControlLook::DrawButtonWithPopUpBackground(BView* view, BRect& rect,
2465 _DrawButtonBackground(view, rect, updateRect, 0.0f, 0.0f, 0.0f, 0.0f,
2471 HaikuControlLook::DrawButtonWithPopUpBackground(BView* view, BRect& rect,
2475 _DrawButtonBackground(view, rect, updateRect, radius, radius, radius,
2481 HaikuControlLook::DrawButtonWithPopUpBackground(BView* view, BRect& rect,
2486 _DrawButtonBackground(view, rect, updateRect, leftTopRadius,
2496 HaikuControlLook::_DrawButtonFrame(BView* view, BRect& rect,
2502 if (!rect.IsValid())
2508 // set clipping constraints to rect
2509 view->ClipToRect(rect);
2517 _DrawFrame(view, rect, background, background, background,
2519 _DrawFrame(view, rect, background, background, background,
2551 rect.InsetBy(1, 1);
2554 view->StrokeRoundRect(rect, leftTopRadius, leftTopRadius);
2555 rect.InsetBy(1, 1);
2557 view->StrokeRoundRect(rect, leftTopRadius, leftTopRadius);
2558 rect.InsetBy(1, 1);
2585 BRect leftTopCorner(floorf(rect.left), floorf(rect.top),
2586 floorf(rect.left + leftTopRadius),
2587 floorf(rect.top + leftTopRadius));
2597 BRect rightTopCorner(floorf(rect.right - rightTopRadius),
2598 floorf(rect.top), floorf(rect.right),
2599 floorf(rect.top + rightTopRadius));
2610 BRect leftBottomCorner(floorf(rect.left),
2611 floorf(rect.bottom - leftBottomRadius),
2612 floorf(rect.left + leftBottomRadius), floorf(rect.bottom));
2623 BRect rightBottomCorner(floorf(rect.right - rightBottomRadius),
2624 floorf(rect.bottom - rightBottomRadius), floorf(rect.right),
2625 floorf(rect.bottom));
2634 _DrawOuterResessedFrame(view, rect, defaultIndicatorColor,
2639 _DrawOuterResessedFrame(view, rect, background,
2651 _DrawFrame(view, rect, frameLightColor, frameLightColor,
2656 _DrawFrame(view, rect, frameLightColor, frameLightColor,
2666 HaikuControlLook::_DrawOuterResessedFrame(BView* view, BRect& rect,
2680 _DrawFrame(view, rect, edgeShadowColor, edgeShadowColor,
2685 _DrawFrame(view, rect, edgeShadowColor, edgeShadowColor,
2692 HaikuControlLook::_DrawFrame(BView* view, BRect& rect, const rgb_color& left,
2700 BPoint(rect.left, rect.bottom),
2701 BPoint(rect.left, rect.top), left);
2702 rect.left++;
2706 BPoint(rect.left, rect.top),
2707 BPoint(rect.right, rect.top), top);
2708 rect.top++;
2712 BPoint(rect.right, rect.top),
2713 BPoint(rect.right, rect.bottom), right);
2714 rect.right--;
2718 BPoint(rect.left, rect.bottom),
2719 BPoint(rect.right, rect.bottom), bottom);
2720 rect.bottom--;
2728 HaikuControlLook::_DrawFrame(BView* view, BRect& rect, const rgb_color& left,
2737 BPoint(rect.left, rect.top),
2738 BPoint(rect.right - 1, rect.top), top);
2740 BPoint(rect.right, rect.top),
2741 BPoint(rect.right, rect.top), rightTop);
2744 BPoint(rect.left, rect.top),
2745 BPoint(rect.right, rect.top), top);
2747 rect.top++;
2752 BPoint(rect.left, rect.top),
2753 BPoint(rect.left, rect.bottom - 1), left);
2755 BPoint(rect.left, rect.bottom),
2756 BPoint(rect.left, rect.bottom), leftBottom);
2757 rect.left++;
2762 BPoint(rect.left, rect.bottom),
2763 BPoint(rect.right, rect.bottom), bottom);
2764 rect.bottom--;
2769 BPoint(rect.right, rect.bottom),
2770 BPoint(rect.right, rect.top), right);
2771 rect.right--;
2779 HaikuControlLook::_DrawButtonBackground(BView* view, BRect& rect,
2784 if (!rect.IsValid())
2790 // set clipping constraints to rect
2791 view->ClipToRect(rect);
2799 _DrawFlatButtonBackground(view, rect, updateRect, base, popupIndicator,
2802 BRegion clipping(rect);
2803 _DrawNonFlatButtonBackground(view, rect, updateRect, clipping,
2814 HaikuControlLook::_DrawFlatButtonBackground(BView* view, BRect& rect,
2818 _DrawFrame(view, rect, base, base, base, base, borders);
2819 // Not an actual frame, but the method insets our rect as needed.
2822 view->FillRect(rect);
2825 BRect indicatorRect(rect);
2826 rect.right -= ComposeSpacing(kButtonPopUpIndicatorWidth);
2827 indicatorRect.left = rect.right + 3;
2839 HaikuControlLook::_DrawNonFlatButtonBackground(BView* view, BRect& rect,
2858 _MakeButtonGradient(fillGradient, rect, base, flags, orientation);
2865 BRect leftTopCorner(floorf(rect.left), floorf(rect.top),
2866 floorf(rect.left + leftTopRadius - 2.0),
2867 floorf(rect.top + leftTopRadius - 2.0));
2878 BRect rightTopCorner(floorf(rect.right - rightTopRadius + 2.0),
2879 floorf(rect.top), floorf(rect.right),
2880 floorf(rect.top + rightTopRadius - 2.0));
2891 BRect leftBottomCorner(floorf(rect.left),
2892 floorf(rect.bottom - leftBottomRadius + 2.0),
2893 floorf(rect.left + leftBottomRadius - 2.0),
2894 floorf(rect.bottom));
2905 BRect rightBottomCorner(floorf(rect.right - rightBottomRadius + 2.0),
2906 floorf(rect.bottom - rightBottomRadius + 2.0), floorf(rect.right),
2907 floorf(rect.bottom));
2922 view->AddLine(BPoint(rect.left, rect.top),
2923 BPoint(rect.left, rect.bottom), bevelLightColor);
2924 rect.left++;
2927 view->AddLine(BPoint(rect.left, rect.top),
2928 BPoint(rect.right, rect.top), bevelLightColor);
2929 rect.top++;
2934 view->AddLine(BPoint(rect.left, rect.top),
2935 BPoint(rect.left, rect.bottom), bevelShadowColor);
2936 rect.left++;
2939 view->AddLine(BPoint(rect.left, rect.top),
2940 BPoint(rect.right, rect.top), bevelShadowColor);
2941 rect.top++;
2946 _DrawFrame(view, rect,
2953 BRect indicatorRect(rect);
2954 rect.right -= ComposeSpacing(kButtonPopUpIndicatorWidth);
2955 indicatorRect.left = rect.right + 3;
2995 view->FillRect(rect, fillGradient);
3000 HaikuControlLook::_DrawPopUpMarker(BView* view, const BRect& rect,
3003 BPoint center(roundf((rect.left + rect.right) / 2.0),
3004 roundf((rect.top + rect.bottom) / 2.0));
3005 const float metric = roundf(rect.Width() * 3.125f) / 10.0f,
3029 HaikuControlLook::_DrawMenuFieldBackgroundOutside(BView* view, BRect& rect,
3034 if (!ShouldDraw(view, rect, updateRect))
3041 BRect leftRect(rect);
3044 BRect rightRect(rect);
3069 rect = leftRect;
3071 _DrawMenuFieldBackgroundInside(view, rect, updateRect, leftTopRadius,
3078 HaikuControlLook::_DrawMenuFieldBackgroundInside(BView* view, BRect& rect,
3083 if (!ShouldDraw(view, rect, updateRect))
3089 // set clipping constraints to rect
3090 view->ClipToRect(rect);
3127 _MakeButtonGradient(fillGradient, rect, indicatorBase, flags);
3134 BRect leftTopCorner(floorf(rect.left), floorf(rect.top),
3135 floorf(rect.left + leftTopRadius - 2.0),
3136 floorf(rect.top + leftTopRadius - 2.0));
3162 BRect rightTopCorner(floorf(rect.right - rightTopRadius + 2.0),
3163 floorf(rect.top), floorf(rect.right),
3164 floorf(rect.top + rightTopRadius - 2.0));
3199 BRect leftBottomCorner(floorf(rect.left),
3200 floorf(rect.bottom - leftBottomRadius + 2.0),
3201 floorf(rect.left + leftBottomRadius - 2.0),
3202 floorf(rect.bottom));
3237 BRect rightBottomCorner(floorf(rect.right - rightBottomRadius + 2.0),
3238 floorf(rect.bottom - rightBottomRadius + 2.0), floorf(rect.right),
3239 floorf(rect.bottom));
3263 _DrawFrame(view, rect,
3270 view->FillRect(rect, fillGradient);
3622 HaikuControlLook::_DrawRoundBarCorner(BView* view, BRect& rect,
3630 if (!ShouldDraw(view, rect, updateRect))
3636 gradient.SetStart(rect.LeftTop());
3638 gradient.SetEnd(rect.LeftBottom());
3640 gradient.SetEnd(rect.RightTop());
3642 view->FillEllipse(rect, gradient);
3644 rect.left += leftInset;
3645 rect.top += topInset;
3646 rect.right += rightInset;
3647 rect.bottom += bottomInset;
3652 gradient.SetStart(rect.LeftTop());
3654 gradient.SetEnd(rect.LeftBottom());
3656 gradient.SetEnd(rect.RightTop());
3658 view->FillEllipse(rect, gradient);
3660 rect.left += leftInset;
3661 rect.top += topInset;
3662 rect.right += rightInset;
3663 rect.bottom += bottomInset;
3668 gradient.SetStart(rect.LeftTop());
3670 gradient.SetEnd(rect.LeftBottom());
3672 gradient.SetEnd(rect.RightTop());
3674 view->FillEllipse(rect, gradient);
3842 HaikuControlLook::_FillGradient(BView* view, const BRect& rect,
3847 _MakeGradient(gradient, rect, base, topTint, bottomTint, orientation);
3848 view->FillRect(rect, gradient);
3853 HaikuControlLook::_FillGlossyGradient(BView* view, const BRect& rect,
3858 _MakeGlossyGradient(gradient, rect, base, topTint, middle1Tint,
3860 view->FillRect(rect, gradient);
3865 HaikuControlLook::_MakeGradient(BGradientLinear& gradient, const BRect& rect,
3871 gradient.SetStart(rect.LeftTop());
3873 gradient.SetEnd(rect.LeftBottom());
3875 gradient.SetEnd(rect.RightTop());
3880 HaikuControlLook::_MakeGlossyGradient(BGradientLinear& gradient, const BRect& rect,
3889 gradient.SetStart(rect.LeftTop());
3891 gradient.SetEnd(rect.LeftBottom());
3893 gradient.SetEnd(rect.RightTop());
3898 HaikuControlLook::_MakeButtonGradient(BGradientLinear& gradient, BRect& rect,
3924 _MakeGradient(gradient, rect, base, topTint, bottomTint, orientation);
3926 _MakeGlossyGradient(gradient, rect, base, topTint, middleTint1,