ManaPlus
src
resources
loaders
subimagesetloader.cpp
Go to the documentation of this file.
1
/*
2
* The ManaPlus Client
3
* Copyright (C) 2004-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
#include "
resources/imageset.h
"
25
26
#include "
resources/image/image.h
"
27
28
#include "
resources/loaders/subimagesetloader.h
"
29
30
#include "
resources/resourcemanager/resourcemanager.h
"
31
32
#include "
utils/stringutils.h
"
33
34
#include "
debug.h
"
35
36
namespace
37
{
38
struct
SubImageSetLoader
final
39
{
40
A_DEFAULT_COPY
(
SubImageSetLoader
)
41
42
Image
*const parent;
43
int
width;
44
int
height;
45
static
Resource
*
load
(const
void
*const v)
46
{
47
if
(v ==
nullptr
)
48
return
nullptr
;
49
50
const
SubImageSetLoader
*
const
51
rl =
static_cast<
const
SubImageSetLoader
*
>
(v);
52
53
if
(rl->
parent
==
nullptr
)
54
return
nullptr
;
55
ImageSet
*
const
res =
new
ImageSet
(rl->
parent
,
56
rl->
width
,
57
rl->
height
,
58
0,
59
0);
60
return
res;
61
}
62
};
63
}
// namespace
64
65
ImageSet
*
Loader::getSubImageSet
(
Image
*
const
parent,
66
const
int
width,
67
const
int
height)
68
{
69
if
(parent ==
nullptr
)
70
return
nullptr
;
71
72
const
SubImageSetLoader rl = { parent, width, height };
73
std::string str = std::string(
74
parent->mIdPath).append(
75
", set["
).append(
toString
(
76
width)).append(
77
"x"
).append(
toString
(
78
height)).append(
79
"]"
);
80
return
static_cast<
ImageSet
*
>
(
ResourceManager::get
(str,
81
SubImageSetLoader::load
, &rl));
82
}
ImageSet
Definition:
imageset.h:39
Image
Resource
Definition:
resource.h:35
debug.h
image.h
imageset.h
final
#define final
Definition:
localconsts.h:46
A_DEFAULT_COPY
#define A_DEFAULT_COPY(func)
Definition:
localconsts.h:41
AvatarDB::load
void load()
Definition:
avatardb.cpp:46
Catch::toString
std::string toString(T const &value)
converts any type to a string
Definition:
catch.hpp:1774
Loader::getSubImageSet
ImageSet * getSubImageSet(Image *const parent, const int width, const int height)
Definition:
subimagesetloader.cpp:65
ResourceManager::get
Resource * get(const std::string &idPath, generator fun, const void *const data)
Definition:
resourcemanager.cpp:428
resourcemanager.h
stringutils.h
anonymous_namespace{subimagesetloader.cpp}::SubImageSetLoader
Definition:
subimagesetloader.cpp:39
anonymous_namespace{subimagesetloader.cpp}::SubImageSetLoader::height
int height
Definition:
subimagesetloader.cpp:44
anonymous_namespace{subimagesetloader.cpp}::SubImageSetLoader::width
int width
Definition:
subimagesetloader.cpp:43
anonymous_namespace{subimagesetloader.cpp}::SubImageSetLoader::parent
Image *const parent
Definition:
subimagesetloader.cpp:42
subimagesetloader.h
Generated on Wed Mar 17 2021 19:19:09 for ManaPlus by
1.9.1