2
0

BsScriptTexture.cpp 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #include "BsScriptTexture.h"
  2. #include "BsScriptMeta.h"
  3. #include "BsMonoField.h"
  4. #include "BsMonoClass.h"
  5. #include "BsMonoManager.h"
  6. namespace BansheeEngine
  7. {
  8. ScriptTexture::ScriptTexture(MonoObject* instance)
  9. :ScriptObject(instance)
  10. {
  11. }
  12. void ScriptTexture::initRuntimeData()
  13. {
  14. metaData.scriptClass->addInternalCall("Internal_GetPixelFormat", &ScriptTexture::internal_getPixelFormat);
  15. metaData.scriptClass->addInternalCall("Internal_GetUsage", &ScriptTexture::internal_getUsage);
  16. metaData.scriptClass->addInternalCall("Internal_GetWidth", &ScriptTexture::internal_getWidth);
  17. metaData.scriptClass->addInternalCall("Internal_GetHeight", &ScriptTexture::internal_getHeight);
  18. metaData.scriptClass->addInternalCall("Internal_GetGammaCorrection", &ScriptTexture::internal_getGammaCorrection);
  19. metaData.scriptClass->addInternalCall("Internal_GetSampleCount", &ScriptTexture::internal_getSampleCount);
  20. metaData.scriptClass->addInternalCall("Internal_GetMipmapCount", &ScriptTexture::internal_getMipmapCount);
  21. }
  22. void ScriptTexture::internal_getPixelFormat(ScriptTexture* thisPtr, PixelFormat* value)
  23. {
  24. HTexture texture = static_resource_cast<Texture>(thisPtr->getNativeHandle());
  25. *value = texture->getProperties().getFormat();
  26. }
  27. void ScriptTexture::internal_getUsage(ScriptTexture* thisPtr, TextureUsage* value)
  28. {
  29. HTexture texture = static_resource_cast<Texture>(thisPtr->getNativeHandle());
  30. *value = (TextureUsage)texture->getProperties().getUsage();
  31. }
  32. void ScriptTexture::internal_getWidth(ScriptTexture* thisPtr, int* value)
  33. {
  34. HTexture texture = static_resource_cast<Texture>(thisPtr->getNativeHandle());
  35. *value = (TextureUsage)texture->getProperties().getWidth();
  36. }
  37. void ScriptTexture::internal_getHeight(ScriptTexture* thisPtr, int* value)
  38. {
  39. HTexture texture = static_resource_cast<Texture>(thisPtr->getNativeHandle());
  40. *value = (TextureUsage)texture->getProperties().getHeight();
  41. }
  42. void ScriptTexture::internal_getGammaCorrection(ScriptTexture* thisPtr, bool* value)
  43. {
  44. HTexture texture = static_resource_cast<Texture>(thisPtr->getNativeHandle());
  45. *value = (TextureUsage)texture->getProperties().isHardwareGammaEnabled();
  46. }
  47. void ScriptTexture::internal_getSampleCount(ScriptTexture* thisPtr, int* value)
  48. {
  49. HTexture texture = static_resource_cast<Texture>(thisPtr->getNativeHandle());
  50. *value = (TextureUsage)texture->getProperties().getMultisampleCount();
  51. }
  52. void ScriptTexture::internal_getMipmapCount(ScriptTexture* thisPtr, int* value)
  53. {
  54. HTexture texture = static_resource_cast<Texture>(thisPtr->getNativeHandle());
  55. *value = (TextureUsage)texture->getProperties().getNumMipmaps();
  56. }
  57. }