48c21902096a71dd667190e63b3dece215d9b83a
[platform/framework/web/crosswalk-tizen.git] /
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 ThemePainterDefault_h
30 #define ThemePainterDefault_h
31
32 #include "core/paint/ThemePainter.h"
33 #include "public/platform/WebThemeEngine.h"
34
35 namespace blink {
36
37 class LayoutBox;
38
39 class ThemePainterDefault final : public ThemePainter {
40  public:
41   ThemePainterDefault();
42
43  private:
44   bool paintCheckbox(const LayoutObject&,
45                      const PaintInfo&,
46                      const IntRect&) override;
47   bool paintRadio(const LayoutObject&,
48                   const PaintInfo&,
49                   const IntRect&) override;
50   bool paintButton(const LayoutObject&,
51                    const PaintInfo&,
52                    const IntRect&) override;
53   bool paintTextField(const LayoutObject&,
54                       const PaintInfo&,
55                       const IntRect&) override;
56   bool paintMenuList(const LayoutObject&,
57                      const PaintInfo&,
58                      const IntRect&) override;
59   bool paintMenuListButton(const LayoutObject&,
60                            const PaintInfo&,
61                            const IntRect&) override;
62   bool paintSliderTrack(const LayoutObject&,
63                         const PaintInfo&,
64                         const IntRect&) override;
65   bool paintSliderThumb(const LayoutObject&,
66                         const PaintInfo&,
67                         const IntRect&) override;
68   bool paintInnerSpinButton(const LayoutObject&,
69                             const PaintInfo&,
70                             const IntRect&) override;
71   bool paintProgressBar(const LayoutObject&,
72                         const PaintInfo&,
73                         const IntRect&) override;
74   bool paintTextArea(const LayoutObject&,
75                      const PaintInfo&,
76                      const IntRect&) override;
77   bool paintSearchField(const LayoutObject&,
78                         const PaintInfo&,
79                         const IntRect&) override;
80   bool paintSearchFieldCancelButton(const LayoutObject&,
81                                     const PaintInfo&,
82                                     const IntRect&) override;
83
84   void setupMenuListArrow(const LayoutBox&,
85                           const IntRect&,
86                           WebThemeEngine::ExtraParams&);
87 };
88
89 }  // namespace blink
90
91 #endif  // ThemePainerDefault_h