1 /* 2 * This file is part of the WebKit project. 3 * 4 * Copyright (C) 2006 Apple Computer, Inc. 5 * Copyright (C) 2006 Michael Emmel mike.emmel@gmail.com 6 * Copyright (C) 2007 Holger Hans Peter Freyther 7 * Copyright (C) 2007 Alp Toker <alp@atoker.com> 8 * Copyright (C) 2008, 2009 Google, Inc. 9 * All rights reserved. 10 * Copyright (C) 2009 Kenneth Rohde Christiansen 11 * 12 * This library is free software; you can redistribute it and/or 13 * modify it under the terms of the GNU Library General Public 14 * License as published by the Free Software Foundation; either 15 * version 2 of the License, or (at your option) any later version. 16 * 17 * This library is distributed in the hope that it will be useful, 18 * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 * Library General Public License for more details. 21 * 22 * You should have received a copy of the GNU Library General Public License 23 * along with this library; see the file COPYING.LIB. If not, write to 24 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 25 * Boston, MA 02110-1301, USA. 26 * 27 */ 28 29 #ifndef RenderThemeChromiumDefault_h 30 #define RenderThemeChromiumDefault_h 31 32 #include "core/rendering/RenderThemeChromiumSkia.h" 33 34 namespace WebCore { 35 36 class RenderThemeChromiumDefault : public RenderThemeChromiumSkia { 37 public: 38 static PassRefPtr<RenderTheme> create(); 39 virtual String extraDefaultStyleSheet(); 40 41 virtual Color systemColor(CSSValueID) const; 42 43 // A method asking if the control changes its tint when the window has focus or not. 44 virtual bool controlSupportsTints(const RenderObject*) const; 45 46 virtual bool supportsFocusRing(const RenderStyle*) const OVERRIDE; 47 48 // List Box selection color 49 virtual Color activeListBoxSelectionBackgroundColor() const; 50 virtual Color activeListBoxSelectionForegroundColor() const; 51 virtual Color inactiveListBoxSelectionBackgroundColor() const; 52 virtual Color inactiveListBoxSelectionForegroundColor() const; 53 54 virtual Color platformActiveSelectionBackgroundColor() const; 55 virtual Color platformInactiveSelectionBackgroundColor() const; 56 virtual Color platformActiveSelectionForegroundColor() const; 57 virtual Color platformInactiveSelectionForegroundColor() const; 58 59 virtual IntSize sliderTickSize() const OVERRIDE; 60 virtual int sliderTickOffsetFromTrackCenter() const OVERRIDE; 61 virtual void adjustSliderThumbSize(RenderStyle*, Element*) const; 62 63 static void setCaretBlinkInterval(double); 64 virtual double caretBlinkIntervalInternal() const; 65 66 virtual bool paintCheckbox(RenderObject*, const PaintInfo&, const IntRect&); 67 virtual void setCheckboxSize(RenderStyle*) const; 68 69 virtual bool paintRadio(RenderObject*, const PaintInfo&, const IntRect&); 70 virtual void setRadioSize(RenderStyle*) const; 71 72 virtual bool paintButton(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 73 virtual bool paintTextField(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 74 virtual bool paintMenuList(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 75 virtual bool paintMenuListButton(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 76 virtual bool paintSliderTrack(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 77 virtual bool paintSliderThumb(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE; 78 79 virtual void adjustInnerSpinButtonStyle(RenderStyle*, Element*) const; 80 virtual bool paintInnerSpinButton(RenderObject*, const PaintInfo&, const IntRect&); 81 popsMenuBySpaceOrReturn()82 virtual bool popsMenuBySpaceOrReturn() const OVERRIDE { return true; } 83 84 virtual bool paintProgressBar(RenderObject*, const PaintInfo&, const IntRect&); 85 86 virtual bool shouldOpenPickerWithF4Key() const OVERRIDE; 87 88 static void setSelectionColors(unsigned activeBackgroundColor, unsigned activeForegroundColor, unsigned inactiveBackgroundColor, unsigned inactiveForegroundColor); 89 90 protected: 91 RenderThemeChromiumDefault(); 92 virtual ~RenderThemeChromiumDefault(); 93 virtual bool shouldUseFallbackTheme(RenderStyle*) const OVERRIDE; 94 95 private: 96 // A general method asking if any control tinting is supported at all. 97 virtual bool supportsControlTints() const; 98 99 static double m_caretBlinkInterval; 100 101 static unsigned m_activeSelectionBackgroundColor; 102 static unsigned m_activeSelectionForegroundColor; 103 static unsigned m_inactiveSelectionBackgroundColor; 104 static unsigned m_inactiveSelectionForegroundColor; 105 }; 106 107 } // namespace WebCore 108 109 #endif // RenderThemeChromiumDefault_h 110