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
:
45
LayerActor
(
const
Rect
& bounds,
float
opacity = 1.f);
46
53
LayerActor
(
RefPtr<Shape>
mask,
const
Matrix3x2
& mask_transform =
Matrix3x2
(),
float
opacity = 1.f,
54
const
Rect
& bounds = Rect::Infinite());
55
56
virtual
~LayerActor
();
57
60
const
Layer
& GetLayer()
const
;
61
64
Layer
& GetLayer();
65
68
void
SetLayer(
const
Layer
& layer);
69
70
protected
:
71
void
Render(
RenderContext
& ctx)
override
;
72
73
bool
CheckVisibility(
RenderContext
& ctx)
const override
;
74
75
private
:
76
bool
swallow_;
77
Layer
layer_;
78
};
79
82
inline
const
Layer
&
LayerActor::GetLayer
()
const
83
{
84
return
layer_;
85
}
86
87
inline
Layer
&
LayerActor::GetLayer
()
88
{
89
return
layer_;
90
}
91
92
inline
void
LayerActor::SetLayer
(
const
Layer
& layer)
93
{
94
layer_ = layer;
95
}
96
97
}
// namespace kiwano
kiwano::Actor
角色
Definition:
Actor.h:63
kiwano::LayerActor
图层角色
Definition:
LayerActor.h:39
kiwano::LayerActor::SetLayer
void SetLayer(const Layer &layer)
设置图层
Definition:
LayerActor.h:92
kiwano::LayerActor::GetLayer
const Layer & GetLayer() const
获取图层
Definition:
LayerActor.h:82
kiwano::Layer
图层
Definition:
Layer.h:37
kiwano::RefBasePtr
引用计数智能指针
Definition:
RefBasePtr.hpp:35
kiwano::RenderContext
渲染上下文
Definition:
RenderContext.h:62
kiwano::math::Matrix3x2T< float >
kiwano::math::RectT< float >
src
kiwano
2d
LayerActor.h
制作者
1.9.4