| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. | 2 * Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2008, 2009 Google, Inc. | 3 * Copyright (C) 2008, 2009 Google, Inc. |
| 4 * | 4 * |
| 5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
| 6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
| 7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
| 8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
| 9 * | 9 * |
| 10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 56 #import "platform/text/PlatformLocale.h" | 56 #import "platform/text/PlatformLocale.h" |
| 57 #import "platform/text/StringTruncator.h" | 57 #import "platform/text/StringTruncator.h" |
| 58 | 58 |
| 59 #import <AvailabilityMacros.h> | 59 #import <AvailabilityMacros.h> |
| 60 #import <Carbon/Carbon.h> | 60 #import <Carbon/Carbon.h> |
| 61 #import <Cocoa/Cocoa.h> | 61 #import <Cocoa/Cocoa.h> |
| 62 #import <math.h> | 62 #import <math.h> |
| 63 #import <wtf/RetainPtr.h> | 63 #import <wtf/RetainPtr.h> |
| 64 #import <wtf/StdLibExtras.h> | 64 #import <wtf/StdLibExtras.h> |
| 65 | 65 |
| 66 using namespace std; | |
| 67 | |
| 68 // The methods in this file are specific to the Mac OS X platform. | 66 // The methods in this file are specific to the Mac OS X platform. |
| 69 | 67 |
| 70 // We estimate the animation rate of a Mac OS X progress bar is 33 fps. | 68 // We estimate the animation rate of a Mac OS X progress bar is 33 fps. |
| 71 // Hard code the value here because we haven't found API for it. | 69 // Hard code the value here because we haven't found API for it. |
| 72 const double progressAnimationFrameRate = 0.033; | 70 const double progressAnimationFrameRate = 0.033; |
| 73 | 71 |
| 74 // Mac OS X progress bar animation seems to have 256 frames. | 72 // Mac OS X progress bar animation seems to have 256 frames. |
| 75 const double progressAnimationNumFrames = 256; | 73 const double progressAnimationNumFrames = 256; |
| 76 | 74 |
| 77 @interface WebCoreRenderThemeNotificationObserver : NSObject | 75 @interface WebCoreRenderThemeNotificationObserver : NSObject |
| (...skipping 999 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1077 RenderProgress* renderProgress = toRenderProgress(renderObject); | 1075 RenderProgress* renderProgress = toRenderProgress(renderObject); |
| 1078 HIThemeTrackDrawInfo trackInfo; | 1076 HIThemeTrackDrawInfo trackInfo; |
| 1079 trackInfo.version = 0; | 1077 trackInfo.version = 0; |
| 1080 if (controlSize == NSRegularControlSize) | 1078 if (controlSize == NSRegularControlSize) |
| 1081 trackInfo.kind = renderProgress->position() < 0 ? kThemeLargeIndetermina
teBar : kThemeLargeProgressBar; | 1079 trackInfo.kind = renderProgress->position() < 0 ? kThemeLargeIndetermina
teBar : kThemeLargeProgressBar; |
| 1082 else | 1080 else |
| 1083 trackInfo.kind = renderProgress->position() < 0 ? kThemeMediumIndetermin
ateBar : kThemeMediumProgressBar; | 1081 trackInfo.kind = renderProgress->position() < 0 ? kThemeMediumIndetermin
ateBar : kThemeMediumProgressBar; |
| 1084 | 1082 |
| 1085 trackInfo.bounds = IntRect(IntPoint(), inflatedRect.size()); | 1083 trackInfo.bounds = IntRect(IntPoint(), inflatedRect.size()); |
| 1086 trackInfo.min = 0; | 1084 trackInfo.min = 0; |
| 1087 trackInfo.max = numeric_limits<SInt32>::max(); | 1085 trackInfo.max = std::numeric_limits<SInt32>::max(); |
| 1088 trackInfo.value = lround(renderProgress->position() * nextafter(trackInfo.ma
x, 0)); | 1086 trackInfo.value = lround(renderProgress->position() * nextafter(trackInfo.ma
x, 0)); |
| 1089 trackInfo.trackInfo.progress.phase = lround(renderProgress->animationProgres
s() * nextafter(progressAnimationNumFrames, 0)); | 1087 trackInfo.trackInfo.progress.phase = lround(renderProgress->animationProgres
s() * nextafter(progressAnimationNumFrames, 0)); |
| 1090 trackInfo.attributes = kThemeTrackHorizontal; | 1088 trackInfo.attributes = kThemeTrackHorizontal; |
| 1091 trackInfo.enableState = isActive(renderObject) ? kThemeTrackActive : kThemeT
rackInactive; | 1089 trackInfo.enableState = isActive(renderObject) ? kThemeTrackActive : kThemeT
rackInactive; |
| 1092 trackInfo.reserved = 0; | 1090 trackInfo.reserved = 0; |
| 1093 trackInfo.filler1 = 0; | 1091 trackInfo.filler1 = 0; |
| 1094 | 1092 |
| 1095 OwnPtr<ImageBuffer> imageBuffer = ImageBuffer::create(inflatedRect.size()); | 1093 OwnPtr<ImageBuffer> imageBuffer = ImageBuffer::create(inflatedRect.size()); |
| 1096 if (!imageBuffer) | 1094 if (!imageBuffer) |
| 1097 return true; | 1095 return true; |
| (...skipping 26 matching lines...) Expand all Loading... |
| 1124 const int styledPopupPaddingTop = 1; | 1122 const int styledPopupPaddingTop = 1; |
| 1125 const int styledPopupPaddingBottom = 2; | 1123 const int styledPopupPaddingBottom = 2; |
| 1126 | 1124 |
| 1127 bool RenderThemeChromiumMac::paintMenuListButton(RenderObject* o, const PaintInf
o& paintInfo, const IntRect& r) | 1125 bool RenderThemeChromiumMac::paintMenuListButton(RenderObject* o, const PaintInf
o& paintInfo, const IntRect& r) |
| 1128 { | 1126 { |
| 1129 IntRect bounds = IntRect(r.x() + o->style()->borderLeftWidth(), | 1127 IntRect bounds = IntRect(r.x() + o->style()->borderLeftWidth(), |
| 1130 r.y() + o->style()->borderTopWidth(), | 1128 r.y() + o->style()->borderTopWidth(), |
| 1131 r.width() - o->style()->borderLeftWidth() - o->styl
e()->borderRightWidth(), | 1129 r.width() - o->style()->borderLeftWidth() - o->styl
e()->borderRightWidth(), |
| 1132 r.height() - o->style()->borderTopWidth() - o->styl
e()->borderBottomWidth()); | 1130 r.height() - o->style()->borderTopWidth() - o->styl
e()->borderBottomWidth()); |
| 1133 // Since we actually know the size of the control here, we restrict the font
scale to make sure the arrows will fit vertically in the bounds | 1131 // Since we actually know the size of the control here, we restrict the font
scale to make sure the arrows will fit vertically in the bounds |
| 1134 float fontScale = min(o->style()->fontSize() / baseFontSize, bounds.height()
/ (baseArrowHeight * 2 + baseSpaceBetweenArrows)); | 1132 float fontScale = std::min(o->style()->fontSize() / baseFontSize, bounds.hei
ght() / (baseArrowHeight * 2 + baseSpaceBetweenArrows)); |
| 1135 float centerY = bounds.y() + bounds.height() / 2.0f; | 1133 float centerY = bounds.y() + bounds.height() / 2.0f; |
| 1136 float arrowHeight = baseArrowHeight * fontScale; | 1134 float arrowHeight = baseArrowHeight * fontScale; |
| 1137 float arrowWidth = baseArrowWidth * fontScale; | 1135 float arrowWidth = baseArrowWidth * fontScale; |
| 1138 float leftEdge = bounds.maxX() - arrowPaddingRight * o->style()->effectiveZo
om() - arrowWidth; | 1136 float leftEdge = bounds.maxX() - arrowPaddingRight * o->style()->effectiveZo
om() - arrowWidth; |
| 1139 float spaceBetweenArrows = baseSpaceBetweenArrows * fontScale; | 1137 float spaceBetweenArrows = baseSpaceBetweenArrows * fontScale; |
| 1140 | 1138 |
| 1141 if (bounds.width() < arrowWidth + arrowPaddingLeft * o->style()->effectiveZo
om()) | 1139 if (bounds.width() < arrowWidth + arrowPaddingLeft * o->style()->effectiveZo
om()) |
| 1142 return false; | 1140 return false; |
| 1143 | 1141 |
| 1144 GraphicsContextStateSaver stateSaver(*paintInfo.context); | 1142 GraphicsContextStateSaver stateSaver(*paintInfo.context); |
| (...skipping 760 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1905 | 1903 |
| 1906 bool RenderThemeChromiumMac::shouldUseFallbackTheme(RenderStyle* style) const | 1904 bool RenderThemeChromiumMac::shouldUseFallbackTheme(RenderStyle* style) const |
| 1907 { | 1905 { |
| 1908 ControlPart part = style->appearance(); | 1906 ControlPart part = style->appearance(); |
| 1909 if (part == CheckboxPart || part == RadioPart) | 1907 if (part == CheckboxPart || part == RadioPart) |
| 1910 return style->effectiveZoom() != 1; | 1908 return style->effectiveZoom() != 1; |
| 1911 return false; | 1909 return false; |
| 1912 } | 1910 } |
| 1913 | 1911 |
| 1914 } // namespace WebCore | 1912 } // namespace WebCore |
| OLD | NEW |