예제 #1
0
	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;
	}
예제 #2
0
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;
}
예제 #3
0
SPImageData initializeWorkingImage() {
	SPImageData workingImage = NULL;
	spValRn((workingImage = createImageData(QUERY_IMAGE_DEFAULT_INDEX)) != NULL,
			ERROR_AT_CREATEING_QUERY_IMAGE_ITEM);
	return workingImage;
}