MyGUI
3.0.1
Main Page
Related Pages
Namespaces
Data Structures
Files
Examples
File List
Globals
MyGUIEngine
include
MyGUI_MaskPickInfo.h
Go to the documentation of this file.
1
7
/*
8
This file is part of MyGUI.
9
10
MyGUI is free software: you can redistribute it and/or modify
11
it under the terms of the GNU Lesser General Public License as published by
12
the Free Software Foundation, either version 3 of the License, or
13
(at your option) any later version.
14
15
MyGUI 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 Lesser General Public License for more details.
19
20
You should have received a copy of the GNU Lesser General Public License
21
along with MyGUI. If not, see <http://www.gnu.org/licenses/>.
22
*/
23
#ifndef __MYGUI_MASK_PICK_INFO_H__
24
#define __MYGUI_MASK_PICK_INFO_H__
25
26
#include "
MyGUI_Prerequest.h
"
27
#include "
MyGUI_Types.h
"
28
29
namespace
MyGUI
30
{
31
32
class
MYGUI_EXPORT
MaskPickInfo
33
{
34
public
:
35
MaskPickInfo
() : width(0), height(0) { }
36
37
bool
load(
const
std::string& _file);
38
39
bool
pick(
const
IntPoint
& _point,
const
IntCoord
& _coord)
const
40
{
41
if
((0 == _coord.
width
) || (0 == _coord.
height
))
return
false
;
42
43
int
x = ((_point.
left
* width)-1) / _coord.
width
;
44
int
y = ((_point.
top
* height)-1) / _coord.
height
;
45
46
return
0 != data[(size_t)(y * width + x)];
47
}
48
49
bool
empty()
const
50
{
51
return
data.empty();
52
}
53
54
private
:
55
std::vector<uint8> data;
56
int
width, height;
57
};
58
59
}
// namespace MyGUI
60
61
#endif // __MYGUI_MASK_PICK_INFO_H__
Generated by
1.8.1.2