int32_t LuaGraphics::createImageData(lua_State *L) { auto graphics = Module::getInstance<Graphics>(ModuleType::GRAPHICS); auto width = static_cast<int32_t>(Lua::getInteger(L, 1)); auto height = static_cast<int32_t>(Lua::getInteger(L, 2)); auto data = Lua::getObject<Data>(L, 3, LuaType::Data); auto imageData = graphics->createImageData(width, height, data); Lua::pushObject(L, LuaType::ImageData, imageData); return 1; }
SPImageData* initializeImagesDataList(int numOfImages) { SPImageData* imagesDataList = NULL; int i; spCallocEr(imagesDataList, SPImageData, numOfImages, ERROR_AT_CREATEING_IMAGES_DATABASE_ITEMS, NULL); for (i = 0; i < numOfImages; i++){ //extract each relevant image data spValWcRn(((imagesDataList)[i] = createImageData(i)) != NULL, ERROR_AT_CREATEING_IMAGES_DATABASE_ITEMS, //roll-back freeAllImagesData(imagesDataList, i, false)); // false because features list is not yet allocated } return imagesDataList; }
SPImageData initializeWorkingImage() { SPImageData workingImage = NULL; spValRn((workingImage = createImageData(QUERY_IMAGE_DEFAULT_INDEX)) != NULL, ERROR_AT_CREATEING_QUERY_IMAGE_ITEM); return workingImage; }