BsScriptTexture.generated.cpp 6.5 KB

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