Path: blob/master/thirdparty/metal-cpp/QuartzCore/CALayer.hpp
45998 views
#pragma once12#include "CADefines.hpp"3#include "CAPrivate.hpp"4#include "../Foundation/NSObject.hpp"5#include <CoreGraphics/CoreGraphics.h>67namespace CA8{9using DynamicRange = NS::String*;1011_CA_CONST(DynamicRange, DynamicRangeAutomatic);12_CA_CONST(DynamicRange, DynamicRangeStandard);13_CA_CONST(DynamicRange, DynamicRangeConstrainedHigh);14_CA_CONST(DynamicRange, DynamicRangeHigh);151617class Layer : public NS::Referencing<Layer>18{19public:20bool wantsExtendedDynamicRangeContent() const;21void setWantsExtendedDynamicRangeContent(bool wantsExtendedDynamicRangeContent);22CA::DynamicRange preferredDynamicRange() const;23void setPreferredDynamicRange(CA::DynamicRange preferredDynamicRange);24CGFloat contentsHeadroom() const;25void setContentsHeadroom(CGFloat contentsHeadroom);26bool opaque() const;27void setOpaque(bool opaque);2829};3031} // namespace CA3233// --- Inline implementations ---3435_CA_INLINE bool CA::Layer::wantsExtendedDynamicRangeContent() const36{37return Object::sendMessage<bool>(this, _CA_PRIVATE_SEL(wantsExtendedDynamicRangeContent));38}3940_CA_INLINE void CA::Layer::setWantsExtendedDynamicRangeContent(bool wantsExtendedDynamicRangeContent)41{42Object::sendMessage<void>(this, _CA_PRIVATE_SEL(setWantsExtendedDynamicRangeContent_), wantsExtendedDynamicRangeContent);43}4445_CA_INLINE CA::DynamicRange CA::Layer::preferredDynamicRange() const46{47return Object::sendMessage<CA::DynamicRange>(this, _CA_PRIVATE_SEL(preferredDynamicRange));48}4950_CA_INLINE void CA::Layer::setPreferredDynamicRange(CA::DynamicRange preferredDynamicRange)51{52Object::sendMessage<void>(this, _CA_PRIVATE_SEL(setPreferredDynamicRange_), preferredDynamicRange);53}5455_CA_INLINE CGFloat CA::Layer::contentsHeadroom() const56{57return Object::sendMessage<CGFloat>(this, _CA_PRIVATE_SEL(contentsHeadroom));58}5960_CA_INLINE void CA::Layer::setContentsHeadroom(CGFloat contentsHeadroom)61{62Object::sendMessage<void>(this, _CA_PRIVATE_SEL(setContentsHeadroom_), contentsHeadroom);63}6465_CA_INLINE bool CA::Layer::opaque() const66{67return Object::sendMessage<bool>(this, _CA_PRIVATE_SEL(opaque));68}6970_CA_INLINE void CA::Layer::setOpaque(bool opaque)71{72Object::sendMessage<void>(this, _CA_PRIVATE_SEL(setOpaque_), opaque);73}7475_CA_PRIVATE_DEF_CONST(CA::DynamicRange, DynamicRangeAutomatic);76_CA_PRIVATE_DEF_CONST(CA::DynamicRange, DynamicRangeStandard);77_CA_PRIVATE_DEF_CONST(CA::DynamicRange, DynamicRangeConstrainedHigh);78_CA_PRIVATE_DEF_CONST(CA::DynamicRange, DynamicRangeHigh);798081