BsScriptPixelUtility.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536
  1. #pragma once
  2. #include "BsScriptEnginePrerequisites.h"
  3. #include "BsScriptObject.h"
  4. #include "BsPixelData.h"
  5. #include "BsPixelUtil.h"
  6. namespace BansheeEngine
  7. {
  8. /**
  9. * @brief Interop class between C++ & CLR for PixelUtility.
  10. */
  11. class BS_SCR_BE_EXPORT ScriptPixelUtility : public ScriptObject <ScriptPixelUtility>
  12. {
  13. public:
  14. SCRIPT_OBJ(ENGINE_ASSEMBLY, "BansheeEngine", "PixelUtility")
  15. private:
  16. ScriptPixelUtility(MonoObject* instance);
  17. /************************************************************************/
  18. /* CLR HOOKS */
  19. /************************************************************************/
  20. static void internal_getMemorySize(UINT32 width, UINT32 height, UINT32 depth, PixelFormat format, UINT32* value);
  21. static void internal_hasAlpha(PixelFormat format, bool* value);
  22. static void internal_isFloatingPoint(PixelFormat format, bool* value);
  23. static void internal_isCompressed(PixelFormat format, bool* value);
  24. static void internal_isDepth(PixelFormat format, bool* value);
  25. static void internal_getMaxMipmaps(UINT32 width, UINT32 height, UINT32 depth, PixelFormat format, UINT32* value);
  26. static MonoObject* internal_convertFormat(MonoObject* source, PixelFormat newFormat);
  27. static MonoObject* internal_compress(MonoObject* source, CompressionOptions options);
  28. static MonoArray* internal_generateMipmaps(MonoObject* source, MipMapGenOptions options);
  29. static MonoObject* internal_scale(MonoObject* source, PixelVolume newSize, PixelUtil::Filter filter);
  30. static void internal_applyGamma(MonoObject* source, float gamma);
  31. };
  32. }