| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2007 Apple Inc. | 2 * Copyright (C) 2007 Apple Inc. |
| 3 * Copyright (C) 2007 Alp Toker <alp@atoker.com> | 3 * Copyright (C) 2007 Alp Toker <alp@atoker.com> |
| 4 * Copyright (C) 2008 Collabora Ltd. | 4 * Copyright (C) 2008 Collabora Ltd. |
| 5 * Copyright (C) 2008, 2009 Google Inc. | 5 * Copyright (C) 2008, 2009 Google Inc. |
| 6 * Copyright (C) 2009 Kenneth Rohde Christiansen | 6 * Copyright (C) 2009 Kenneth Rohde Christiansen |
| 7 * | 7 * |
| 8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
| 9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
| 10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
| (...skipping 24 matching lines...) Expand all Loading... |
| 35 #include "platform/graphics/GraphicsContextStateSaver.h" | 35 #include "platform/graphics/GraphicsContextStateSaver.h" |
| 36 #include "public/platform/Platform.h" | 36 #include "public/platform/Platform.h" |
| 37 #include "public/platform/WebRect.h" | 37 #include "public/platform/WebRect.h" |
| 38 #include "public/platform/WebThemeEngine.h" | 38 #include "public/platform/WebThemeEngine.h" |
| 39 | 39 |
| 40 namespace blink { | 40 namespace blink { |
| 41 | 41 |
| 42 namespace { | 42 namespace { |
| 43 | 43 |
| 44 const unsigned defaultButtonBackgroundColor = 0xffdddddd; | 44 const unsigned defaultButtonBackgroundColor = 0xffdddddd; |
| 45 const unsigned dropdownMenuListArrowPadding = 3; |
| 45 | 46 |
| 46 bool useMockTheme() | 47 bool useMockTheme() |
| 47 { | 48 { |
| 48 return LayoutTestSupport::isMockThemeEnabledForTest(); | 49 return LayoutTestSupport::isMockThemeEnabledForTest(); |
| 49 } | 50 } |
| 50 | 51 |
| 51 WebThemeEngine::State getWebThemeState(const LayoutObject& o) | 52 WebThemeEngine::State getWebThemeState(const LayoutObject& o) |
| 52 { | 53 { |
| 53 if (!LayoutTheme::isEnabled(o)) | 54 if (!LayoutTheme::isEnabled(o)) |
| 54 return WebThemeEngine::StateDisabled; | 55 return WebThemeEngine::StateDisabled; |
| (...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 255 | 256 |
| 256 void ThemePainterDefault::setupMenuListArrow(const LayoutBox& box, const IntRect
& rect, WebThemeEngine::ExtraParams& extraParams) | 257 void ThemePainterDefault::setupMenuListArrow(const LayoutBox& box, const IntRect
& rect, WebThemeEngine::ExtraParams& extraParams) |
| 257 { | 258 { |
| 258 const int right = rect.x() + rect.width(); | 259 const int right = rect.x() + rect.width(); |
| 259 const int middle = rect.y() + rect.height() / 2; | 260 const int middle = rect.y() + rect.height() / 2; |
| 260 | 261 |
| 261 extraParams.menuList.arrowY = middle; | 262 extraParams.menuList.arrowY = middle; |
| 262 if (useMockTheme()) { | 263 if (useMockTheme()) { |
| 263 // The size and position of the drop-down button is different between | 264 // The size and position of the drop-down button is different between |
| 264 // the mock theme and the regular aura theme. | 265 // the mock theme and the regular aura theme. |
| 265 int spacingTop = (box.borderTop() + box.paddingTop()).toInt(); | 266 int extraPadding = dropdownMenuListArrowPadding * box.styleRef().effecti
veZoom(); |
| 266 int spacingBottom = (box.borderBottom() + box.paddingBottom()).toInt(); | 267 // The width available for the arrow is based on the padding provided |
| 267 int spacingRight = (box.borderRight() + box.paddingRight()).toInt(); | 268 // in the child LayoutBox. |
| 268 extraParams.menuList.arrowX = (box.styleRef().direction() == RTL) ? rect
.x() + 4 + spacingRight: right - 10 - spacingRight; | 269 int arrowBoxWidth = ((box.styleRef().direction() == RTL) ? box.firstChil
dBox()->paddingLeft() : box.firstChildBox()->paddingRight()).toInt(); |
| 269 extraParams.menuList.arrowSize = rect.height() - spacingBottom - spacing
Top; | 270 int arrowSize = std::min(arrowBoxWidth, rect.height()) - 2 * extraPaddin
g; |
| 271 extraParams.menuList.arrowX = (box.styleRef().direction() == RTL) ? rect
.x() + extraPadding + (arrowSize / 2) : right - (arrowSize / 2) - extraPadding; |
| 272 extraParams.menuList.arrowSize = arrowSize; |
| 270 } else { | 273 } else { |
| 271 const int arrowSize = 6; | 274 const int arrowSize = 6; |
| 272 const int arrowPadding = 6; | 275 const int arrowPadding = 6; |
| 273 extraParams.menuList.arrowX = (box.styleRef().direction() == RTL) | 276 extraParams.menuList.arrowX = (box.styleRef().direction() == RTL) |
| 274 ? rect.x() + arrowPadding * box.styleRef().effectiveZoom() + box.bor
derLeft() | 277 ? rect.x() + arrowPadding * box.styleRef().effectiveZoom() + box.bor
derLeft() |
| 275 : right - (arrowSize + arrowPadding) * box.styleRef().effectiveZoom(
) - box.borderRight(); | 278 : right - (arrowSize + arrowPadding) * box.styleRef().effectiveZoom(
) - box.borderRight(); |
| 276 extraParams.menuList.arrowSize = arrowSize * box.styleRef().effectiveZoo
m(); | 279 extraParams.menuList.arrowSize = arrowSize * box.styleRef().effectiveZoo
m(); |
| 277 } | 280 } |
| 278 extraParams.menuList.arrowColor = box.resolveColor(CSSPropertyColor).rgb(); | 281 extraParams.menuList.arrowColor = box.resolveColor(CSSPropertyColor).rgb(); |
| 279 } | 282 } |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 392 cancelButtonSize, cancelButtonSize); | 395 cancelButtonSize, cancelButtonSize); |
| 393 IntRect paintingRect = convertToPaintingRect(inputLayoutBox, cancelButtonObj
ect, cancelButtonRect, r); | 396 IntRect paintingRect = convertToPaintingRect(inputLayoutBox, cancelButtonObj
ect, cancelButtonRect, r); |
| 394 | 397 |
| 395 DEFINE_STATIC_REF(Image, cancelImage, (Image::loadPlatformResource("searchCa
ncel"))); | 398 DEFINE_STATIC_REF(Image, cancelImage, (Image::loadPlatformResource("searchCa
ncel"))); |
| 396 DEFINE_STATIC_REF(Image, cancelPressedImage, (Image::loadPlatformResource("s
earchCancelPressed"))); | 399 DEFINE_STATIC_REF(Image, cancelPressedImage, (Image::loadPlatformResource("s
earchCancelPressed"))); |
| 397 paintInfo.context.drawImage(LayoutTheme::isPressed(cancelButtonObject) ? can
celPressedImage : cancelImage, paintingRect); | 400 paintInfo.context.drawImage(LayoutTheme::isPressed(cancelButtonObject) ? can
celPressedImage : cancelImage, paintingRect); |
| 398 return false; | 401 return false; |
| 399 } | 402 } |
| 400 | 403 |
| 401 } // namespace blink | 404 } // namespace blink |
| OLD | NEW |