#pragma once /// @file PixelFormat.hpp /// For complete documentation, see src/pixels/PixelFormat.cpp #include #include namespace hdk::sdl { /// Forward declare to avoid circular dependency with PixelFormatDetails class PixelFormatDetails; class PixelFormat : public hdk::grid::PrimitiveWrapper { public: using hdk::grid::PrimitiveWrapper::PrimitiveWrapper; bool GetMasks(int* bpp, Uint32* Rmask, Uint32* Gmask, Uint32* Bmask, Uint32* Amask) const { return SDL_GetMasksForPixelFormat(*this, bpp, Rmask, Gmask, Bmask, Amask); } // Implemented in `../pixels.hpp` to avoid circular dependency PixelFormatDetails GetDetails() const; static SDL_PixelFormat GetForMasks(int bpp, Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask) { return SDL_GetPixelFormatForMasks(bpp, Rmask, Gmask, Bmask, Amask); } const char* GetName() const { return SDL_GetPixelFormatName(*this); } }; }