BsScriptTexture.generated.cpp 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. #include "BsScriptTexture.generated.h"
  2. #include "BsMonoMethod.h"
  3. #include "BsMonoClass.h"
  4. #include "BsMonoUtil.h"
  5. #include "../../../bsf/Source/Foundation/bsfCore/Image/BsTexture.h"
  6. #include "BsScriptResourceManager.h"
  7. #include "BsScriptTexture.generated.h"
  8. #include "Wrappers/BsScriptColor.h"
  9. #include "../../SBansheeEngine/Extensions/BsTextureEx.h"
  10. #include "BsScriptPixelData.generated.h"
  11. #include "BsScriptAsyncOpEx.generated.h"
  12. namespace bs
  13. {
  14. ScriptTexture::ScriptTexture(MonoObject* managedInstance, const ResourceHandle<Texture>& value)
  15. :TScriptResource(managedInstance, value)
  16. {
  17. }
  18. void ScriptTexture::initRuntimeData()
  19. {
  20. metaData.scriptClass->addInternalCall("Internal_create", (void*)&ScriptTexture::Internal_create);
  21. metaData.scriptClass->addInternalCall("Internal_getPixelFormat", (void*)&ScriptTexture::Internal_getPixelFormat);
  22. metaData.scriptClass->addInternalCall("Internal_getUsage", (void*)&ScriptTexture::Internal_getUsage);
  23. metaData.scriptClass->addInternalCall("Internal_getType", (void*)&ScriptTexture::Internal_getType);
  24. metaData.scriptClass->addInternalCall("Internal_getWidth", (void*)&ScriptTexture::Internal_getWidth);
  25. metaData.scriptClass->addInternalCall("Internal_getHeight", (void*)&ScriptTexture::Internal_getHeight);
  26. metaData.scriptClass->addInternalCall("Internal_getDepth", (void*)&ScriptTexture::Internal_getDepth);
  27. metaData.scriptClass->addInternalCall("Internal_getGammaCorrection", (void*)&ScriptTexture::Internal_getGammaCorrection);
  28. metaData.scriptClass->addInternalCall("Internal_getSampleCount", (void*)&ScriptTexture::Internal_getSampleCount);
  29. metaData.scriptClass->addInternalCall("Internal_getMipmapCount", (void*)&ScriptTexture::Internal_getMipmapCount);
  30. metaData.scriptClass->addInternalCall("Internal_getPixels", (void*)&ScriptTexture::Internal_getPixels);
  31. metaData.scriptClass->addInternalCall("Internal_getGPUPixels", (void*)&ScriptTexture::Internal_getGPUPixels);
  32. metaData.scriptClass->addInternalCall("Internal_setPixels", (void*)&ScriptTexture::Internal_setPixels);
  33. metaData.scriptClass->addInternalCall("Internal_setPixelsArray", (void*)&ScriptTexture::Internal_setPixelsArray);
  34. }
  35. MonoObject*ScriptTexture::createInstance()
  36. {
  37. bool dummy = false;
  38. void* ctorParams[1] = { &dummy };
  39. return metaData.scriptClass->createInstance("bool", ctorParams);
  40. }
  41. void ScriptTexture::Internal_create(MonoObject* managedInstance, PixelFormat format, uint32_t width, uint32_t height, uint32_t depth, TextureType texType, TextureUsage usage, uint32_t numSamples, bool hasMipmaps, bool gammaCorrection)
  42. {
  43. ResourceHandle<Texture> instance = TextureEx::create(format, width, height, depth, texType, usage, numSamples, hasMipmaps, gammaCorrection);
  44. ScriptResourceManager::instance().createBuiltinScriptResource(instance, managedInstance);
  45. }
  46. PixelFormat ScriptTexture::Internal_getPixelFormat(ScriptTexture* thisPtr)
  47. {
  48. PixelFormat tmp__output;
  49. tmp__output = TextureEx::getPixelFormat(thisPtr->getHandle());
  50. PixelFormat __output;
  51. __output = tmp__output;
  52. return __output;
  53. }
  54. TextureUsage ScriptTexture::Internal_getUsage(ScriptTexture* thisPtr)
  55. {
  56. TextureUsage tmp__output;
  57. tmp__output = TextureEx::getUsage(thisPtr->getHandle());
  58. TextureUsage __output;
  59. __output = tmp__output;
  60. return __output;
  61. }
  62. TextureType ScriptTexture::Internal_getType(ScriptTexture* thisPtr)
  63. {
  64. TextureType tmp__output;
  65. tmp__output = TextureEx::getType(thisPtr->getHandle());
  66. TextureType __output;
  67. __output = tmp__output;
  68. return __output;
  69. }
  70. uint32_t ScriptTexture::Internal_getWidth(ScriptTexture* thisPtr)
  71. {
  72. uint32_t tmp__output;
  73. tmp__output = TextureEx::getWidth(thisPtr->getHandle());
  74. uint32_t __output;
  75. __output = tmp__output;
  76. return __output;
  77. }
  78. uint32_t ScriptTexture::Internal_getHeight(ScriptTexture* thisPtr)
  79. {
  80. uint32_t tmp__output;
  81. tmp__output = TextureEx::getHeight(thisPtr->getHandle());
  82. uint32_t __output;
  83. __output = tmp__output;
  84. return __output;
  85. }
  86. uint32_t ScriptTexture::Internal_getDepth(ScriptTexture* thisPtr)
  87. {
  88. uint32_t tmp__output;
  89. tmp__output = TextureEx::getDepth(thisPtr->getHandle());
  90. uint32_t __output;
  91. __output = tmp__output;
  92. return __output;
  93. }
  94. bool ScriptTexture::Internal_getGammaCorrection(ScriptTexture* thisPtr)
  95. {
  96. bool tmp__output;
  97. tmp__output = TextureEx::getGammaCorrection(thisPtr->getHandle());
  98. bool __output;
  99. __output = tmp__output;
  100. return __output;
  101. }
  102. uint32_t ScriptTexture::Internal_getSampleCount(ScriptTexture* thisPtr)
  103. {
  104. uint32_t tmp__output;
  105. tmp__output = TextureEx::getSampleCount(thisPtr->getHandle());
  106. uint32_t __output;
  107. __output = tmp__output;
  108. return __output;
  109. }
  110. uint32_t ScriptTexture::Internal_getMipmapCount(ScriptTexture* thisPtr)
  111. {
  112. uint32_t tmp__output;
  113. tmp__output = TextureEx::getMipmapCount(thisPtr->getHandle());
  114. uint32_t __output;
  115. __output = tmp__output;
  116. return __output;
  117. }
  118. MonoObject* ScriptTexture::Internal_getPixels(ScriptTexture* thisPtr, uint32_t face, uint32_t mipLevel)
  119. {
  120. SPtr<PixelData> tmp__output;
  121. tmp__output = TextureEx::getPixels(thisPtr->getHandle(), face, mipLevel);
  122. MonoObject* __output;
  123. __output = ScriptPixelData::create(tmp__output);
  124. return __output;
  125. }
  126. MonoObject* ScriptTexture::Internal_getGPUPixels(ScriptTexture* thisPtr, uint32_t face, uint32_t mipLevel)
  127. {
  128. SPtr<AsyncOpEx> tmp__output;
  129. tmp__output = TextureEx::getGPUPixels(thisPtr->getHandle(), face, mipLevel);
  130. MonoObject* __output;
  131. __output = ScriptAsyncOpEx::create(tmp__output);
  132. return __output;
  133. }
  134. void ScriptTexture::Internal_setPixels(ScriptTexture* thisPtr, MonoObject* data, uint32_t face, uint32_t mipLevel)
  135. {
  136. SPtr<PixelData> tmpdata;
  137. ScriptPixelData* scriptdata;
  138. scriptdata = ScriptPixelData::toNative(data);
  139. tmpdata = scriptdata->getInternal();
  140. TextureEx::setPixels(thisPtr->getHandle(), tmpdata, face, mipLevel);
  141. }
  142. void ScriptTexture::Internal_setPixelsArray(ScriptTexture* thisPtr, MonoArray* colors, uint32_t face, uint32_t mipLevel)
  143. {
  144. Vector<Color> veccolors;
  145. if(colors != nullptr)
  146. {
  147. ScriptArray arraycolors(colors);
  148. veccolors.resize(arraycolors.size());
  149. for(int i = 0; i < (int)arraycolors.size(); i++)
  150. {
  151. veccolors[i] = arraycolors.get<Color>(i);
  152. }
  153. }
  154. TextureEx::setPixelsArray(thisPtr->getHandle(), veccolors, face, mipLevel);
  155. }
  156. }