Kiwano Engine
v1.3.x
LayerActor.h
1
// Copyright (c) 2016-2018 Kiwano - Nomango
2
//
3
// Permission is hereby granted, free of charge, to any person obtaining a copy
4
// of this software and associated documentation files (the "Software"), to deal
5
// in the Software without restriction, including without limitation the rights
6
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
// copies of the Software, and to permit persons to whom the Software is
8
// furnished to do so, subject to the following conditions:
9
//
10
// The above copyright notice and this permission notice shall be included in
11
// all copies or substantial portions of the Software.
12
//
13
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
// THE SOFTWARE.
20
21
#pragma once
22
#include <kiwano/2d/Actor.h>
23
#include <kiwano/render/Layer.h>
24
#include <kiwano/render/RenderContext.h>
25
26
namespace
kiwano
27
{
28
38
class
KGE_API
LayerActor
:
public
Actor
39
{
40
public
:
41
LayerActor
();
42
43
virtual
~LayerActor
();
44
47
bool
IsSwallowEventsEnabled()
const
;
48
51
RefPtr<Layer>
GetLayer()
const
;
52
56
void
SetLayer(
RefPtr<Layer>
layer);
57
61
void
SetSwallowEvents(
bool
enabled);
62
66
void
SetOpacity(
float
opacity)
override
;
67
68
bool
DispatchEvent(
Event
* evt)
override
;
69
70
protected
:
71
void
Render(
RenderContext
& ctx)
override
;
72
73
bool
CheckVisibility(
RenderContext
& ctx)
const override
;
74
75
private
:
76
bool
swallow_;
77
RefPtr<Layer>
layer_;
78
};
79
82
inline
bool
LayerActor::IsSwallowEventsEnabled
()
const
83
{
84
return
swallow_;
85
}
86
87
inline
void
LayerActor::SetSwallowEvents
(
bool
enabled)
88
{
89
swallow_ = enabled;
90
}
91
92
inline
void
LayerActor::SetLayer
(
RefPtr<Layer>
layer)
93
{
94
layer_ = layer;
95
}
96
97
inline
RefPtr<Layer>
LayerActor::GetLayer
()
const
98
{
99
return
layer_;
100
}
101
102
}
// namespace kiwano
kiwano::Actor
角色
Definition:
Actor.h:63
kiwano::Event
事件
Definition:
Event.h:43
kiwano::LayerActor
图层角色
Definition:
LayerActor.h:39
kiwano::LayerActor::GetLayer
RefPtr< Layer > GetLayer() const
获取图层
Definition:
LayerActor.h:97
kiwano::LayerActor::SetLayer
void SetLayer(RefPtr< Layer > layer)
设置图层
Definition:
LayerActor.h:92
kiwano::LayerActor::IsSwallowEventsEnabled
bool IsSwallowEventsEnabled() const
是否开启消息吞没
Definition:
LayerActor.h:82
kiwano::LayerActor::SetSwallowEvents
void SetSwallowEvents(bool enabled)
设置消息吞没功能
Definition:
LayerActor.h:87
kiwano::RefBasePtr
引用计数智能指针
Definition:
RefBasePtr.hpp:35
kiwano::RenderContext
渲染上下文
Definition:
RenderContext.h:62
src
kiwano
2d
LayerActor.h
制作者
1.9.4