1231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block/* 2231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * This file is part of the WebKit project. 3231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * 4231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * Copyright (C) 2009 Maxime Simon <simon.maxime@gmail.com> 5231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * 6231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * All rights reserved. 7231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * 8231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * This library is free software; you can redistribute it and/or 9231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * modify it under the terms of the GNU Library General Public 10231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * License as published by the Free Software Foundation; either 11231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * version 2 of the License, or (at your option) any later version. 12231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * 13231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * This library is distributed in the hope that it will be useful, 14231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * but WITHOUT ANY WARRANTY; without even the implied warranty of 15231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * Library General Public License for more details. 17231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * 18231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * You should have received a copy of the GNU Library General Public License 19231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * along with this library; see the file COPYING.LIB. If not, write to 20231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 21231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * Boston, MA 02111-1307, USA. 22231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * 23231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block */ 24231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 25231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#ifndef RenderThemeHaiku_h 26231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#define RenderThemeHaiku_h 27231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 28231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#include "RenderTheme.h" 29231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 30231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Blocknamespace WebCore { 31231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 32231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block class RenderThemeHaiku : public RenderTheme { 33231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block private: 34231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block RenderThemeHaiku(); 35231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block virtual ~RenderThemeHaiku(); 36231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 37231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block public: 38231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block static PassRefPtr<RenderTheme> create(); 39231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 40231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block // A method asking if the theme's controls actually care about redrawing when hovered. 41231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block virtual bool supportsHover(const RenderStyle* style) const { return false; } 42231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 43231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block // A method asking if the theme is able to draw the focus ring. 44231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block virtual bool supportsFocusRing(const RenderStyle*) const; 45231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 46231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block // The platform selection color. 47231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block virtual Color platformActiveSelectionBackgroundColor() const; 48231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block virtual Color platformInactiveSelectionBackgroundColor() const; 49231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block virtual Color platformActiveSelectionForegroundColor() const; 50231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block virtual Color platformInactiveSelectionForegroundColor() const; 51231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 52231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block virtual Color platformTextSearchHighlightColor() const; 53231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 54231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block // System fonts. 55231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block virtual void systemFont(int propId, FontDescription&) const; 56231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 57231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block protected: 58ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintCheckbox(RenderObject*, const PaintInfo&, const IntRect&); 59231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block virtual void setCheckboxSize(RenderStyle*) const; 60231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 61ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintRadio(RenderObject*, const PaintInfo&, const IntRect&); 62231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block virtual void setRadioSize(RenderStyle*) const; 63231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 64231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block virtual void adjustMenuListStyle(CSSStyleSelector*, RenderStyle*, Element*) const; 65ca9cb53ed1119a3fd98fafa0972ffeb56dee1c24Steve Block virtual bool paintMenuList(RenderObject*, const PaintInfo&, const IntRect&); 66231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block }; 67231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 68231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block} // namespace WebCore 69231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block 70231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#endif // RenderThemeHaiku_h 71