void TextureConverterDialog::SetupTexturePreview() { srcOffsetPrev = Vector2(0, 0); dstOffsetPrev = Vector2(0, 0); Texture *srcTexture = NULL; Texture *dstTexture = NULL; Texture *workingTexture = GetTextureForIndex(selectedItem); String workingTexturePath = GetWorkingTexturePath(workingTexture->relativePathname); bool isEnabled = Image::IsAlphaPremultiplicationEnabled(); bool isMipmaps = Texture::IsMipmapGenerationEnabled(); Image::EnableAlphaPremultiplication(false); Texture::DisableMipmapGeneration(); if(FileSystem::GetExtension(workingTexturePath) == ".png") { srcTexture = CreateFromImage(workingTexturePath); String dstPath = FileSystem::ReplaceExtension(workingTexturePath, ".pvr.png"); dstTexture = CreateFromImage(dstPath); } else { String srcPath = FileSystem::ReplaceExtension(workingTexturePath, ".png"); srcTexture = CreateFromImage(srcPath); String dstPath = FileSystem::ReplaceExtension(workingTexturePath, ".pvr.png"); dstTexture = CreateFromImage(dstPath); } if(srcTexture) { srcTexture->GeneratePixelesation(); } if(dstTexture) { dstTexture->GeneratePixelesation(); } if(isMipmaps) { Texture::EnableMipmapGeneration(); } Image::EnableAlphaPremultiplication(isEnabled); SetupZoomedPreview(srcTexture, srcPreview, srcZoomPreview); SetupZoomedPreview(dstTexture, dstPreview, dstZoomPreview); SafeRelease(srcTexture); SafeRelease(dstTexture); }
void CommandSetVisibilityArea::ApplyImage(DAVA::Image *image) { Sprite* visibilityToolSprite = visibilityToolProxy->GetSprite(); Texture* texture = Texture::CreateFromData(image->GetPixelFormat(), image->GetData(), image->GetWidth(), image->GetHeight(), false); texture->GeneratePixelesation(); Sprite* sprite = Sprite::CreateFromTexture(texture, 0, 0, image->GetWidth(), image->GetHeight()); RenderManager::Instance()->SetRenderTarget(visibilityToolSprite); RenderManager::Instance()->ClipPush(); RenderManager::Instance()->ClipRect(updatedRect); RenderManager::Instance()->ClearWithColor(0.f, 0.f, 0.f, 0.f); sprite->SetPosition(updatedRect.x, updatedRect.y); sprite->Draw(); RenderManager::Instance()->ClipPop(); RenderManager::Instance()->RestoreRenderTarget(); visibilityToolProxy->UpdateRect(updatedRect); SafeRelease(texture); SafeRelease(sprite); }