29 #ifndef YCL_Android_INC_Android_h_
30 #define YCL_Android_INC_Android_h_ 1
33 #include YFM_YCLib_Host
35 # error "This file is only for Android."
37 #include <android/native_window.h>
38 #include YFM_YSLib_Core_YGDIBase
42 struct AConfiguration;
56 inline namespace Android
85 DefGetter(const, YSLib::Drawing::Size, Size, {GetWidth(), GetHeight()})
112 using WindowReference::GetHeight;
113 using WindowReference::GetNativeHandle;
114 using WindowReference::GetSize;
116 using WindowReference::GetWidth;
144 std::unique_ptr<ScreenBufferData>
p_impl;
169 const YSLib::Drawing::Graphics&
170 GetContext() const ynothrow;
173 GetSize() const ynothrow;
176 GetStride() const ynothrow;
183 Resize(const YSLib::Drawing::Size&);
196 swap(ScreenBuffer&) ynothrow;
203 inline DefSwap(ynothrow, ScreenBuffer)
228 DefGetter(ynothrow, ScreenBuffer&, ScreenBufferRef, *
this)
230 using ScreenBuffer::Resize;
254 platform::Logger::Level = platform::Descriptions::
Notice);
NativeWindowHandle hWindow
const YSLib::Drawing::Graphics & GetContext() const ynothrow
YSLib::SDst GetStride() const ynothrow
YF_API::ALooper & FetchNativeLooper(bool) ythrow(Exception)
取当前线程的本机消息循环。
std::uint16_t SDst
屏幕坐标距离。
WindowReference(NativeWindowHandle h={})
YSLib::SDst width
宽:以像素数计量的缓冲区的实际宽度。
#define DefGetter(_q, _t, _n,...)
void swap(any &x, any &y)
交换对象。
不可复制对象:禁止派生类调用默认原型的复制构造函数和复制赋值操作符。
std::unique_ptr< ScreenBufferData > p_impl
GBinaryGroup< SPos > Point
屏幕二维点(直角坐标表示)。
YF_API void TraceConfiguration(::AConfiguration &, platform::Logger::Level=platform::Descriptions::Notice)
std::exception Exception
YSLib 异常基类。
DefGetter(ynothrow, ScreenBuffer &, ScreenBufferRef,*this) using ScreenBuffer voi UpdateFrom)(YSLib::Drawing::BitmapPtr) ynothrow
#define ynothrow
YSLib 无异常抛出保证:若支持 noexcept 关键字, 指定特定的 noexcept 异常规范。
YSLib::Drawing::Size GetSize() const ynothrow
#define ythrow(...)
YSLib 动态异常规范:根据是否使用异常规范宏指定或忽略动态异常规范。
YSLib::Drawing::BitmapPtr GetBufferPtr() const ynothrow
::ANativeWindow * NativeWindowHandle
void UpdateTo(NativeWindowHandle, const YSLib::Drawing::Point &={}) ynothrow
ScreenRegionBuffer(const YSLib::Drawing::Size &, YSLib::SDst)
构造:使用指定的缓冲区大小和像素跨距。 像素跨距小于缓冲区大小。
DefDeCopyCtor(WindowReference) WindowReference(WindowReference &&r) ynothrow
#define DefDelMoveCtor(_t)