mirror of
https://github.com/aseprite/aseprite.git
synced 2025-03-29 10:20:48 +00:00
Add an option in "Export Sprite Sheet" to open the generated sprite sheet
This commit is contained in:
parent
62b9f30f92
commit
63485449f6
@ -147,6 +147,7 @@
|
||||
<option id="best_fit" type="bool" default="false" />
|
||||
<option id="texture_filename" type="std::string" />
|
||||
<option id="data_filename" type="std::string" />
|
||||
<option id="open_generated" type="bool" default="false" />
|
||||
</section>
|
||||
</document>
|
||||
|
||||
|
@ -24,6 +24,8 @@
|
||||
<check id="data_enabled" text="JSON Data:" />
|
||||
<button id="data_filename" cell_hspan="3" />
|
||||
|
||||
<check id="open_generated" text="Open generated sprite sheet" cell_hspan="4" />
|
||||
|
||||
<hbox cell_hspan="4">
|
||||
<boxfiller />
|
||||
<hbox homogeneous="true">
|
||||
|
@ -434,7 +434,7 @@ void App::initialize(const AppOptions& options)
|
||||
if (trim)
|
||||
m_exporter->setTrimCels(true);
|
||||
|
||||
m_exporter->exportSheet();
|
||||
base::UniquePtr<Document> spriteSheet(m_exporter->exportSheet());
|
||||
m_exporter.reset(NULL);
|
||||
|
||||
PRINTF("Export sprite sheet: Done\n");
|
||||
|
@ -121,6 +121,8 @@ public:
|
||||
if (m_docPref.spriteSheet.type() != app::gen::SpriteSheetType::NONE)
|
||||
sheetType()->setSelectedItemIndex((int)m_docPref.spriteSheet.type()-1);
|
||||
|
||||
openGenerated()->setSelected(m_docPref.spriteSheet.openGenerated());
|
||||
|
||||
for (int i=2; i<=8192; i*=2) {
|
||||
std::string value = base::convert_to<std::string>(i);
|
||||
if (i >= m_sprite->width()) fitWidth()->addItem(value);
|
||||
@ -210,6 +212,10 @@ public:
|
||||
return std::string();
|
||||
}
|
||||
|
||||
bool openGeneratedValue() {
|
||||
return openGenerated()->isSelected();
|
||||
}
|
||||
|
||||
protected:
|
||||
|
||||
void onSheetTypeChange() {
|
||||
@ -369,6 +375,7 @@ void ExportSpriteSheetCommand::onExecute(Context* context)
|
||||
docPref.spriteSheet.bestFit(window.bestFitValue());
|
||||
docPref.spriteSheet.textureFilename(window.filenameValue());
|
||||
docPref.spriteSheet.dataFilename(window.dataFilenameValue());
|
||||
docPref.spriteSheet.openGenerated(window.openGeneratedValue());
|
||||
}
|
||||
|
||||
m_type = docPref.spriteSheet.type();
|
||||
@ -418,11 +425,19 @@ void ExportSpriteSheetCommand::onExecute(Context* context)
|
||||
exporter.setTextureHeight(sheet_h);
|
||||
exporter.setTexturePack(true);
|
||||
exporter.addDocument(document);
|
||||
exporter.exportSheet();
|
||||
|
||||
base::UniquePtr<Document> newDocument(exporter.exportSheet());
|
||||
if (!newDocument)
|
||||
return;
|
||||
|
||||
StatusBar* statusbar = StatusBar::instance();
|
||||
if (statusbar)
|
||||
statusbar->showTip(1000, "Sprite Sheet Generated");
|
||||
|
||||
if (docPref.spriteSheet.openGenerated()) {
|
||||
newDocument->setContext(context);
|
||||
newDocument.release();
|
||||
}
|
||||
}
|
||||
|
||||
Command* CommandFactory::createExportSpriteSheetCommand()
|
||||
|
@ -95,7 +95,7 @@ namespace app {
|
||||
m_documents.push_back(Item(document, layer));
|
||||
}
|
||||
|
||||
void exportSheet();
|
||||
Document* exportSheet();
|
||||
|
||||
private:
|
||||
class Sample;
|
||||
|
Loading…
x
Reference in New Issue
Block a user