[aseprite] 147/308: Add JSON data format into Export Sprite Sheet UI
Tobias Hansen
thansen at moszumanska.debian.org
Tue Mar 8 02:45:03 UTC 2016
This is an automated email from the git hooks/post-receive script.
thansen pushed a commit to branch master
in repository aseprite.
commit e79236b3a38224ea3dba50a295a386108b2a0448
Author: David Capello <davidcapello at gmail.com>
Date: Tue Dec 22 17:34:51 2015 -0300
Add JSON data format into Export Sprite Sheet UI
---
data/pref.xml | 1 +
data/widgets/export_sprite_sheet.xml | 4 ++++
src/app/commands/cmd_export_sprite_sheet.cpp | 14 +++++++++++++-
src/app/pref/preferences.h | 1 +
4 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/data/pref.xml b/data/pref.xml
index c151c5b..32d9344 100644
--- a/data/pref.xml
+++ b/data/pref.xml
@@ -260,6 +260,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="data_format" type="DocumentExporter::DataFormat" default="DocumentExporter::DefaultDataFormat" />
<option id="border_padding" type="int" default="0" />
<option id="shape_padding" type="int" default="0" />
<option id="inner_padding" type="int" default="0" />
diff --git a/data/widgets/export_sprite_sheet.xml b/data/widgets/export_sprite_sheet.xml
index 1b9a427..2878af9 100644
--- a/data/widgets/export_sprite_sheet.xml
+++ b/data/widgets/export_sprite_sheet.xml
@@ -49,6 +49,10 @@
<hbox />
<hbox id="data_meta" cell_hspan="3">
+ <combobox id="data_format">
+ <listitem text="Hash" value="0" />
+ <listitem text="Array" value="1" />
+ </combobox>
<label text="Meta:" />
<check id="list_layers" text="Layers" />
<check id="list_tags" text="Frame Tags" />
diff --git a/src/app/commands/cmd_export_sprite_sheet.cpp b/src/app/commands/cmd_export_sprite_sheet.cpp
index 26324c9..b293ee8 100644
--- a/src/app/commands/cmd_export_sprite_sheet.cpp
+++ b/src/app/commands/cmd_export_sprite_sheet.cpp
@@ -359,6 +359,7 @@ public:
m_dataFilename = m_docPref.spriteSheet.dataFilename();
dataEnabled()->setSelected(!m_dataFilename.empty());
+ dataFormat()->setSelectedItemIndex(int(m_docPref.spriteSheet.dataFormat()));
listLayers()->setSelected(m_docPref.spriteSheet.listLayers());
listTags()->setSelected(m_docPref.spriteSheet.listFrameTags());
updateDataFields();
@@ -449,6 +450,13 @@ public:
return std::string();
}
+ DocumentExporter::DataFormat dataFormatValue() const {
+ if (dataEnabled()->isSelected())
+ return DocumentExporter::DataFormat(dataFormat()->getSelectedItemIndex());
+ else
+ return DocumentExporter::DefaultDataFormat;
+ }
+
int borderPaddingValue() const {
if (paddingEnabled()->isSelected()) {
int value = borderPadding()->textInt();
@@ -758,6 +766,7 @@ void ExportSpriteSheetCommand::onExecute(Context* context)
docPref.spriteSheet.bestFit(window.bestFitValue());
docPref.spriteSheet.textureFilename(window.filenameValue());
docPref.spriteSheet.dataFilename(window.dataFilenameValue());
+ docPref.spriteSheet.dataFormat(window.dataFormatValue());
docPref.spriteSheet.borderPadding(window.borderPaddingValue());
docPref.spriteSheet.shapePadding(window.shapePaddingValue());
docPref.spriteSheet.innerPadding(window.innerPaddingValue());
@@ -787,6 +796,7 @@ void ExportSpriteSheetCommand::onExecute(Context* context)
bool bestFit = docPref.spriteSheet.bestFit();
std::string filename = docPref.spriteSheet.textureFilename();
std::string dataFilename = docPref.spriteSheet.dataFilename();
+ DocumentExporter::DataFormat dataFormat = docPref.spriteSheet.dataFormat();
std::string layerName = docPref.spriteSheet.layer();
std::string frameTagName = docPref.spriteSheet.frameTag();
int borderPadding = docPref.spriteSheet.borderPadding();
@@ -877,8 +887,10 @@ void ExportSpriteSheetCommand::onExecute(Context* context)
DocumentExporter exporter;
if (!filename.empty())
exporter.setTextureFilename(filename);
- if (!dataFilename.empty())
+ if (!dataFilename.empty()) {
exporter.setDataFilename(dataFilename);
+ exporter.setDataFormat(dataFormat);
+ }
exporter.setTextureWidth(sheet_w);
exporter.setTextureHeight(sheet_h);
exporter.setSpriteSheetType(type);
diff --git a/src/app/pref/preferences.h b/src/app/pref/preferences.h
index 692b69c..0fd2c8b 100644
--- a/src/app/pref/preferences.h
+++ b/src/app/pref/preferences.h
@@ -10,6 +10,7 @@
#pragma once
#include "app/color.h"
+#include "app/document_exporter.h"
#include "app/pref/option.h"
#include "app/sprite_sheet_type.h"
#include "app/tools/freehand_algorithm.h"
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/aseprite.git
More information about the Pkg-games-commits
mailing list