3 Copyright 2007 Antoine Chavasse <a.chavasse@gmail.com>
5 This file is part of Fail.
7 Fail is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License version 3
9 as published by the Free Software Foundation.
11 Fail is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program. If not, see <http://www.gnu.org/licenses/>.
19 #ifndef FAIL_GUI_GAME_THEME_I_H_
20 #define FAIL_GUI_GAME_THEME_I_H_
22 #include "core/core.h"
23 #include "gui/game/gui-game_export.h"
24 #include "WindowDecorator_i.h"
25 #include "ButtonDecorator_i.h"
26 #include "SliderKnobDecorator_i.h"
27 #include "SliderDecorator_i.h"
28 #include "TextCellDecorator_i.h"
31 namespace fail
{ namespace gui
{ namespace game
34 class WindowDecorator_i
;
37 class ButtonDecorator_i
;
40 class SliderKnobDecorator_i
;
43 class SliderDecorator_i
;
46 class TextCellDecorator_i
;
48 class FLGUI_GAME_EXPORT Theme_i
: public RefCounted
52 virtual Pointer
< WindowDecorator_i
> newWindowDecorator( Window
* pWindow
) = 0;
53 virtual Pointer
< ButtonDecorator_i
> newButtonDecorator( Button
* pButton
) = 0;
54 virtual Pointer
< SliderKnobDecorator_i
> newSliderKnobDecorator( SliderKnob
* pSliderKnob
) = 0;
55 virtual Pointer
< SliderDecorator_i
> newSliderDecorator( Slider
* pSlider
) = 0;
56 virtual Pointer
< TextCellDecorator_i
> newTextCellDecorator( TextCell
* pTextCell
) = 0;