Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
godotengine
GitHub Repository: godotengine/godot
Path: blob/master/thirdparty/metal-cpp/QuartzCore/CALayer.hpp
45998 views
1
#pragma once
2
3
#include "CADefines.hpp"
4
#include "CAPrivate.hpp"
5
#include "../Foundation/NSObject.hpp"
6
#include <CoreGraphics/CoreGraphics.h>
7
8
namespace CA
9
{
10
using DynamicRange = NS::String*;
11
12
_CA_CONST(DynamicRange, DynamicRangeAutomatic);
13
_CA_CONST(DynamicRange, DynamicRangeStandard);
14
_CA_CONST(DynamicRange, DynamicRangeConstrainedHigh);
15
_CA_CONST(DynamicRange, DynamicRangeHigh);
16
17
18
class Layer : public NS::Referencing<Layer>
19
{
20
public:
21
bool wantsExtendedDynamicRangeContent() const;
22
void setWantsExtendedDynamicRangeContent(bool wantsExtendedDynamicRangeContent);
23
CA::DynamicRange preferredDynamicRange() const;
24
void setPreferredDynamicRange(CA::DynamicRange preferredDynamicRange);
25
CGFloat contentsHeadroom() const;
26
void setContentsHeadroom(CGFloat contentsHeadroom);
27
bool opaque() const;
28
void setOpaque(bool opaque);
29
30
};
31
32
} // namespace CA
33
34
// --- Inline implementations ---
35
36
_CA_INLINE bool CA::Layer::wantsExtendedDynamicRangeContent() const
37
{
38
return Object::sendMessage<bool>(this, _CA_PRIVATE_SEL(wantsExtendedDynamicRangeContent));
39
}
40
41
_CA_INLINE void CA::Layer::setWantsExtendedDynamicRangeContent(bool wantsExtendedDynamicRangeContent)
42
{
43
Object::sendMessage<void>(this, _CA_PRIVATE_SEL(setWantsExtendedDynamicRangeContent_), wantsExtendedDynamicRangeContent);
44
}
45
46
_CA_INLINE CA::DynamicRange CA::Layer::preferredDynamicRange() const
47
{
48
return Object::sendMessage<CA::DynamicRange>(this, _CA_PRIVATE_SEL(preferredDynamicRange));
49
}
50
51
_CA_INLINE void CA::Layer::setPreferredDynamicRange(CA::DynamicRange preferredDynamicRange)
52
{
53
Object::sendMessage<void>(this, _CA_PRIVATE_SEL(setPreferredDynamicRange_), preferredDynamicRange);
54
}
55
56
_CA_INLINE CGFloat CA::Layer::contentsHeadroom() const
57
{
58
return Object::sendMessage<CGFloat>(this, _CA_PRIVATE_SEL(contentsHeadroom));
59
}
60
61
_CA_INLINE void CA::Layer::setContentsHeadroom(CGFloat contentsHeadroom)
62
{
63
Object::sendMessage<void>(this, _CA_PRIVATE_SEL(setContentsHeadroom_), contentsHeadroom);
64
}
65
66
_CA_INLINE bool CA::Layer::opaque() const
67
{
68
return Object::sendMessage<bool>(this, _CA_PRIVATE_SEL(opaque));
69
}
70
71
_CA_INLINE void CA::Layer::setOpaque(bool opaque)
72
{
73
Object::sendMessage<void>(this, _CA_PRIVATE_SEL(setOpaque_), opaque);
74
}
75
76
_CA_PRIVATE_DEF_CONST(CA::DynamicRange, DynamicRangeAutomatic);
77
_CA_PRIVATE_DEF_CONST(CA::DynamicRange, DynamicRangeStandard);
78
_CA_PRIVATE_DEF_CONST(CA::DynamicRange, DynamicRangeConstrainedHigh);
79
_CA_PRIVATE_DEF_CONST(CA::DynamicRange, DynamicRangeHigh);
80
81