BsScriptTexture.cpp 2.9 KB

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