aseprite/src/app/commands/cmd_save_file.h

58 lines
1.4 KiB
C
Raw Normal View History

2015-02-12 15:16:25 +00:00
// Aseprite
// Copyright (C) 2022 Igara Studio S.A.
// Copyright (C) 2001-2018 David Capello
2015-02-12 15:16:25 +00:00
//
2016-08-26 20:02:58 +00:00
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
#ifndef APP_COMMANDS_CMD_SAVE_FILE_H_INCLUDED
#define APP_COMMANDS_CMD_SAVE_FILE_H_INCLUDED
2014-03-29 22:40:17 +00:00
#pragma once
#include "app/commands/command.h"
#include "doc/selected_frames.h"
#include <string>
namespace app {
2018-07-07 14:54:44 +00:00
class Doc;
class SaveFileBaseCommand : public Command {
public:
enum class MarkAsSaved { Off, On };
enum class SaveInBackground { Off, On };
SaveFileBaseCommand(const char* id, CommandFlags flags);
protected:
void onLoadParams(const Params& params) override;
bool onEnabled(Context* context) override;
std::string saveAsDialog(
Context* context,
const std::string& dlgTitle,
const std::string& filename,
const MarkAsSaved markAsSaved,
const SaveInBackground saveInBackground = SaveInBackground::On,
const std::string& forbiddenFilename = std::string());
void saveDocumentInBackground(
const Context* context,
2018-07-07 14:54:44 +00:00
Doc* document,
const std::string& filename,
const MarkAsSaved markAsSaved);
std::string m_filename;
std::string m_filenameFormat;
2019-10-01 17:55:08 +00:00
std::string m_tag;
std::string m_aniDir;
std::string m_slice;
doc::SelectedFrames m_selFrames;
2019-10-01 17:55:08 +00:00
bool m_adjustFramesByTag;
bool m_useUI;
bool m_ignoreEmpty;
};
} // namespace app
#endif