Home | History | Annotate | Download | only in rendering
      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 (at) gmail.com
      6  * Copyright (C) 2007 Holger Hans Peter Freyther
      7  * Copyright (C) 2007 Alp Toker <alp (at) 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 RenderThemeChromiumLinux_h
     30 #define RenderThemeChromiumLinux_h
     31 
     32 #include "RenderThemeChromiumSkia.h"
     33 
     34 namespace WebCore {
     35 
     36     class RenderThemeChromiumLinux : public RenderThemeChromiumSkia {
     37     public:
     38         static PassRefPtr<RenderTheme> create();
     39         virtual String extraDefaultStyleSheet();
     40 
     41         virtual Color systemColor(int cssValidId) 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         // List Box selection color
     47         virtual Color activeListBoxSelectionBackgroundColor() const;
     48         virtual Color activeListBoxSelectionForegroundColor() const;
     49         virtual Color inactiveListBoxSelectionBackgroundColor() const;
     50         virtual Color inactiveListBoxSelectionForegroundColor() const;
     51 
     52         virtual Color platformActiveSelectionBackgroundColor() const;
     53         virtual Color platformInactiveSelectionBackgroundColor() const;
     54         virtual Color platformActiveSelectionForegroundColor() const;
     55         virtual Color platformInactiveSelectionForegroundColor() const;
     56 
     57         virtual void adjustSliderThumbSize(RenderObject*) const;
     58 
     59         static void setCaretBlinkInterval(double interval);
     60         virtual double caretBlinkIntervalInternal() const;
     61 
     62         virtual bool paintCheckbox(RenderObject*, const PaintInfo&, const IntRect&);
     63         virtual void setCheckboxSize(RenderStyle*) const;
     64 
     65         virtual bool paintRadio(RenderObject*, const PaintInfo&, const IntRect&);
     66         virtual void setRadioSize(RenderStyle*) const;
     67 
     68         virtual bool paintButton(RenderObject*, const PaintInfo&, const IntRect&);
     69         virtual bool paintTextField(RenderObject*, const PaintInfo&, const IntRect&);
     70         virtual bool paintMenuList(RenderObject*, const PaintInfo&, const IntRect&);
     71         virtual bool paintSliderTrack(RenderObject*, const PaintInfo&, const IntRect&);
     72         virtual bool paintSliderThumb(RenderObject*, const PaintInfo&, const IntRect&);
     73 
     74         virtual void adjustInnerSpinButtonStyle(CSSStyleSelector*, RenderStyle*, Element*) const;
     75         virtual bool paintInnerSpinButton(RenderObject*, const PaintInfo&, const IntRect&);
     76 
     77 #if ENABLE(PROGRESS_TAG)
     78         virtual bool paintProgressBar(RenderObject*, const PaintInfo&, const IntRect&);
     79 #endif
     80 
     81         static void setSelectionColors(unsigned activeBackgroundColor,
     82                                        unsigned activeForegroundColor,
     83                                        unsigned inactiveBackgroundColor,
     84                                        unsigned inactiveForegroundColor);
     85 
     86     private:
     87         RenderThemeChromiumLinux();
     88         virtual ~RenderThemeChromiumLinux();
     89 
     90         // A general method asking if any control tinting is supported at all.
     91         virtual bool supportsControlTints() const;
     92 
     93         static double m_caretBlinkInterval;
     94 
     95         static unsigned m_activeSelectionBackgroundColor;
     96         static unsigned m_activeSelectionForegroundColor;
     97         static unsigned m_inactiveSelectionBackgroundColor;
     98         static unsigned m_inactiveSelectionForegroundColor;
     99     };
    100 
    101 } // namespace WebCore
    102 
    103 #endif // RenderThemeChromiumLinux_h
    104