mirror of
https://github.com/aseprite/aseprite.git
synced 2025-02-15 12:40:12 +00:00
Add support to create palettes for Indexed images (fix #751)
This commit is contained in:
parent
dd6c028477
commit
0d5ba77ba4
@ -55,10 +55,9 @@ public:
|
||||
private:
|
||||
|
||||
void onJob() override {
|
||||
render::create_palette_from_rgb(m_sprite,
|
||||
0, m_sprite->lastFrame(),
|
||||
m_withAlpha, m_palette,
|
||||
this);
|
||||
render::create_palette_from_sprite(
|
||||
m_sprite, 0, m_sprite->lastFrame(),
|
||||
m_withAlpha, m_palette, this);
|
||||
}
|
||||
|
||||
bool onPaletteOptimizerContinue() override {
|
||||
@ -83,9 +82,7 @@ ColorQuantizationCommand::ColorQuantizationCommand()
|
||||
|
||||
bool ColorQuantizationCommand::onEnabled(Context* context)
|
||||
{
|
||||
ContextWriter writer(context);
|
||||
Sprite* sprite(writer.sprite());
|
||||
return (sprite && sprite->pixelFormat() == IMAGE_RGB);
|
||||
return context->checkFlags(ContextFlags::ActiveDocumentIsWritable);
|
||||
}
|
||||
|
||||
void ColorQuantizationCommand::onExecute(Context* context)
|
||||
|
@ -739,7 +739,7 @@ void fop_post_load(FileOp* fop)
|
||||
sprite->getPalettes().size() <= 1 &&
|
||||
sprite->palette(frame_t(0))->isBlack()) {
|
||||
base::SharedPtr<Palette> palette(
|
||||
render::create_palette_from_rgb(
|
||||
render::create_palette_from_sprite(
|
||||
sprite, frame_t(0), sprite->lastFrame(), true,
|
||||
nullptr, nullptr));
|
||||
|
||||
|
@ -369,7 +369,8 @@ void ColorBar::onFocusPaletteView()
|
||||
void ColorBar::onBeforeExecuteCommand(CommandExecutionEvent& ev)
|
||||
{
|
||||
if (ev.command()->id() == CommandId::SetPalette ||
|
||||
ev.command()->id() == CommandId::LoadPalette)
|
||||
ev.command()->id() == CommandId::LoadPalette ||
|
||||
ev.command()->id() == CommandId::ColorQuantization)
|
||||
showRemap();
|
||||
}
|
||||
|
||||
|
@ -33,7 +33,7 @@ namespace render {
|
||||
using namespace doc;
|
||||
using namespace gfx;
|
||||
|
||||
Palette* create_palette_from_rgb(
|
||||
Palette* create_palette_from_sprite(
|
||||
const Sprite* sprite,
|
||||
frame_t fromFrame,
|
||||
frame_t toFrame,
|
||||
|
@ -44,7 +44,7 @@ namespace render {
|
||||
};
|
||||
|
||||
// Creates a new palette suitable to quantize the given RGB sprite to Indexed color.
|
||||
Palette* create_palette_from_rgb(
|
||||
Palette* create_palette_from_sprite(
|
||||
const Sprite* sprite,
|
||||
frame_t fromFrame,
|
||||
frame_t toFrame,
|
||||
|
Loading…
x
Reference in New Issue
Block a user