/* ======================================== Copyright Amlal El Mahrouss. ======================================== */ #ifndef CORE_GFX_ACCESSIBILITY_H #define CORE_GFX_ACCESSIBILITY_H #include #include #include #include #include namespace FB { using namespace Kernel; template struct CGVec; class CGAccessibility; /// @brief Video Accessbility Helper. /// Use this when dealing with video diemensions. class CGAccessibilty final { explicit CGAccessibilty() = default; ~CGAccessibilty() = default; public: NE_COPY_DELETE(CGAccessibilty) static UInt64 Width() { return kHandoverHeader->f_GOP.f_Width; } static UInt64 Height() { return kHandoverHeader->f_GOP.f_Height; } }; template struct CGVec final { NType fVec[N] = {}; explicit CGVec() = default; ~CGVec() = default; NE_COPY_DEFAULT(CGVec) NType& operator[](const SizeT& i) { MUST_PASS(i < N); return fVec[i]; } }; using CGVec3U64 = CGVec<3, UInt64>; } // namespace FB #endif // !CORE_GFX_ACCESSIBILITY_H_