ManaPlus
src
gui
widgets
icon.h
Go to the documentation of this file.
1
/*
2
* The ManaPlus Client
3
* Copyright (C) 2008-2009 The Mana World Development Team
4
* Copyright (C) 2009-2010 The Mana Developers
5
* Copyright (C) 2011-2019 The ManaPlus Developers
6
* Copyright (C) 2019-2021 Andrei Karas
7
*
8
* This file is part of The ManaPlus Client.
9
*
10
* This program is free software; you can redistribute it and/or modify
11
* it under the terms of the GNU General Public License as published by
12
* the Free Software Foundation; either version 2 of the License, or
13
* any later version.
14
*
15
* This program is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU General Public License for more details.
19
*
20
* You should have received a copy of the GNU General Public License
21
* along with this program. If not, see <http://www.gnu.org/licenses/>.
22
*/
23
24
#ifndef GUI_WIDGETS_ICON_H
25
#define GUI_WIDGETS_ICON_H
26
27
#include "
gui/widgets/widget.h
"
28
29
#include "
enums/simpletypes/autorelease.h
"
30
31
#include "
localconsts.h
"
32
33
class
Image
;
34
40
class
Icon
final
:
public
Widget
41
{
42
public
:
46
Icon
(
const
Widget2
*
const
widget,
47
const
std::string &filename,
48
const
AutoRelease
autoRelease);
49
53
Icon
(
const
Widget2
*
const
widget,
54
Image
*
const
image,
55
const
AutoRelease
autoRelease);
56
57
A_DELETE_COPY
(
Icon
)
58
59
~Icon
()
override
final
;
60
64
Image
*
getImage
() const
noexcept2
A_WARN_UNUSED
65
{
return
mImage
; }
66
70
void
setImage
(
Image
*
const
image);
71
75
void
draw
(
Graphics
*
const
g)
override
final
A_NONNULL
(2);
76
77
void
safeDraw
(
Graphics
*
const
g)
override
final
A_NONNULL
(2);
78
79
private
:
80
Image
*
mImage
;
81
AutoRelease
mAutoRelease
;
82
};
83
84
#endif
// GUI_WIDGETS_ICON_H
autorelease.h
AutoRelease
bool AutoRelease
Definition:
autorelease.h:30
Graphics
Definition:
graphics.h:109
Icon
Definition:
icon.h:41
Icon::Icon
Icon(const Widget2 *const widget, const std::string &filename, const AutoRelease autoRelease)
Definition:
icon.cpp:36
Icon::mAutoRelease
AutoRelease mAutoRelease
Definition:
icon.h:81
Icon::safeDraw
void safeDraw(Graphics *const g)
Definition:
icon.cpp:96
Icon::mImage
Image * mImage
Definition:
icon.h:80
Icon::draw
void draw(Graphics *const g)
Definition:
icon.cpp:84
Icon::getImage
Image * getImage() const
Definition:
icon.h:64
Icon::~Icon
~Icon()
Definition:
icon.cpp:66
Icon::setImage
void setImage(Image *const image)
Definition:
icon.cpp:74
Image
Widget2
Definition:
widget2.h:37
Widget
Definition:
widget.h:99
localconsts.h
A_WARN_UNUSED
#define A_WARN_UNUSED
Definition:
localconsts.h:161
A_NONNULL
#define A_NONNULL(...)
Definition:
localconsts.h:168
noexcept2
#define noexcept2
Definition:
localconsts.h:50
final
#define final
Definition:
localconsts.h:46
A_DELETE_COPY
#define A_DELETE_COPY(func)
Definition:
localconsts.h:53
widget.h
Generated on Wed Mar 17 2021 19:19:06 for ManaPlus by
1.9.1