18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* 28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This file is part of the theme implementation for form controls in WebCore. 38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 4e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Computer, Inc. 58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This library is free software; you can redistribute it and/or 78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * modify it under the terms of the GNU Library General Public 88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * License as published by the Free Software Foundation; either 98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * version 2 of the License, or (at your option) any later version. 108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This library is distributed in the hope that it will be useful, 128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * but WITHOUT ANY WARRANTY; without even the implied warranty of 138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Library General Public License for more details. 158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * You should have received a copy of the GNU Library General Public License 178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * along with this library; see the file COPYING.LIB. If not, write to 188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Boston, MA 02110-1301, USA. 208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */ 228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef RenderThemeMac_h 248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#define RenderThemeMac_h 258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#import "RenderTheme.h" 278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#import <wtf/HashMap.h> 288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#import <wtf/RetainPtr.h> 298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 30dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockclass RenderProgress; 31dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifdef __OBJC__ 338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project@class WebCoreRenderThemeNotificationObserver; 348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#else 358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectclass WebCoreRenderThemeNotificationObserver; 368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif 378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectnamespace WebCore { 398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectclass RenderStyle; 418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectclass RenderThemeMac : public RenderTheme { 438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectpublic: 440bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch static PassRefPtr<RenderTheme> create(); 458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project // A method asking if the control changes its tint when the window has focus or not. 478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual bool controlSupportsTints(const RenderObject*) const; 488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project // A general method asking if any control tinting is supported at all. 508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual bool supportsControlTints() const { return true; } 518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void adjustRepaintRect(const RenderObject*, IntRect&); 538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual bool isControlStyled(const RenderStyle*, const BorderData&, 558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project const FillLayer&, const Color& backgroundColor) const; 568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual Color platformActiveSelectionBackgroundColor() const; 588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual Color platformInactiveSelectionBackgroundColor() const; 59635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project virtual Color platformActiveListBoxSelectionBackgroundColor() const; 60635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project virtual Color platformActiveListBoxSelectionForegroundColor() const; 61635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project virtual Color platformInactiveListBoxSelectionBackgroundColor() const; 62635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project virtual Color platformInactiveListBoxSelectionForegroundColor() const; 630bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch virtual Color platformFocusRingColor() const; 64635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project 658f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian virtual ScrollbarControlSize scrollbarControlSizeForPart(ControlPart) { return SmallScrollbar; } 668f72e70a9fd78eec56623b3a62e68f16b7b27e28Feng Qian 678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void platformColorsDidChange(); 688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project // System fonts. 708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void systemFont(int cssValueId, FontDescription&) const; 718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual int minimumMenuListSize(RenderStyle*) const; 738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void adjustSliderThumbSize(RenderObject*) const; 758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual int popupInternalPaddingLeft(RenderStyle*) const; 778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual int popupInternalPaddingRight(RenderStyle*) const; 788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual int popupInternalPaddingTop(RenderStyle*) const; 798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual int popupInternalPaddingBottom(RenderStyle*) const; 808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 81ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintCapsLockIndicator(RenderObject*, const PaintInfo&, const IntRect&); 828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 83545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#if ENABLE(METER_TAG) 84545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch virtual IntSize meterSizeForBounds(const RenderMeter*, const IntRect&) const; 85ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintMeter(RenderObject*, const PaintInfo&, const IntRect&); 862daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch virtual bool supportsMeter(ControlPart) const; 87545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#endif 88545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 89dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#if ENABLE(PROGRESS_TAG) 90dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block // Returns the repeat interval of the animation for the progress bar. 91dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block virtual double animationRepeatIntervalForProgressBar(RenderProgress*) const; 92dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block // Returns the duration of the animation for the progress bar. 93dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block virtual double animationDurationForProgressBar(RenderProgress*) const; 94dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#endif 95dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual Color systemColor(int cssValueId) const; 9721939df44de1705786c545cd1bf519d47250322dBen Murdoch // Controls color values returned from platformFocusRingColor(). systemColor() will be used when false. 9821939df44de1705786c545cd1bf519d47250322dBen Murdoch virtual bool usesTestModeFocusRingColor() const; 9921939df44de1705786c545cd1bf519d47250322dBen Murdoch // A view associated to the contained document. Subclasses may not have such a view and return a fake. 10021939df44de1705786c545cd1bf519d47250322dBen Murdoch virtual NSView* documentViewFor(RenderObject*) const; 1018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectprotected: 10221939df44de1705786c545cd1bf519d47250322dBen Murdoch RenderThemeMac(); 10321939df44de1705786c545cd1bf519d47250322dBen Murdoch virtual ~RenderThemeMac(); 10421939df44de1705786c545cd1bf519d47250322dBen Murdoch 105635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project virtual bool supportsSelectionForegroundColors() const { return false; } 106635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project 107ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintTextField(RenderObject*, const PaintInfo&, const IntRect&); 1088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void adjustTextFieldStyle(CSSStyleSelector*, RenderStyle*, Element*) const; 1098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 110ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintTextArea(RenderObject*, const PaintInfo&, const IntRect&); 1118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void adjustTextAreaStyle(CSSStyleSelector*, RenderStyle*, Element*) const; 1128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 113ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintMenuList(RenderObject*, const PaintInfo&, const IntRect&); 1148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void adjustMenuListStyle(CSSStyleSelector*, RenderStyle*, Element*) const; 1158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 116ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintMenuListButton(RenderObject*, const PaintInfo&, const IntRect&); 1178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void adjustMenuListButtonStyle(CSSStyleSelector*, RenderStyle*, Element*) const; 1188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 119dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#if ENABLE(PROGRESS_TAG) 120dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block virtual void adjustProgressBarStyle(CSSStyleSelector*, RenderStyle*, Element*) const; 121ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintProgressBar(RenderObject*, const PaintInfo&, const IntRect&); 122dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#endif 123dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 124ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintSliderTrack(RenderObject*, const PaintInfo&, const IntRect&); 1258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void adjustSliderTrackStyle(CSSStyleSelector*, RenderStyle*, Element*) const; 1268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 127ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintSliderThumb(RenderObject*, const PaintInfo&, const IntRect&); 1288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void adjustSliderThumbStyle(CSSStyleSelector*, RenderStyle*, Element*) const; 1298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 130ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintSearchField(RenderObject*, const PaintInfo&, const IntRect&); 1318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void adjustSearchFieldStyle(CSSStyleSelector*, RenderStyle*, Element*) const; 1328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void adjustSearchFieldCancelButtonStyle(CSSStyleSelector*, RenderStyle*, Element*) const; 134ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintSearchFieldCancelButton(RenderObject*, const PaintInfo&, const IntRect&); 1358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void adjustSearchFieldDecorationStyle(CSSStyleSelector*, RenderStyle*, Element*) const; 137ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintSearchFieldDecoration(RenderObject*, const PaintInfo&, const IntRect&); 1388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void adjustSearchFieldResultsDecorationStyle(CSSStyleSelector*, RenderStyle*, Element*) const; 140ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintSearchFieldResultsDecoration(RenderObject*, const PaintInfo&, const IntRect&); 1418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project virtual void adjustSearchFieldResultsButtonStyle(CSSStyleSelector*, RenderStyle*, Element*) const; 143ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintSearchFieldResultsButton(RenderObject*, const PaintInfo&, const IntRect&); 1448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 145635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project#if ENABLE(VIDEO) 146ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintMediaFullscreenButton(RenderObject*, const PaintInfo&, const IntRect&); 147ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintMediaPlayButton(RenderObject*, const PaintInfo&, const IntRect&); 148ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintMediaMuteButton(RenderObject*, const PaintInfo&, const IntRect&); 149ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintMediaSeekBackButton(RenderObject*, const PaintInfo&, const IntRect&); 150ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintMediaSeekForwardButton(RenderObject*, const PaintInfo&, const IntRect&); 151ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintMediaSliderTrack(RenderObject*, const PaintInfo&, const IntRect&); 152ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintMediaSliderThumb(RenderObject*, const PaintInfo&, const IntRect&); 153ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintMediaRewindButton(RenderObject*, const PaintInfo&, const IntRect&); 154ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintMediaReturnToRealtimeButton(RenderObject*, const PaintInfo&, const IntRect&); 155ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintMediaToggleClosedCaptionsButton(RenderObject*, const PaintInfo&, const IntRect&); 156ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintMediaControlsBackground(RenderObject*, const PaintInfo&, const IntRect&); 157ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintMediaCurrentTime(RenderObject*, const PaintInfo&, const IntRect&); 158ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintMediaTimeRemaining(RenderObject*, const PaintInfo&, const IntRect&); 159e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke virtual bool paintMediaVolumeSliderContainer(RenderObject*, const PaintInfo&, const IntRect&); 160e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke virtual bool paintMediaVolumeSliderTrack(RenderObject*, const PaintInfo&, const IntRect&); 161e458d70a0d18538346f41b503114c9ebe6b2ce12Leon Clarke virtual bool paintMediaVolumeSliderThumb(RenderObject*, const PaintInfo&, const IntRect&); 162635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project 163635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project // Media controls 164635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project virtual String extraMediaControlsStyleSheet(); 1652bde8e466a4451c7319e3a072d118917957d6554Steve Block#if ENABLE(FULLSCREEN_API) 1662bde8e466a4451c7319e3a072d118917957d6554Steve Block virtual String extraFullScreenStyleSheet(); 1672bde8e466a4451c7319e3a072d118917957d6554Steve Block#endif 168231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 1692daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch virtual bool supportsClosedCaptioning() const { return true; } 1702daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch virtual bool hasOwnDisabledStateHandlingFor(ControlPart) const; 1712fc2651226baac27029e38c9d6ef883fa32084dbSteve Block virtual bool usesMediaControlStatusDisplay(); 1722daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch virtual bool usesMediaControlVolumeSlider() const; 17321939df44de1705786c545cd1bf519d47250322dBen Murdoch virtual void adjustMediaSliderThumbSize(RenderObject*) const; 17481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch virtual IntPoint volumeSliderOffsetFromMuteButton(RenderBox*, const IntSize&) const; 175635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project#endif 1762fc2651226baac27029e38c9d6ef883fa32084dbSteve Block 1772fc2651226baac27029e38c9d6ef883fa32084dbSteve Block virtual bool shouldShowPlaceholderWhenFocused() const; 1788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectprivate: 1800bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch 1818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project IntRect inflateRect(const IntRect&, const IntSize&, const int* margins, float zoomLevel = 1.0f) const; 1828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 183635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project FloatRect convertToPaintingRect(const RenderObject* inputRenderer, const RenderObject* partRenderer, const FloatRect& inputRect, const IntRect& r) const; 184635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project 1858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project // Get the control size based off the font. Used by some of the controls (like buttons). 1868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NSControlSize controlSizeForFont(RenderStyle*) const; 1878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NSControlSize controlSizeForSystemFont(RenderStyle*) const; 1888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void setControlSize(NSCell*, const IntSize* sizes, const IntSize& minSize, float zoomLevel = 1.0f); 1898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void setSizeFromFont(RenderStyle*, const IntSize* sizes) const; 1908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project IntSize sizeForFont(RenderStyle*, const IntSize* sizes) const; 1918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project IntSize sizeForSystemFont(RenderStyle*, const IntSize* sizes) const; 1928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void setFontFromControlSize(CSSStyleSelector*, RenderStyle*, NSControlSize) const; 1938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 1948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void updateCheckedState(NSCell*, const RenderObject*); 1958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void updateEnabledState(NSCell*, const RenderObject*); 1968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void updateFocusedState(NSCell*, const RenderObject*); 1978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void updatePressedState(NSCell*, const RenderObject*); 19821939df44de1705786c545cd1bf519d47250322dBen Murdoch // An optional hook for subclasses to update the control tint of NSCell. 19921939df44de1705786c545cd1bf519d47250322dBen Murdoch virtual void updateActiveState(NSCell*, const RenderObject*) {} 2008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project // Helpers for adjusting appearance and for painting 2028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void setPopupButtonCellState(const RenderObject*, const IntRect&); 2048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project const IntSize* popupButtonSizes() const; 2058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project const int* popupButtonMargins() const; 2068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project const int* popupButtonPadding(NSControlSize) const; 207ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block void paintMenuListButtonGradients(RenderObject*, const PaintInfo&, const IntRect&); 2088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project const IntSize* menuListSizes() const; 2098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project const IntSize* searchFieldSizes() const; 2118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project const IntSize* cancelButtonSizes() const; 2128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project const IntSize* resultsButtonSizes() const; 2138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void setSearchCellState(RenderObject*, const IntRect&); 2148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project void setSearchFieldSize(RenderStyle*) const; 2158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NSPopUpButtonCell* popupButton() const; 2178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NSSearchFieldCell* search() const; 2188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NSMenu* searchMenuTemplate() const; 2198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NSSliderCell* sliderThumbHorizontal() const; 2208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project NSSliderCell* sliderThumbVertical() const; 2218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 222545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#if ENABLE(METER_TAG) 223545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch NSLevelIndicatorStyle levelIndicatorStyleFor(ControlPart) const; 224545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch NSLevelIndicatorCell* levelIndicatorFor(const RenderMeter*) const; 225545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch#endif 226545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch 2278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectprivate: 2288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project mutable RetainPtr<NSPopUpButtonCell> m_popupButton; 2298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project mutable RetainPtr<NSSearchFieldCell> m_search; 2308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project mutable RetainPtr<NSMenu> m_searchMenuTemplate; 2318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project mutable RetainPtr<NSSliderCell> m_sliderThumbHorizontal; 2328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project mutable RetainPtr<NSSliderCell> m_sliderThumbVertical; 233545e470e52f0ac6a3a072bf559c796b42c6066b6Ben Murdoch mutable RetainPtr<NSLevelIndicatorCell> m_levelIndicator; 2348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project bool m_isSliderThumbHorizontalPressed; 2368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project bool m_isSliderThumbVerticalPressed; 2378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project mutable HashMap<int, RGBA32> m_systemColorCache; 2398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project RetainPtr<WebCoreRenderThemeNotificationObserver> m_notificationObserver; 2418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}; 2428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project} // namespace WebCore 2448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project 2458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif // RenderThemeMac_h 246