| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- #include "BsScriptTexture.generated.h"
- #include "BsMonoMethod.h"
- #include "BsMonoClass.h"
- #include "BsMonoUtil.h"
- #include "../../../bsf/Source/Foundation/bsfCore/Image/BsTexture.h"
- #include "BsScriptResourceManager.h"
- #include "Wrappers/BsScriptRRefBase.h"
- #include "../../../bsf/Source/Foundation/bsfCore/Image/BsTexture.h"
- #include "Wrappers/BsScriptColor.h"
- #include "../../SBansheeEngine/Extensions/BsTextureEx.h"
- #include "BsScriptPixelData.generated.h"
- #include "BsScriptAsyncOpEx.generated.h"
- namespace bs
- {
- ScriptTexture::ScriptTexture(MonoObject* managedInstance, const ResourceHandle<Texture>& value)
- :TScriptResource(managedInstance, value)
- {
- }
- void ScriptTexture::initRuntimeData()
- {
- metaData.scriptClass->addInternalCall("Internal_GetRef", (void*)&ScriptTexture::Internal_getRef);
- metaData.scriptClass->addInternalCall("Internal_create", (void*)&ScriptTexture::Internal_create);
- metaData.scriptClass->addInternalCall("Internal_getPixelFormat", (void*)&ScriptTexture::Internal_getPixelFormat);
- metaData.scriptClass->addInternalCall("Internal_getUsage", (void*)&ScriptTexture::Internal_getUsage);
- metaData.scriptClass->addInternalCall("Internal_getType", (void*)&ScriptTexture::Internal_getType);
- metaData.scriptClass->addInternalCall("Internal_getWidth", (void*)&ScriptTexture::Internal_getWidth);
- metaData.scriptClass->addInternalCall("Internal_getHeight", (void*)&ScriptTexture::Internal_getHeight);
- metaData.scriptClass->addInternalCall("Internal_getDepth", (void*)&ScriptTexture::Internal_getDepth);
- metaData.scriptClass->addInternalCall("Internal_getGammaCorrection", (void*)&ScriptTexture::Internal_getGammaCorrection);
- metaData.scriptClass->addInternalCall("Internal_getSampleCount", (void*)&ScriptTexture::Internal_getSampleCount);
- metaData.scriptClass->addInternalCall("Internal_getMipmapCount", (void*)&ScriptTexture::Internal_getMipmapCount);
- metaData.scriptClass->addInternalCall("Internal_getPixels", (void*)&ScriptTexture::Internal_getPixels);
- metaData.scriptClass->addInternalCall("Internal_getGPUPixels", (void*)&ScriptTexture::Internal_getGPUPixels);
- metaData.scriptClass->addInternalCall("Internal_setPixels", (void*)&ScriptTexture::Internal_setPixels);
- metaData.scriptClass->addInternalCall("Internal_setPixelsArray", (void*)&ScriptTexture::Internal_setPixelsArray);
- }
- MonoObject*ScriptTexture::createInstance()
- {
- bool dummy = false;
- void* ctorParams[1] = { &dummy };
- return metaData.scriptClass->createInstance("bool", ctorParams);
- }
- MonoObject* ScriptTexture::Internal_getRef(ScriptTexture* thisPtr)
- {
- return thisPtr->getRRef();
- }
- 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)
- {
- ResourceHandle<Texture> instance = TextureEx::create(format, width, height, depth, texType, usage, numSamples, hasMipmaps, gammaCorrection);
- ScriptResourceManager::instance().createBuiltinScriptResource(instance, managedInstance);
- }
- PixelFormat ScriptTexture::Internal_getPixelFormat(ScriptTexture* thisPtr)
- {
- PixelFormat tmp__output;
- tmp__output = TextureEx::getPixelFormat(thisPtr->getHandle());
- PixelFormat __output;
- __output = tmp__output;
- return __output;
- }
- TextureUsage ScriptTexture::Internal_getUsage(ScriptTexture* thisPtr)
- {
- TextureUsage tmp__output;
- tmp__output = TextureEx::getUsage(thisPtr->getHandle());
- TextureUsage __output;
- __output = tmp__output;
- return __output;
- }
- TextureType ScriptTexture::Internal_getType(ScriptTexture* thisPtr)
- {
- TextureType tmp__output;
- tmp__output = TextureEx::getType(thisPtr->getHandle());
- TextureType __output;
- __output = tmp__output;
- return __output;
- }
- uint32_t ScriptTexture::Internal_getWidth(ScriptTexture* thisPtr)
- {
- uint32_t tmp__output;
- tmp__output = TextureEx::getWidth(thisPtr->getHandle());
- uint32_t __output;
- __output = tmp__output;
- return __output;
- }
- uint32_t ScriptTexture::Internal_getHeight(ScriptTexture* thisPtr)
- {
- uint32_t tmp__output;
- tmp__output = TextureEx::getHeight(thisPtr->getHandle());
- uint32_t __output;
- __output = tmp__output;
- return __output;
- }
- uint32_t ScriptTexture::Internal_getDepth(ScriptTexture* thisPtr)
- {
- uint32_t tmp__output;
- tmp__output = TextureEx::getDepth(thisPtr->getHandle());
- uint32_t __output;
- __output = tmp__output;
- return __output;
- }
- bool ScriptTexture::Internal_getGammaCorrection(ScriptTexture* thisPtr)
- {
- bool tmp__output;
- tmp__output = TextureEx::getGammaCorrection(thisPtr->getHandle());
- bool __output;
- __output = tmp__output;
- return __output;
- }
- uint32_t ScriptTexture::Internal_getSampleCount(ScriptTexture* thisPtr)
- {
- uint32_t tmp__output;
- tmp__output = TextureEx::getSampleCount(thisPtr->getHandle());
- uint32_t __output;
- __output = tmp__output;
- return __output;
- }
- uint32_t ScriptTexture::Internal_getMipmapCount(ScriptTexture* thisPtr)
- {
- uint32_t tmp__output;
- tmp__output = TextureEx::getMipmapCount(thisPtr->getHandle());
- uint32_t __output;
- __output = tmp__output;
- return __output;
- }
- MonoObject* ScriptTexture::Internal_getPixels(ScriptTexture* thisPtr, uint32_t face, uint32_t mipLevel)
- {
- SPtr<PixelData> tmp__output;
- tmp__output = TextureEx::getPixels(thisPtr->getHandle(), face, mipLevel);
- MonoObject* __output;
- __output = ScriptPixelData::create(tmp__output);
- return __output;
- }
- MonoObject* ScriptTexture::Internal_getGPUPixels(ScriptTexture* thisPtr, uint32_t face, uint32_t mipLevel)
- {
- SPtr<AsyncOpEx> tmp__output;
- tmp__output = TextureEx::getGPUPixels(thisPtr->getHandle(), face, mipLevel);
- MonoObject* __output;
- __output = ScriptAsyncOpEx::create(tmp__output);
- return __output;
- }
- void ScriptTexture::Internal_setPixels(ScriptTexture* thisPtr, MonoObject* data, uint32_t face, uint32_t mipLevel)
- {
- SPtr<PixelData> tmpdata;
- ScriptPixelData* scriptdata;
- scriptdata = ScriptPixelData::toNative(data);
- if(scriptdata != nullptr)
- tmpdata = scriptdata->getInternal();
- TextureEx::setPixels(thisPtr->getHandle(), tmpdata, face, mipLevel);
- }
- void ScriptTexture::Internal_setPixelsArray(ScriptTexture* thisPtr, MonoArray* colors, uint32_t face, uint32_t mipLevel)
- {
- Vector<Color> veccolors;
- if(colors != nullptr)
- {
- ScriptArray arraycolors(colors);
- veccolors.resize(arraycolors.size());
- for(int i = 0; i < (int)arraycolors.size(); i++)
- {
- veccolors[i] = arraycolors.get<Color>(i);
- }
- }
- TextureEx::setPixelsArray(thisPtr->getHandle(), veccolors, face, mipLevel);
- }
- }
|