ManaPlus
atlasitem.h
Go to the documentation of this file.
1 /*
2  * The ManaPlus Client
3  * Copyright (C) 2012-2019 The ManaPlus Developers
4  * Copyright (C) 2019-2021 Andrei Karas
5  *
6  * This file is part of The ManaPlus Client.
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program. If not, see <http://www.gnu.org/licenses/>.
20  */
21 
22 #ifndef RESOURCES_ATLAS_ATLASITEM_H
23 #define RESOURCES_ATLAS_ATLASITEM_H
24 
25 #ifdef USE_OPENGL
26 
27 #include "resources/image/image.h"
28 
29 struct AtlasItem final : public MemoryCounter
30 {
31  explicit AtlasItem(Image *const image0) :
32  MemoryCounter(),
33  image(image0),
34  name(),
35  x(0),
36  y(0),
37  width(image0 != nullptr ? image0->mBounds.w : 0),
38  height(image0 != nullptr ? image0->mBounds.h : 0)
39  {
40  }
41 
43 
45  {
46  return static_cast<int>(sizeof(AtlasItem) +
47  name.capacity());
48  // +++ here need print, but not add to sum size of image
49  }
50 
51  std::string getCounterName() const override
52  { return name; }
53 
55  std::string name;
56  int x;
57  int y;
58  int width;
59  int height;
60 };
61 
62 #endif // USE_OPENGL
63 #endif // RESOURCES_ATLAS_ATLASITEM_H
#define override
Definition: localconsts.h:47
#define final
Definition: localconsts.h:46
#define A_DELETE_COPY(func)
Definition: localconsts.h:53
#define nullptr
Definition: localconsts.h:45
int height
Definition: atlasitem.h:59
int calcMemoryLocal() const
Definition: atlasitem.h:44
Image * image
Definition: atlasitem.h:54
int width
Definition: atlasitem.h:58
AtlasItem(Image *const image0)
Definition: atlasitem.h:31
std::string getCounterName() const
Definition: atlasitem.h:51
std::string name
Definition: atlasitem.h:55