Replace base::UniquePtr -> std::unique_ptr

master
David Capello 2018-08-08 17:27:26 -03:00
parent b981818134
commit f2ed45e795
148 changed files with 676 additions and 706 deletions

2
laf

@ -1 +1 @@
Subproject commit f9eef03cbec5dc591e6e9604af6a2225382e5d0d
Subproject commit 2068f653224edfbfafc00a40a1d72a8e022d00d8

View File

@ -56,7 +56,6 @@
#include "base/fs.h"
#include "base/scoped_lock.h"
#include "base/split_string.h"
#include "base/unique_ptr.h"
#include "doc/sprite.h"
#include "fmt/format.h"
#include "render/render.h"
@ -68,6 +67,7 @@
#include "ui/ui.h"
#include <iostream>
#include <memory>
#ifdef ENABLE_SCRIPTING
#include "app/script/app_scripting.h"
@ -263,7 +263,7 @@ void App::initialize(const AppOptions& options)
// Process options
LOG("APP: Processing options...\n");
{
base::UniquePtr<CliDelegate> delegate;
std::unique_ptr<CliDelegate> delegate;
if (options.previewCLI())
delegate.reset(new PreviewCliDelegate);
else

View File

@ -14,10 +14,10 @@
#include "base/mutex.h"
#include "base/paths.h"
#include "base/unique_ptr.h"
#include "doc/pixel_format.h"
#include "obs/signal.h"
#include <memory>
#include <string>
#include <vector>
@ -84,7 +84,7 @@ namespace app {
tools::Tool* activeTool() const;
tools::ActiveToolManager* activeToolManager() const;
RecentFiles* recentFiles() const;
MainWindow* mainWindow() const { return m_mainWindow; }
MainWindow* mainWindow() const { return m_mainWindow.get(); }
Workspace* workspace() const;
ContextBar* contextBar() const;
Timeline* timeline() const;
@ -117,16 +117,16 @@ namespace app {
static App* m_instance;
base::UniquePtr<ui::UISystem> m_uiSystem;
std::unique_ptr<ui::UISystem> m_uiSystem;
CoreModules* m_coreModules;
Modules* m_modules;
LegacyModules* m_legacy;
bool m_isGui;
bool m_isShell;
base::UniquePtr<MainWindow> m_mainWindow;
std::unique_ptr<MainWindow> m_mainWindow;
base::paths m_files;
#ifdef ENABLE_UI
base::UniquePtr<AppBrushes> m_brushes;
std::unique_ptr<AppBrushes> m_brushes;
BackupIndicator* m_backupIndicator;
base::mutex m_backupIndicatorMutex;
#endif // ENABLE_UI

View File

@ -616,17 +616,17 @@ void AppMenus::syncNativeMenuItemKeyShortcuts(Menu* menu)
void AppMenus::updateMenusList()
{
m_menus.clear();
m_menus.push_back(m_rootMenu);
m_menus.push_back(m_tabPopupMenu);
m_menus.push_back(m_documentTabPopupMenu);
m_menus.push_back(m_layerPopupMenu);
m_menus.push_back(m_framePopupMenu);
m_menus.push_back(m_celPopupMenu);
m_menus.push_back(m_celMovementPopupMenu);
m_menus.push_back(m_frameTagPopupMenu);
m_menus.push_back(m_slicePopupMenu);
m_menus.push_back(m_palettePopupMenu);
m_menus.push_back(m_inkPopupMenu);
m_menus.push_back(m_rootMenu.get());
m_menus.push_back(m_tabPopupMenu.get());
m_menus.push_back(m_documentTabPopupMenu.get());
m_menus.push_back(m_layerPopupMenu.get());
m_menus.push_back(m_framePopupMenu.get());
m_menus.push_back(m_celPopupMenu.get());
m_menus.push_back(m_celMovementPopupMenu.get());
m_menus.push_back(m_frameTagPopupMenu.get());
m_menus.push_back(m_slicePopupMenu.get());
m_menus.push_back(m_palettePopupMenu.get());
m_menus.push_back(m_inkPopupMenu.get());
}
void AppMenus::createNativeMenus()
@ -684,7 +684,7 @@ void AppMenus::createNativeMenus()
}
#endif
createNativeSubmenus(m_osMenu, m_rootMenu);
createNativeSubmenus(m_osMenu, m_rootMenu.get());
#ifdef __APPLE__
{

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2017 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -12,11 +12,12 @@
#include "app/ui/key.h"
#include "app/widget_type_mismatch.h"
#include "base/disable_copying.h"
#include "base/unique_ptr.h"
#include "obs/connection.h"
#include "ui/base.h"
#include "ui/menu.h"
#include <memory>
class TiXmlElement;
class TiXmlHandle;
@ -47,18 +48,18 @@ namespace app {
// Updates the menu of recent files.
bool rebuildRecentList();
Menu* getRootMenu() { return m_rootMenu; }
Menu* getRootMenu() { return m_rootMenu.get(); }
MenuItem* getRecentListMenuitem() { return m_recentListMenuitem; }
Menu* getTabPopupMenu() { return m_tabPopupMenu; }
Menu* getDocumentTabPopupMenu() { return m_documentTabPopupMenu; }
Menu* getLayerPopupMenu() { return m_layerPopupMenu; }
Menu* getFramePopupMenu() { return m_framePopupMenu; }
Menu* getCelPopupMenu() { return m_celPopupMenu; }
Menu* getCelMovementPopupMenu() { return m_celMovementPopupMenu; }
Menu* getFrameTagPopupMenu() { return m_frameTagPopupMenu; }
Menu* getSlicePopupMenu() { return m_slicePopupMenu; }
Menu* getPalettePopupMenu() { return m_palettePopupMenu; }
Menu* getInkPopupMenu() { return m_inkPopupMenu; }
Menu* getTabPopupMenu() { return m_tabPopupMenu.get(); }
Menu* getDocumentTabPopupMenu() { return m_documentTabPopupMenu.get(); }
Menu* getLayerPopupMenu() { return m_layerPopupMenu.get(); }
Menu* getFramePopupMenu() { return m_framePopupMenu.get(); }
Menu* getCelPopupMenu() { return m_celPopupMenu.get(); }
Menu* getCelMovementPopupMenu() { return m_celMovementPopupMenu.get(); }
Menu* getFrameTagPopupMenu() { return m_frameTagPopupMenu.get(); }
Menu* getSlicePopupMenu() { return m_slicePopupMenu.get(); }
Menu* getPalettePopupMenu() { return m_palettePopupMenu.get(); }
Menu* getInkPopupMenu() { return m_inkPopupMenu.get(); }
void applyShortcutToMenuitemsWithCommand(Command* command, const Params& params,
const KeyPtr& key);
@ -76,19 +77,19 @@ namespace app {
void createNativeMenus();
void createNativeSubmenus(she::Menu* osMenu, const ui::Menu* uiMenu);
base::UniquePtr<Menu> m_rootMenu;
std::unique_ptr<Menu> m_rootMenu;
MenuItem* m_recentListMenuitem;
MenuItem* m_helpMenuitem;
base::UniquePtr<Menu> m_tabPopupMenu;
base::UniquePtr<Menu> m_documentTabPopupMenu;
base::UniquePtr<Menu> m_layerPopupMenu;
base::UniquePtr<Menu> m_framePopupMenu;
base::UniquePtr<Menu> m_celPopupMenu;
base::UniquePtr<Menu> m_celMovementPopupMenu;
base::UniquePtr<Menu> m_frameTagPopupMenu;
base::UniquePtr<Menu> m_slicePopupMenu;
base::UniquePtr<Menu> m_palettePopupMenu;
base::UniquePtr<Menu> m_inkPopupMenu;
std::unique_ptr<Menu> m_tabPopupMenu;
std::unique_ptr<Menu> m_documentTabPopupMenu;
std::unique_ptr<Menu> m_layerPopupMenu;
std::unique_ptr<Menu> m_framePopupMenu;
std::unique_ptr<Menu> m_celPopupMenu;
std::unique_ptr<Menu> m_celMovementPopupMenu;
std::unique_ptr<Menu> m_frameTagPopupMenu;
std::unique_ptr<Menu> m_slicePopupMenu;
std::unique_ptr<Menu> m_palettePopupMenu;
std::unique_ptr<Menu> m_inkPopupMenu;
obs::scoped_connection m_recentFilesConn;
std::vector<Menu*> m_menus;
she::Menu* m_osMenu;

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2015 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -11,10 +11,11 @@
#ifdef ENABLE_UPDATER
#include "base/thread.h"
#include "base/unique_ptr.h"
#include "ui/timer.h"
#include "updater/check_update.h"
#include <memory>
namespace app {
class CheckUpdateDelegate;
@ -43,8 +44,8 @@ namespace app {
CheckUpdateDelegate* m_delegate;
Preferences& m_preferences;
updater::Uuid m_uuid;
base::UniquePtr<base::thread> m_thread;
base::UniquePtr<CheckUpdateBackgroundJob> m_bgJob;
std::unique_ptr<base::thread> m_thread;
std::unique_ptr<CheckUpdateBackgroundJob> m_bgJob;
bool m_doCheck;
bool m_received;

View File

@ -10,8 +10,8 @@
#include "app/cli/cli_delegate.h"
#include "app/cli/cli_open_file.h"
#include "base/unique_ptr.h"
#include <memory>
#include <string>
#include <vector>
@ -33,7 +33,7 @@ namespace app {
CliDelegate* m_delegate;
const AppOptions& m_options;
base::UniquePtr<DocExporter> m_exporter;
std::unique_ptr<DocExporter> m_exporter;
};
} // namespace app

View File

@ -32,6 +32,7 @@
#endif
#include <iostream>
#include <memory>
namespace app {
@ -98,7 +99,7 @@ void DefaultCliDelegate::loadPalette(Context* ctx,
const CliOpenFile& cof,
const std::string& filename)
{
base::UniquePtr<doc::Palette> palette(load_palette(filename.c_str()));
std::unique_ptr<doc::Palette> palette(load_palette(filename.c_str()));
if (palette) {
Command* loadPalCommand = Commands::instance()->byId(CommandId::LoadPalette());
Params params;
@ -116,7 +117,7 @@ void DefaultCliDelegate::exportFiles(Context* ctx, DocExporter& exporter)
{
LOG("APP: Exporting sheet...\n");
base::UniquePtr<Doc> spriteSheet(exporter.exportSheet(ctx));
std::unique_ptr<Doc> spriteSheet(exporter.exportSheet(ctx));
// Sprite sheet isn't used, we just delete it.

View File

@ -16,10 +16,10 @@
#include "app/doc_exporter.h"
#include "app/file/file.h"
#include "base/fs.h"
#include "base/unique_ptr.h"
#include "doc/sprite.h"
#include <iostream>
#include <memory>
namespace app {
@ -131,7 +131,7 @@ void PreviewCliDelegate::saveFile(Context* ctx, const CliOpenFile& cof)
if (!cof.filenameFormat.empty())
std::cout << " - Filename format: '" << cof.filenameFormat << "'\n";
base::UniquePtr<FileOp> fop(
std::unique_ptr<FileOp> fop(
FileOp::createSaveDocumentOperation(
ctx,
cof.roi(),

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2015 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -11,9 +11,10 @@
#include "app/cmd.h"
#include "app/cmd/add_cel.h"
#include "app/cmd/with_sprite.h"
#include "base/unique_ptr.h"
#include "doc/frame.h"
#include <memory>
namespace doc {
class Sprite;
}
@ -39,7 +40,7 @@ namespace cmd {
void moveFrames(Layer* layer, frame_t fromThis, frame_t delta);
frame_t m_newFrame;
base::UniquePtr<AddCel> m_addCel;
std::unique_ptr<AddCel> m_addCel;
};
} // namespace cmd

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2016 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -12,9 +12,10 @@
#include "app/cmd/with_cel.h"
#include "app/cmd/with_image.h"
#include "app/cmd_sequence.h"
#include "base/unique_ptr.h"
#include "doc/image_ref.h"
#include <memory>
namespace app {
namespace cmd {
using namespace doc;
@ -38,7 +39,7 @@ namespace cmd {
void restore();
CmdSequence m_seq;
base::UniquePtr<WithImage> m_dstImage;
std::unique_ptr<WithImage> m_dstImage;
ImageRef m_copy;
gfx::Point m_offset;
int m_boundsX, m_boundsY;

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2015 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -11,10 +11,11 @@
#include "app/cmd.h"
#include "app/cmd/with_image.h"
#include "app/cmd_sequence.h"
#include "base/unique_ptr.h"
#include "doc/image_ref.h"
#include "gfx/fwd.h"
#include <memory>
namespace doc {
class Cel;
}
@ -41,7 +42,7 @@ namespace cmd {
void restore();
CmdSequence m_seq;
base::UniquePtr<WithImage> m_dstImage;
std::unique_ptr<WithImage> m_dstImage;
ImageRef m_copy;
int m_offsetX, m_offsetY;
color_t m_bgcolor;

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2015 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -33,7 +33,7 @@ void DeselectMask::onUndo()
{
Doc* doc = document();
doc->setMask(m_oldMask);
doc->setMask(m_oldMask.get());
doc->setMaskVisible(true);
m_oldMask.reset();

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2015 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -10,7 +10,8 @@
#include "app/cmd.h"
#include "app/cmd/with_document.h"
#include "base/unique_ptr.h"
#include <memory>
namespace doc {
class Mask;
@ -31,7 +32,7 @@ namespace cmd {
size_t onMemSize() const override;
private:
base::UniquePtr<Mask> m_oldMask;
std::unique_ptr<Mask> m_oldMask;
};
} // namespace cmd

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2015 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -27,7 +27,7 @@ void ReselectMask::onExecute()
Doc* doc = document();
if (m_oldMask) {
doc->setMask(m_oldMask);
doc->setMask(m_oldMask.get());
m_oldMask.reset();
}

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2015 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -10,7 +10,8 @@
#include "app/cmd.h"
#include "app/cmd/with_document.h"
#include "base/unique_ptr.h"
#include <memory>
namespace doc {
class Mask;
@ -31,7 +32,7 @@ namespace cmd {
size_t onMemSize() const override;
private:
base::UniquePtr<Mask> m_oldMask;
std::unique_ptr<Mask> m_oldMask;
};
} // namespace cmd

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2015 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -26,17 +26,17 @@ SetMask::SetMask(Doc* doc, Mask* newMask)
void SetMask::setNewMask(Mask* newMask)
{
m_newMask.reset(newMask ? new Mask(*newMask): nullptr);
setMask(m_newMask);
setMask(m_newMask.get());
}
void SetMask::onExecute()
{
setMask(m_newMask);
setMask(m_newMask.get());
}
void SetMask::onUndo()
{
setMask(m_oldMask);
setMask(m_oldMask.get());
}
size_t SetMask::onMemSize() const

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2015 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -10,8 +10,8 @@
#include "app/cmd.h"
#include "app/cmd/with_document.h"
#include "base/unique_ptr.h"
#include <memory>
#include <sstream>
namespace doc {
@ -38,8 +38,8 @@ namespace cmd {
private:
void setMask(Mask* mask);
base::UniquePtr<Mask> m_oldMask;
base::UniquePtr<Mask> m_newMask;
std::unique_ptr<Mask> m_oldMask;
std::unique_ptr<Mask> m_newMask;
};
} // namespace cmd

View File

@ -16,7 +16,6 @@
#include "app/cmd/set_palette.h"
#include "app/doc.h"
#include "app/doc_event.h"
#include "base/unique_ptr.h"
#include "doc/cel.h"
#include "doc/cels_range.h"
#include "doc/document.h"
@ -116,9 +115,9 @@ SetPixelFormat::SetPixelFormat(Sprite* sprite,
if (pal->frame() != 0)
m_seq.add(new cmd::RemovePalette(sprite, pal));
base::UniquePtr<Palette> graypal(Palette::createGrayscale());
std::unique_ptr<Palette> graypal(Palette::createGrayscale());
if (*graypal != *sprite->palette(0))
m_seq.add(new cmd::SetPalette(sprite, 0, graypal));
m_seq.add(new cmd::SetPalette(sprite, 0, graypal.get()));
}
}

View File

@ -20,7 +20,6 @@
#include "app/ui/editor/select_box_state.h"
#include "app/ui/skin/skin_theme.h"
#include "base/bind.h"
#include "base/unique_ptr.h"
#include "doc/image.h"
#include "doc/mask.h"
#include "doc/sprite.h"
@ -299,15 +298,15 @@ void CanvasSizeCommand::onExecute(Context* context)
if (context->isUIAvailable()) {
// load the window widget
base::UniquePtr<CanvasSizeWindow> window(new CanvasSizeWindow());
std::unique_ptr<CanvasSizeWindow> window(new CanvasSizeWindow());
window->remapWindow();
window->centerWindow();
load_window_pos(window, "CanvasSize");
load_window_pos(window.get(), "CanvasSize");
window->setVisible(true);
window->openWindowInForeground();
save_window_pos(window, "CanvasSize");
save_window_pos(window.get(), "CanvasSize");
if (!window->pressedOk())
return;

View File

@ -324,7 +324,7 @@ private:
Editor* m_editor;
doc::ImageRef m_image;
doc::ImageBufferPtr m_imageBuffer;
base::UniquePtr<ConvertThread> m_bgThread;
std::unique_ptr<ConvertThread> m_bgThread;
ConversionItem* m_selectedItem;
DitheringSelector* m_ditheringSelector;
};

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2017 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -21,8 +21,6 @@
#include "app/transaction.h"
#include "app/ui/color_bar.h"
#include "app/ui_context.h"
#include "base/unique_ptr.h"
#include "base/unique_ptr.h"
#include "doc/palette.h"
#include "doc/sprite.h"
#include "render/quantization.h"
@ -125,7 +123,7 @@ void ColorQuantizationCommand::onExecute(Context* context)
if (job.isCanceled())
return;
base::UniquePtr<Palette> newPalette(
std::unique_ptr<Palette> newPalette(
new Palette(createPal ? tmpPalette:
*get_current_palette()));

View File

@ -777,7 +777,7 @@ void ExportSpriteSheetCommand::onExecute(Context* context)
(!selLayers.empty() ? &selLayers: nullptr),
(!selFrames.empty() ? &selFrames: nullptr));
base::UniquePtr<Doc> newDocument(exporter.exportSheet(context));
std::unique_ptr<Doc> newDocument(exporter.exportSheet(context));
if (!newDocument)
return;
@ -787,11 +787,12 @@ void ExportSpriteSheetCommand::onExecute(Context* context)
// Copy background and grid preferences
{
DocumentPreferences& newDocPref(Preferences::instance().document(newDocument));
DocumentPreferences& newDocPref(
Preferences::instance().document(newDocument.get()));
newDocPref.bg = docPref.bg;
newDocPref.grid = docPref.grid;
newDocPref.pixelGrid = docPref.pixelGrid;
Preferences::instance().removeDocument(newDocument);
Preferences::instance().removeDocument(newDocument.get());
}
if (docPref.spriteSheet.openGenerated()) {

View File

@ -128,7 +128,7 @@ protected:
command->id() == CommandId::GotoLastFrame())) {
m_context->executeCommand(command, params);
invalidate();
m_render.reset(NULL); // Re-render
m_render.reset(nullptr); // Re-render
}
#if 0
// Play the animation
@ -200,38 +200,38 @@ protected:
render.setProjection(m_proj);
if (m_index_bg_color == -1) {
render.setupBackground(m_doc, m_doublebuf->pixelFormat());
render.renderBackground(m_doublebuf,
render.renderBackground(m_doublebuf.get(),
gfx::Clip(0, 0, -m_pos.x, -m_pos.y,
m_doublebuf->width(), m_doublebuf->height()));
}
else {
doc::clear_image(m_doublebuf, m_pal->getEntry(m_index_bg_color));
doc::clear_image(m_doublebuf.get(), m_pal->getEntry(m_index_bg_color));
}
switch (m_tiled) {
case TiledMode::NONE:
render.renderImage(m_doublebuf, m_render, m_pal, x, y,
render.renderImage(m_doublebuf.get(), m_render.get(), m_pal, x, y,
255, BlendMode::NORMAL);
break;
case TiledMode::X_AXIS:
for (u=x-w; u<ui::display_w()+w; u+=w)
render.renderImage(m_doublebuf, m_render, m_pal, u, y,
render.renderImage(m_doublebuf.get(), m_render.get(), m_pal, u, y,
255, BlendMode::NORMAL);
break;
case TiledMode::Y_AXIS:
for (v=y-h; v<ui::display_h()+h; v+=h)
render.renderImage(m_doublebuf, m_render, m_pal, x, v,
render.renderImage(m_doublebuf.get(), m_render.get(), m_pal, x, v,
255, BlendMode::NORMAL);
break;
case TiledMode::BOTH:
for (v=y-h; v<ui::display_h()+h; v+=h)
for (u=x-w; u<ui::display_w()+w; u+=w)
render.renderImage(m_doublebuf, m_render, m_pal, u, v,
render.renderImage(m_doublebuf.get(), m_render.get(), m_pal, u, v,
255, BlendMode::NORMAL);
break;
}
doc::convert_image_to_surface(m_doublebuf, m_pal,
doc::convert_image_to_surface(m_doublebuf.get(), m_pal,
m_doublesur, 0, 0, 0, 0, m_doublebuf->width(), m_doublebuf->height());
g->blit(m_doublesur, 0, 0, 0, 0, m_doublesur->width(), m_doublesur->height());
}
@ -247,8 +247,8 @@ private:
gfx::Point m_delta;
render::Projection m_proj;
int m_index_bg_color;
base::UniquePtr<Image> m_render;
base::UniquePtr<Image> m_doublebuf;
std::unique_ptr<Image> m_render;
std::unique_ptr<Image> m_doublebuf;
she::ScopedHandle<she::Surface> m_doublesur;
filters::TiledMode m_tiled;
};

View File

@ -394,10 +394,10 @@ void ImportSpriteSheetCommand::onExecute(Context* context)
// Add all frames+cels to the new layer
for (size_t i=0; i<animation.size(); ++i) {
// Create the cel.
base::UniquePtr<Cel> resultCel(new Cel(frame_t(i), animation[i]));
std::unique_ptr<Cel> resultCel(new Cel(frame_t(i), animation[i]));
// Add the cel in the layer.
api.addCel(resultLayer, resultCel);
api.addCel(resultLayer, resultCel.get());
resultCel.release();
}

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2017 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -14,7 +14,6 @@
#include "app/context_access.h"
#include "app/modules/gui.h"
#include "app/transaction.h"
#include "base/unique_ptr.h"
#include "doc/image.h"
#include "doc/mask.h"
#include "doc/primitives.h"
@ -66,7 +65,7 @@ void InvertMaskCommand::onExecute(Context* context)
Sprite* sprite(writer.sprite());
// Select all the sprite area
base::UniquePtr<Mask> mask(new Mask());
std::unique_ptr<Mask> mask(new Mask());
mask->replace(sprite->bounds());
// Remove in the new mask the current sprite marked region
@ -95,7 +94,7 @@ void InvertMaskCommand::onExecute(Context* context)
// Set the new mask
Transaction transaction(writer.context(), "Mask Invert", DoesntModifyDocument);
transaction.execute(new cmd::SetMask(document, mask));
transaction.execute(new cmd::SetMask(document, mask.get()));
transaction.commit();
document->generateMaskBoundaries();

View File

@ -68,7 +68,7 @@ void LoadMaskCommand::onExecute(Context* context)
m_filename = selectedFilename.front();
}
base::UniquePtr<Mask> mask(load_msk_file(m_filename.c_str()));
std::unique_ptr<Mask> mask(load_msk_file(m_filename.c_str()));
if (!mask) {
ui::Alert::show(fmt::format(Strings::alerts_error_loading_file(), m_filename));
return;
@ -78,7 +78,7 @@ void LoadMaskCommand::onExecute(Context* context)
ContextWriter writer(reader);
Doc* document = writer.document();
Transaction transaction(writer.context(), "Mask Load", DoesntModifyDocument);
transaction.execute(new cmd::SetMask(document, mask));
transaction.execute(new cmd::SetMask(document, mask.get()));
transaction.commit();
document->generateMaskBoundaries();

View File

@ -17,7 +17,6 @@
#include "app/i18n/strings.h"
#include "app/modules/palettes.h"
#include "base/fs.h"
#include "base/unique_ptr.h"
#include "doc/palette.h"
#include "fmt/format.h"
#include "ui/alert.h"
@ -79,7 +78,7 @@ void LoadPaletteCommand::onExecute(Context* context)
if (filename.empty())
return;
base::UniquePtr<doc::Palette> palette(load_palette(filename.c_str()));
std::unique_ptr<doc::Palette> palette(load_palette(filename.c_str()));
if (!palette) {
if (context->isUIAvailable())
ui::Alert::show(fmt::format(Strings::alerts_error_loading_file(), filename));
@ -88,7 +87,7 @@ void LoadPaletteCommand::onExecute(Context* context)
SetPaletteCommand* cmd = static_cast<SetPaletteCommand*>(
Commands::instance()->byId(CommandId::SetPalette()));
cmd->setPalette(palette);
cmd->setPalette(palette.get());
context->executeCommand(cmd);
}

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2017 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -25,7 +25,6 @@
#include "base/bind.h"
#include "base/chrono.h"
#include "base/convert_to.h"
#include "base/unique_ptr.h"
#include "doc/image.h"
#include "doc/mask.h"
#include "doc/sprite.h"
@ -56,7 +55,7 @@ private:
Mask* generateMask(const Sprite* sprite, const Image* image, int xpos, int ypos);
void maskPreview(const ContextReader& reader);
Window* m_window; // TODO we cannot use a UniquePtr because clone() needs a copy ctor
Window* m_window; // TODO we cannot use a std::unique_ptr because clone() needs a copy ctor
ColorButton* m_buttonColor;
CheckBox* m_checkPreview;
Slider* m_sliderTolerance;
@ -161,8 +160,8 @@ void MaskByColorCommand::onExecute(Context* context)
if (apply) {
Transaction transaction(writer.context(), "Mask by Color", DoesntModifyDocument);
base::UniquePtr<Mask> mask(generateMask(sprite, image, xpos, ypos));
transaction.execute(new cmd::SetMask(document, mask));
std::unique_ptr<Mask> mask(generateMask(sprite, image, xpos, ypos));
transaction.execute(new cmd::SetMask(document, mask.get()));
transaction.commit();
set_config_color("MaskColor", "Color", m_buttonColor->getColor());
@ -186,7 +185,7 @@ Mask* MaskByColorCommand::generateMask(const Sprite* sprite, const Image* image,
color = color_utils::color_for_image(m_buttonColor->getColor(), sprite->pixelFormat());
tolerance = m_sliderTolerance->getValue();
base::UniquePtr<Mask> mask(new Mask());
std::unique_ptr<Mask> mask(new Mask());
mask->byColor(image, color, tolerance);
mask->offsetOrigin(xpos, ypos);
@ -198,7 +197,7 @@ void MaskByColorCommand::maskPreview(const ContextReader& reader)
if (m_checkPreview->isSelected()) {
int xpos, ypos;
const Image* image = reader.image(&xpos, &ypos);
base::UniquePtr<Mask> mask(generateMask(reader.sprite(), image, xpos, ypos));
std::unique_ptr<Mask> mask(generateMask(reader.sprite(), image, xpos, ypos));
{
ContextWriter writer(reader);
@ -206,7 +205,7 @@ void MaskByColorCommand::maskPreview(const ContextReader& reader)
base::Chrono chrono;
#endif
writer.document()->generateMaskBoundaries(mask);
writer.document()->generateMaskBoundaries(mask.get());
#ifdef SHOW_BOUNDARIES_GEN_PERFORMANCE
double time = chrono.elapsed();

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2017 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -19,7 +19,6 @@
#include "app/doc_api.h"
#include "app/modules/gui.h"
#include "app/transaction.h"
#include "base/unique_ptr.h"
#include "doc/blend_internals.h"
#include "doc/cel.h"
#include "doc/image.h"

View File

@ -128,12 +128,12 @@ void ModifySelectionCommand::onExecute(Context* context)
Doc* document(writer.document());
Sprite* sprite(writer.sprite());
base::UniquePtr<Mask> mask(new Mask);
std::unique_ptr<Mask> mask(new Mask);
{
mask->reserve(sprite->bounds());
mask->freeze();
doc::algorithm::modify_selection(
m_modifier, document->mask(), mask, quantity, brush);
m_modifier, document->mask(), mask.get(), quantity, brush);
mask->unfreeze();
}
@ -141,7 +141,7 @@ void ModifySelectionCommand::onExecute(Context* context)
Transaction transaction(writer.context(),
friendlyName(),
DoesntModifyDocument);
transaction.execute(new cmd::SetMask(document, mask));
transaction.execute(new cmd::SetMask(document, mask.get()));
transaction.commit();
document->generateMaskBoundaries();

View File

@ -24,7 +24,6 @@
#include "app/util/clipboard.h"
#include "app/util/pixel_ratio.h"
#include "base/bind.h"
#include "base/unique_ptr.h"
#include "doc/cel.h"
#include "doc/image.h"
#include "doc/layer.h"
@ -163,7 +162,7 @@ void NewFileCommand::onExecute(Context* context)
ASSERT(format == IMAGE_RGB || format == IMAGE_GRAYSCALE || format == IMAGE_INDEXED);
ASSERT(w > 0 && h > 0);
base::UniquePtr<Sprite> sprite(Sprite::createBasicSprite(format, w, h, ncolors));
std::unique_ptr<Sprite> sprite(Sprite::createBasicSprite(format, w, h, ncolors));
if (window.advancedCheck()->isSelected()) {
sprite->setPixelRatio(
@ -200,7 +199,7 @@ void NewFileCommand::onExecute(Context* context)
}
// Show the sprite to the user
base::UniquePtr<Doc> doc(new Doc(sprite));
std::unique_ptr<Doc> doc(new Doc(sprite.get()));
sprite.release();
sprintf(buf, "Sprite-%04d", ++_sprite_counter);
doc->setFilename(buf);

View File

@ -60,8 +60,8 @@ void NewFrameTagCommand::onExecute(Context* context)
to = range.selectedFrames().lastFrame();
}
base::UniquePtr<FrameTag> frameTag(new FrameTag(from, to));
FrameTagWindow window(sprite, frameTag);
std::unique_ptr<FrameTag> frameTag(new FrameTag(from, to));
FrameTagWindow window(sprite, frameTag.get());
if (!window.show())
return;
@ -74,7 +74,7 @@ void NewFrameTagCommand::onExecute(Context* context)
{
ContextWriter writer(reader);
Transaction transaction(writer.context(), "New Frames Tag");
transaction.execute(new cmd::AddFrameTag(writer.sprite(), frameTag));
transaction.execute(new cmd::AddFrameTag(writer.sprite(), frameTag.get()));
frameTag.release();
transaction.commit();
}

View File

@ -61,7 +61,7 @@ void NewSpriteFromSelectionCommand::onExecute(Context* context)
Palette* palette = sprite->palette(site.frame());
base::UniquePtr<Sprite> dstSprite(
std::unique_ptr<Sprite> dstSprite(
Sprite::createBasicSprite(image->pixelFormat(),
image->width(),
image->height(),
@ -75,7 +75,7 @@ void NewSpriteFromSelectionCommand::onExecute(Context* context)
dstLayer->setFlags(site.layer()->flags()); // Copy all flags
copy_image(dstLayer->cel(frame_t(0))->image(), image.get());
base::UniquePtr<Doc> dstDoc(new Doc(dstSprite));
std::unique_ptr<Doc> dstDoc(new Doc(dstSprite.get()));
dstSprite.release();
char buf[1024];
std::sprintf(buf, "%s-%dx%d-%dx%d",

View File

@ -26,7 +26,6 @@
#include "base/bind.h"
#include "base/fs.h"
#include "base/thread.h"
#include "base/unique_ptr.h"
#include "doc/sprite.h"
#include "ui/ui.h"
@ -152,7 +151,7 @@ void OpenFileCommand::onExecute(Context* context)
flags |= FILE_LOAD_ONE_FRAME;
for (const auto& filename : filenames) {
base::UniquePtr<FileOp> fop(
std::unique_ptr<FileOp> fop(
FileOp::createLoadDocumentOperation(
context, filename, flags));
bool unrecent = false;
@ -181,7 +180,7 @@ void OpenFileCommand::onExecute(Context* context)
m_usedFiles.push_back(fop->filename());
}
OpenFileJob task(fop);
OpenFileJob task(fop.get());
task.showProgressWindow();
// Post-load processing, it is called from the GUI because may require user intervention.

View File

@ -22,7 +22,6 @@
#include "base/bind.h"
#include "base/fs.h"
#include "base/string.h"
#include "base/unique_ptr.h"
#include "doc/image.h"
#include "doc/image_ref.h"
#include "render/ordered_dither.h"
@ -138,7 +137,7 @@ private:
}
std::string m_face;
base::UniquePtr<FontPopup> m_fontPopup;
std::unique_ptr<FontPopup> m_fontPopup;
};
void PasteTextCommand::onExecute(Context* ctx)

View File

@ -126,7 +126,7 @@ protected:
// rotate mask
if (document()->isMaskVisible()) {
Mask* origMask = document()->mask();
base::UniquePtr<Mask> new_mask(new Mask());
std::unique_ptr<Mask> new_mask(new Mask());
const gfx::Rect& origBounds = origMask->bounds();
int x = 0, y = 0;
@ -153,7 +153,7 @@ protected:
doc::rotate_image(origMask->bitmap(), new_mask->bitmap(), m_angle);
// Copy new mask
api.copyToCurrentMask(new_mask);
api.copyToCurrentMask(new_mask.get());
// Regenerate mask
document()->resetTransformation();

View File

@ -37,7 +37,6 @@
#include "base/fs.h"
#include "base/scoped_value.h"
#include "base/thread.h"
#include "base/unique_ptr.h"
#include "doc/frame_tag.h"
#include "doc/sprite.h"
#include "fmt/format.h"
@ -185,7 +184,7 @@ void SaveFileBaseCommand::saveDocumentInBackground(
FileOpROI roi(document, m_slice, m_frameTag,
m_selFrames, m_adjustFramesByFrameTag);
base::UniquePtr<FileOp> fop(
std::unique_ptr<FileOp> fop(
FileOp::createSaveDocumentOperation(
context,
roi,
@ -194,7 +193,7 @@ void SaveFileBaseCommand::saveDocumentInBackground(
if (!fop)
return;
SaveFileJob job(fop);
SaveFileJob job(fop.get());
job.showProgressWindow();
if (fop->hasError()) {

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2015-2017 David Capello
// Copyright (C) 2015-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -75,7 +75,7 @@ void SelectTileCommand::onExecute(Context* ctx)
Doc* doc(writer.document());
auto& docPref = Preferences::instance().document(doc);
base::UniquePtr<Mask> mask(new Mask());
std::unique_ptr<Mask> mask(new Mask());
if (m_mode != gen::SelectionMode::DEFAULT)
mask->copyFrom(doc->mask());
@ -96,7 +96,7 @@ void SelectTileCommand::onExecute(Context* ctx)
Transaction transaction(writer.context(),
friendlyName(),
DoesntModifyDocument);
transaction.execute(new cmd::SetMask(doc, mask));
transaction.execute(new cmd::SetMask(doc, mask.get()));
transaction.commit();
doc->generateMaskBoundaries();

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2017 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -15,7 +15,6 @@
#include "app/ini_file.h"
#include "app/modules/palettes.h"
#include "app/transaction.h"
#include "base/unique_ptr.h"
#include "doc/palette.h"
#include "ui/alert.h"
#include "ui/manager.h"

View File

@ -19,7 +19,6 @@
#include "app/modules/palettes.h"
#include "app/sprite_job.h"
#include "base/bind.h"
#include "base/unique_ptr.h"
#include "doc/algorithm/resize_image.h"
#include "doc/cel.h"
#include "doc/cels_range.h"
@ -131,7 +130,7 @@ protected:
int w = scale_x(old_bitmap->width());
int h = scale_y(old_bitmap->height());
base::UniquePtr<Mask> new_mask(new Mask);
std::unique_ptr<Mask> new_mask(new Mask);
new_mask->replace(
gfx::Rect(
scale_x(document()->mask()->bounds().x-1),
@ -147,7 +146,7 @@ protected:
new_mask->intersect(new_mask->bounds());
// Copy new mask
api.copyToCurrentMask(new_mask);
api.copyToCurrentMask(new_mask.get());
// Regenerate mask
document()->resetTransformation();

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2017 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -18,7 +18,6 @@
#include "app/modules/gui.h"
#include "app/ui/color_button.h"
#include "base/bind.h"
#include "base/unique_ptr.h"
#include "doc/mask.h"
#include "doc/sprite.h"
#include "filters/color_curve.h"
@ -29,7 +28,7 @@ namespace app {
using namespace filters;
static base::UniquePtr<ColorCurve> the_curve;
static std::unique_ptr<ColorCurve> the_curve;
class ColorCurveWindow : public FilterWindow {
public:

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2017 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -53,11 +53,11 @@ public:
, m_filter(filter)
, m_controlsWidget(app::load_widget<Widget>("convolution_matrix.xml", "controls"))
, m_stock(stock)
, m_view(app::find_widget<View>(m_controlsWidget, "view"))
, m_stockListBox(app::find_widget<ListBox>(m_controlsWidget, "stock"))
, m_reloadButton(app::find_widget<Button>(m_controlsWidget, "reload"))
, m_view(app::find_widget<View>(m_controlsWidget.get(), "view"))
, m_stockListBox(app::find_widget<ListBox>(m_controlsWidget.get(), "stock"))
, m_reloadButton(app::find_widget<Button>(m_controlsWidget.get(), "reload"))
{
getContainer()->addChild(m_controlsWidget);
getContainer()->addChild(m_controlsWidget.get());
m_reloadButton->Click.connect(&ConvolutionMatrixWindow::onReloadStock, this);
m_stockListBox->Change.connect(base::Bind<void>(&ConvolutionMatrixWindow::onMatrixChange, this));
@ -133,7 +133,7 @@ private:
}
ConvolutionMatrixFilter& m_filter;
base::UniquePtr<Widget> m_controlsWidget;
std::unique_ptr<Widget> m_controlsWidget;
ConvolutionMatrixStock& m_stock;
View* m_view;
ListBox* m_stockListBox;

View File

@ -50,7 +50,7 @@ public:
, m_widthEntry(m_controlsWidget->width())
, m_heightEntry(m_controlsWidget->height())
{
getContainer()->addChild(m_controlsWidget);
getContainer()->addChild(m_controlsWidget.get());
m_widthEntry->setTextf("%d", m_filter.getWidth());
m_heightEntry->setTextf("%d", m_filter.getHeight());
@ -78,7 +78,7 @@ private:
}
MedianFilter& m_filter;
base::UniquePtr<gen::Despeckle> m_controlsWidget;
std::unique_ptr<gen::Despeckle> m_controlsWidget;
ExprEntry* m_widthEntry;
ExprEntry* m_heightEntry;
};

View File

@ -70,11 +70,11 @@ public:
WithoutTiledCheckBox)
, m_filter(filter)
, m_controlsWidget(app::load_widget<Widget>("replace_color.xml", "controls"))
, m_fromButton(app::find_widget<ColorButton>(m_controlsWidget, "from"))
, m_toButton(app::find_widget<ColorButton>(m_controlsWidget, "to"))
, m_toleranceSlider(app::find_widget<ui::Slider>(m_controlsWidget, "tolerance"))
, m_fromButton(app::find_widget<ColorButton>(m_controlsWidget.get(), "from"))
, m_toButton(app::find_widget<ColorButton>(m_controlsWidget.get(), "to"))
, m_toleranceSlider(app::find_widget<ui::Slider>(m_controlsWidget.get(), "tolerance"))
{
getContainer()->addChild(m_controlsWidget);
getContainer()->addChild(m_controlsWidget.get());
m_fromButton->setColor(m_filter.getFrom());
m_toButton->setColor(m_filter.getTo());
@ -121,7 +121,7 @@ private:
}
ReplaceColorFilterWrapper& m_filter;
base::UniquePtr<ui::Widget> m_controlsWidget;
std::unique_ptr<ui::Widget> m_controlsWidget;
ColorButton* m_fromButton;
ColorButton* m_toButton;
ui::Slider* m_toleranceSlider;

View File

@ -134,7 +134,7 @@ void FilterManagerImpl::beginForPreview()
}
m_row = m_nextRowToFlush = 0;
m_mask = m_previewMask;
m_mask = m_previewMask.get();
// If we have a tiled mode enabled, we'll apply the filter to the whole areaes
Editor* activeEditor = UIContext::instance()->activeEditor();

View File

@ -11,7 +11,6 @@
#include "app/commands/filters/cels_target.h"
#include "app/site.h"
#include "base/exception.h"
#include "base/unique_ptr.h"
#include "doc/image_impl.h"
#include "doc/image_ref.h"
#include "doc/pixel_format.h"
@ -143,13 +142,13 @@ namespace app {
int m_nextRowToFlush;
gfx::Rect m_bounds;
doc::Mask* m_mask;
base::UniquePtr<doc::Mask> m_previewMask;
std::unique_ptr<doc::Mask> m_previewMask;
doc::ImageBits<doc::BitmapTraits> m_maskBits;
doc::ImageBits<doc::BitmapTraits>::iterator m_maskIterator;
Target m_targetOrig; // Original targets
Target m_target; // Filtered targets
CelsTarget m_celsTarget;
base::UniquePtr<doc::Palette> m_oldPalette;
std::unique_ptr<doc::Palette> m_oldPalette;
std::unique_ptr<Transaction> m_transaction;
// Hooks

View File

@ -10,7 +10,6 @@
#include "base/mutex.h"
#include "base/thread.h"
#include "base/unique_ptr.h"
#include "ui/timer.h"
#include "ui/widget.h"
@ -38,7 +37,7 @@ namespace app {
FilterManagerImpl* m_filterMgr;
ui::Timer m_timer;
base::mutex m_filterMgrMutex;
base::UniquePtr<base::thread> m_filterThread;
std::unique_ptr<base::thread> m_filterThread;
bool m_filterIsDone;
};

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2017 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -19,7 +19,6 @@
#include "base/fstream_path.h"
#include "base/serialization.h"
#include "base/string.h"
#include "base/unique_ptr.h"
#include "doc/cel.h"
#include "doc/cel_data_io.h"
#include "doc/cel_io.h"
@ -222,7 +221,7 @@ private:
return (Sprite*)1;
}
base::UniquePtr<Sprite> spr(new Sprite(format, w, h, 256));
std::unique_ptr<Sprite> spr(new Sprite(format, w, h, 256));
m_sprite = spr.get();
spr->setTransparentColor(transparentColor);
@ -312,7 +311,7 @@ private:
std::string name = read_string(s);
if (type == ObjectType::LayerImage) {
base::UniquePtr<LayerImage> lay(new LayerImage(m_sprite));
std::unique_ptr<LayerImage> lay(new LayerImage(m_sprite));
lay->setName(name);
lay->setFlags(flags);
@ -336,7 +335,7 @@ private:
return lay.release();
}
else if (type == ObjectType::LayerGroup) {
base::UniquePtr<LayerGroup> lay(new LayerGroup(m_sprite));
std::unique_ptr<LayerGroup> lay(new LayerGroup(m_sprite));
lay->setName(name);
lay->setFlags(flags);
return lay.release();

View File

@ -25,7 +25,6 @@
#include "base/process.h"
#include "base/split_string.h"
#include "base/string.h"
#include "base/unique_ptr.h"
#include "doc/cancel_io.h"
namespace app {

View File

@ -17,7 +17,6 @@
#include "base/fstream_path.h"
#include "base/serialization.h"
#include "base/string.h"
#include "base/unique_ptr.h"
#include "doc/cancel_io.h"
#include "doc/cel.h"
#include "doc/cel_data_io.h"

View File

@ -24,7 +24,6 @@
#include "app/pref/preferences.h"
#include "app/util/create_cel_copy.h"
#include "base/memory.h"
#include "base/unique_ptr.h"
#include "doc/cel.h"
#include "doc/frame_tag.h"
#include "doc/layer.h"
@ -327,7 +326,7 @@ void Doc::copyLayerContent(const Layer* sourceLayer0, Doc* destDoc, Layer* destL
if (sourceCel->frame() > destLayer->sprite()->lastFrame())
break;
base::UniquePtr<Cel> newCel;
std::unique_ptr<Cel> newCel(nullptr);
auto it = linked.find(sourceCel->data()->id());
if (it != linked.end()) {
@ -342,7 +341,7 @@ void Doc::copyLayerContent(const Layer* sourceLayer0, Doc* destDoc, Layer* destL
linked.insert(std::make_pair(sourceCel->data()->id(), newCel.get()));
}
destLayer->addCel(newCel);
destLayer->addCel(newCel.get());
newCel.release();
}
}
@ -351,15 +350,15 @@ void Doc::copyLayerContent(const Layer* sourceLayer0, Doc* destDoc, Layer* destL
LayerGroup* destLayer = static_cast<LayerGroup*>(destLayer0);
for (Layer* sourceChild : sourceLayer->layers()) {
base::UniquePtr<Layer> destChild(NULL);
std::unique_ptr<Layer> destChild(nullptr);
if (sourceChild->isImage()) {
destChild.reset(new LayerImage(destLayer->sprite()));
copyLayerContent(sourceChild, destDoc, destChild);
copyLayerContent(sourceChild, destDoc, destChild.get());
}
else if (sourceChild->isGroup()) {
destChild.reset(new LayerGroup(destLayer->sprite()));
copyLayerContent(sourceChild, destDoc, destChild);
copyLayerContent(sourceChild, destDoc, destChild.get());
}
else {
ASSERT(false);
@ -386,13 +385,13 @@ void Doc::copyLayerContent(const Layer* sourceLayer0, Doc* destDoc, Layer* destL
Doc* Doc::duplicate(DuplicateType type) const
{
const Sprite* sourceSprite = sprite();
base::UniquePtr<Sprite> spriteCopyPtr(new Sprite(
std::unique_ptr<Sprite> spriteCopyPtr(new Sprite(
sourceSprite->pixelFormat(),
sourceSprite->width(),
sourceSprite->height(),
sourceSprite->palette(frame_t(0))->size()));
base::UniquePtr<Doc> documentCopy(new Doc(spriteCopyPtr));
std::unique_ptr<Doc> documentCopy(new Doc(spriteCopyPtr.get()));
Sprite* spriteCopy = spriteCopyPtr.release();
spriteCopy->setTotalFrames(sourceSprite->totalFrames());
@ -419,7 +418,9 @@ Doc* Doc::duplicate(DuplicateType type) const
case DuplicateExactCopy:
// Copy the layer group
copyLayerContent(sourceSprite->root(), documentCopy, spriteCopy->root());
copyLayerContent(sourceSprite->root(),
documentCopy.get(),
spriteCopy->root());
ASSERT((spriteCopy->backgroundLayer() && sourceSprite->backgroundLayer()) ||
(!spriteCopy->backgroundLayer() && !sourceSprite->backgroundLayer()));

View File

@ -16,7 +16,6 @@
#include "base/mutex.h"
#include "base/rw_lock.h"
#include "base/shared_ptr.h"
#include "base/unique_ptr.h"
#include "doc/blend_mode.h"
#include "doc/color.h"
#include "doc/document.h"
@ -76,8 +75,8 @@ namespace app {
//////////////////////////////////////////////////////////////////////
// Main properties
const DocUndo* undoHistory() const { return m_undo; }
DocUndo* undoHistory() { return m_undo; }
const DocUndo* undoHistory() const { return m_undo.get(); }
DocUndo* undoHistory() { return m_undo.get(); }
color_t bgColor() const;
color_t bgColor(Layer* layer) const;
@ -144,7 +143,7 @@ namespace app {
// Returns the current mask, it can be empty. The mask could be not
// empty but hidden to the user if the setMaskVisible(false) was
// used called before.
Mask* mask() const { return m_mask; }
Mask* mask() const { return m_mask.get(); }
// Sets the current mask. The new mask will be visible by default,
// so you don't need to call setMaskVisible(true).
@ -194,10 +193,10 @@ namespace app {
int m_flags;
// Undo and redo information about the document.
base::UniquePtr<DocUndo> m_undo;
std::unique_ptr<DocUndo> m_undo;
// Selected mask region boundaries
base::UniquePtr<doc::MaskBoundaries> m_maskBoundaries;
std::unique_ptr<doc::MaskBoundaries> m_maskBoundaries;
// Data to save the file in the same format that it was loaded
base::SharedPtr<FormatOptions> m_format_options;
@ -206,7 +205,7 @@ namespace app {
ExtraCelRef m_extraCel;
// Current mask.
base::UniquePtr<Mask> m_mask;
std::unique_ptr<Mask> m_mask;
// Current transformation.
Transformation m_transformation;

View File

@ -46,7 +46,6 @@
#include "app/doc.h"
#include "app/doc_undo.h"
#include "app/transaction.h"
#include "base/unique_ptr.h"
#include "doc/algorithm/flip_image.h"
#include "doc/algorithm/shrink_bounds.h"
#include "doc/cel.h"
@ -161,7 +160,7 @@ void DocApi::trimSprite(Sprite* sprite)
{
gfx::Rect bounds;
base::UniquePtr<Image> image_wrap(Image::create(sprite->pixelFormat(),
std::unique_ptr<Image> image_wrap(Image::create(sprite->pixelFormat(),
sprite->width(),
sprite->height()));
Image* image = image_wrap.get();
@ -513,7 +512,7 @@ void DocApi::layerFromBackground(Layer* layer)
Layer* DocApi::duplicateLayerAfter(Layer* sourceLayer, LayerGroup* parent, Layer* afterLayer)
{
ASSERT(parent);
base::UniquePtr<Layer> newLayerPtr;
std::unique_ptr<Layer> newLayerPtr;
if (sourceLayer->isImage())
newLayerPtr.reset(new LayerImage(sourceLayer->sprite()));
@ -522,11 +521,11 @@ Layer* DocApi::duplicateLayerAfter(Layer* sourceLayer, LayerGroup* parent, Layer
else
throw std::runtime_error("Invalid layer type");
m_document->copyLayerContent(sourceLayer, m_document, newLayerPtr);
m_document->copyLayerContent(sourceLayer, m_document, newLayerPtr.get());
newLayerPtr->setName(newLayerPtr->name() + " Copy");
addLayer(parent, newLayerPtr, afterLayer);
addLayer(parent, newLayerPtr.get(), afterLayer);
// Release the pointer as it is owned by the sprite now.
return newLayerPtr.release();
@ -546,9 +545,9 @@ Cel* DocApi::addCel(LayerImage* layer, frame_t frameNumber, const ImageRef& imag
{
ASSERT(layer->cel(frameNumber) == NULL);
base::UniquePtr<Cel> cel(new Cel(frameNumber, image));
std::unique_ptr<Cel> cel(new Cel(frameNumber, image));
addCel(layer, cel);
addCel(layer, cel.get());
return cel.release();
}

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2016 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -11,7 +11,6 @@
#include "app/doc_api.h"
#include "app/test_context.h"
#include "app/transaction.h"
#include "base/unique_ptr.h"
#include "doc/cel.h"
#include "doc/image.h"
#include "doc/primitives.h"
@ -19,7 +18,7 @@
using namespace app;
using namespace doc;
typedef base::UniquePtr<Doc> DocPtr;
typedef std::unique_ptr<Doc> DocPtr;
class BasicDocApiTest : public ::testing::Test {
public:
@ -130,7 +129,7 @@ TEST_F(BasicDocApiTest, MoveCel)
image1->putPixel(u, v, u+v*image1->width());
// Create a copy for later comparison.
base::UniquePtr<Image> expectedImage(Image::createCopy(image1));
std::unique_ptr<Image> expectedImage(Image::createCopy(image1));
Transaction transaction(&ctx, "");
doc->getApi(transaction).moveCel(
@ -146,7 +145,7 @@ TEST_F(BasicDocApiTest, MoveCel)
Image* image2 = cel2->image();
EXPECT_EQ(32, image2->width());
EXPECT_EQ(16, image2->height());
EXPECT_EQ(0, count_diff_between_images(expectedImage, image2));
EXPECT_EQ(0, count_diff_between_images(expectedImage.get(), image2));
EXPECT_EQ(2, cel2->x());
EXPECT_EQ(-2, cel2->y());
EXPECT_EQ(128, cel2->opacity());

View File

@ -23,7 +23,6 @@
#include "base/replace_string.h"
#include "base/shared_ptr.h"
#include "base/string.h"
#include "base/unique_ptr.h"
#include "doc/algorithm/shrink_bounds.h"
#include "doc/cel.h"
#include "doc/frame_tag.h"
@ -439,7 +438,7 @@ Doc* DocExporter::exportSheet(Context* ctx)
layoutSamples(samples);
// 3) Create and render the texture.
base::UniquePtr<Doc> textureDocument(
std::unique_ptr<Doc> textureDocument(
createEmptyTexture(samples));
Sprite* texture = textureDocument->sprite();
@ -539,15 +538,15 @@ void DocExporter::captureSamples(Samples& samples)
if (layer && layer->isImage() && !cel)
continue;
base::UniquePtr<Image> sampleRender(
std::unique_ptr<Image> sampleRender(
Image::create(sprite->pixelFormat(),
sprite->width(),
sprite->height(),
m_sampleRenderBuf));
sampleRender->setMaskColor(sprite->transparentColor());
clear_image(sampleRender, sprite->transparentColor());
renderSample(sample, sampleRender, 0, 0);
clear_image(sampleRender.get(), sprite->transparentColor());
renderSample(sample, sampleRender.get(), 0, 0);
gfx::Rect frameBounds;
doc::color_t refColor = 0;
@ -558,7 +557,7 @@ void DocExporter::captureSamples(Samples& samples)
(!layer &&
sprite->backgroundLayer() &&
sprite->backgroundLayer()->isVisible())) {
refColor = get_pixel(sampleRender, 0, 0);
refColor = get_pixel(sampleRender.get(), 0, 0);
}
else {
refColor = sprite->transparentColor();
@ -567,7 +566,7 @@ void DocExporter::captureSamples(Samples& samples)
else if (m_ignoreEmptyCels)
refColor = sprite->transparentColor();
if (!algorithm::shrink_bounds(sampleRender, frameBounds, refColor)) {
if (!algorithm::shrink_bounds(sampleRender.get(), frameBounds, refColor)) {
// If shrink_bounds() returns false, it's because the whole
// image is transparent (equal to the mask color).
@ -680,14 +679,14 @@ Doc* DocExporter::createEmptyTexture(const Samples& samples) const
gfx::Size textureSize = calculateSheetSize(samples);
base::UniquePtr<Sprite> sprite(
std::unique_ptr<Sprite> sprite(
Sprite::createBasicSprite(
pixelFormat, textureSize.w, textureSize.h, maxColors));
if (palette != NULL)
sprite->setPalette(palette, false);
base::UniquePtr<Doc> document(new Doc(sprite));
std::unique_ptr<Doc> document(new Doc(sprite.get()));
sprite.release();
return document.release();

View File

@ -14,7 +14,6 @@
#include "app/doc_undo.h"
#include "app/test_context.h"
#include "app/transaction.h"
#include "base/unique_ptr.h"
#include "doc/doc.h"
using namespace app;
@ -73,7 +72,7 @@ std::ostream& operator<<(std::ostream& os, const doc::LayerList& layers) {
} // namespace std
typedef base::UniquePtr<Doc> DocPtr;
typedef std::unique_ptr<Doc> DocPtr;
#define EXPECT_LAYER_ORDER(a, b, c, d) \
EXPECT_TRUE(expect_layer(a, 0)); \
@ -302,35 +301,35 @@ TEST_F(DocRangeOps, MoveLayersNoOp) {
// Move one layer to the same place
EXPECT_EQ(layers_range(layer1),
move_range(doc,
move_range(doc.get(),
layers_range(layer1),
layers_range(layer1), kDocRangeAfter));
EXPECT_LAYER_ORDER(layer1, layer2, layer3, layer4);
EXPECT_FALSE(doc->undoHistory()->canUndo());
EXPECT_EQ(layers_range(layer1),
move_range(doc,
move_range(doc.get(),
layers_range(layer1),
layers_range(layer2), kDocRangeBefore));
EXPECT_LAYER_ORDER(layer1, layer2, layer3, layer4);
EXPECT_FALSE(doc->undoHistory()->canUndo());
EXPECT_EQ(layers_range(layer4),
move_range(doc,
move_range(doc.get(),
layers_range(layer4),
layers_range(layer4), kDocRangeAfter));
EXPECT_LAYER_ORDER(layer1, layer2, layer3, layer4);
EXPECT_FALSE(doc->undoHistory()->canUndo());
EXPECT_EQ(layers_range(layer4),
move_range(doc,
move_range(doc.get(),
layers_range(layer4),
layers_range(layer4), kDocRangeBefore));
EXPECT_LAYER_ORDER(layer1, layer2, layer3, layer4);
EXPECT_FALSE(doc->undoHistory()->canUndo());
EXPECT_EQ(layers_range(layer4),
move_range(doc,
move_range(doc.get(),
layers_range(layer4),
layers_range(layer3), kDocRangeAfter));
EXPECT_LAYER_ORDER(layer1, layer2, layer3, layer4);
@ -339,70 +338,70 @@ TEST_F(DocRangeOps, MoveLayersNoOp) {
// Move two layer to the same place
EXPECT_EQ(layers_range(layer1, layer2),
move_range(doc,
move_range(doc.get(),
layers_range(layer1, layer2),
layers_range(layer1), kDocRangeBefore));
EXPECT_LAYER_ORDER(layer1, layer2, layer3, layer4);
EXPECT_FALSE(doc->undoHistory()->canUndo());
EXPECT_EQ(layers_range(layer1, layer2),
move_range(doc,
move_range(doc.get(),
layers_range(layer1, layer2),
layers_range(layer1), kDocRangeAfter));
EXPECT_LAYER_ORDER(layer1, layer2, layer3, layer4);
EXPECT_FALSE(doc->undoHistory()->canUndo());
EXPECT_EQ(layers_range(layer1, layer2),
move_range(doc,
move_range(doc.get(),
layers_range(layer1, layer2),
layers_range(layer2), kDocRangeBefore));
EXPECT_LAYER_ORDER(layer1, layer2, layer3, layer4);
EXPECT_FALSE(doc->undoHistory()->canUndo());
EXPECT_EQ(layers_range(layer1, layer2),
move_range(doc,
move_range(doc.get(),
layers_range(layer1, layer2),
layers_range(layer2), kDocRangeAfter));
EXPECT_LAYER_ORDER(layer1, layer2, layer3, layer4);
EXPECT_FALSE(doc->undoHistory()->canUndo());
EXPECT_EQ(layers_range(layer1, layer2),
move_range(doc,
move_range(doc.get(),
layers_range(layer1, layer2),
layers_range(layer3), kDocRangeBefore));
EXPECT_LAYER_ORDER(layer1, layer2, layer3, layer4);
EXPECT_FALSE(doc->undoHistory()->canUndo());
EXPECT_EQ(layers_range(layer3, layer4),
move_range(doc,
move_range(doc.get(),
layers_range(layer3, layer4),
layers_range(layer2), kDocRangeAfter));
EXPECT_LAYER_ORDER(layer1, layer2, layer3, layer4);
EXPECT_FALSE(doc->undoHistory()->canUndo());
EXPECT_EQ(layers_range(layer3, layer4),
move_range(doc,
move_range(doc.get(),
layers_range(layer3, layer4),
layers_range(layer3), kDocRangeBefore));
EXPECT_LAYER_ORDER(layer1, layer2, layer3, layer4);
EXPECT_FALSE(doc->undoHistory()->canUndo());
EXPECT_EQ(layers_range(layer3, layer4),
move_range(doc,
move_range(doc.get(),
layers_range(layer3, layer4),
layers_range(layer3), kDocRangeAfter));
EXPECT_LAYER_ORDER(layer1, layer2, layer3, layer4);
EXPECT_FALSE(doc->undoHistory()->canUndo());
EXPECT_EQ(layers_range(layer3, layer4),
move_range(doc,
move_range(doc.get(),
layers_range(layer3, layer4),
layers_range(layer4), kDocRangeBefore));
EXPECT_LAYER_ORDER(layer1, layer2, layer3, layer4);
EXPECT_FALSE(doc->undoHistory()->canUndo());
EXPECT_EQ(layers_range(layer3, layer4),
move_range(doc,
move_range(doc.get(),
layers_range(layer3, layer4),
layers_range(layer4), kDocRangeAfter));
EXPECT_LAYER_ORDER(layer1, layer2, layer3, layer4);
@ -414,7 +413,7 @@ TEST_F(DocRangeOps, MoveLayersNoOp) {
for (int i=0; i<2; ++i) {
for (int layer=0; layer<4; ++layer) {
EXPECT_EQ(layers_range(layer1, layer4),
move_range(doc,
move_range(doc.get(),
layers_range(layer1, layer4),
layers_range(layer), places[i]));
EXPECT_LAYER_ORDER(layer1, layer2, layer3, layer4);
@ -423,7 +422,7 @@ TEST_F(DocRangeOps, MoveLayersNoOp) {
for (int layer=0; layer<3; ++layer) {
EXPECT_EQ(layers_range(layer1, layer4),
move_range(doc,
move_range(doc.get(),
layers_range(layer1, layer4),
layers_range(layer, layer+1), places[i]));
EXPECT_LAYER_ORDER(layer1, layer2, layer3, layer4);
@ -432,7 +431,7 @@ TEST_F(DocRangeOps, MoveLayersNoOp) {
for (int layer=0; layer<2; ++layer) {
EXPECT_EQ(layers_range(layer1, layer4),
move_range(doc,
move_range(doc.get(),
layers_range(layer1, layer4),
layers_range(layer, layer+2), places[i]));
EXPECT_LAYER_ORDER(layer1, layer2, layer3, layer4);
@ -440,7 +439,7 @@ TEST_F(DocRangeOps, MoveLayersNoOp) {
}
EXPECT_EQ(layers_range(layer1, layer4),
move_range(doc,
move_range(doc.get(),
layers_range(layer1, layer4),
layers_range(layer1, layer4), places[i]));
EXPECT_LAYER_ORDER(layer1, layer2, layer3, layer4);
@ -452,35 +451,35 @@ TEST_F(DocRangeOps, MoveFramesNoOp) {
// Move one frame to the same place
EXPECT_EQ(frames_range(0),
move_range(doc,
move_range(doc.get(),
frames_range(0),
frames_range(0), kDocRangeAfter));
EXPECT_FRAME_ORDER(0, 1, 2, 3);
EXPECT_FALSE(doc->undoHistory()->canUndo());
EXPECT_EQ(frames_range(0),
move_range(doc,
move_range(doc.get(),
frames_range(0),
frames_range(1), kDocRangeBefore));
EXPECT_FRAME_ORDER(0, 1, 2, 3);
EXPECT_FALSE(doc->undoHistory()->canUndo());
EXPECT_EQ(frames_range(3),
move_range(doc,
move_range(doc.get(),
frames_range(3),
frames_range(3), kDocRangeAfter));
EXPECT_FRAME_ORDER(0, 1, 2, 3);
EXPECT_FALSE(doc->undoHistory()->canUndo());
EXPECT_EQ(frames_range(3),
move_range(doc,
move_range(doc.get(),
frames_range(3),
frames_range(3), kDocRangeBefore));
EXPECT_FRAME_ORDER(0, 1, 2, 3);
EXPECT_FALSE(doc->undoHistory()->canUndo());
EXPECT_EQ(frames_range(3),
move_range(doc,
move_range(doc.get(),
frames_range(3),
frames_range(2), kDocRangeAfter));
EXPECT_FRAME_ORDER(0, 1, 2, 3);
@ -489,70 +488,70 @@ TEST_F(DocRangeOps, MoveFramesNoOp) {
// Move two frame to the same place
EXPECT_EQ(frames_range(0, 1),
move_range(doc,
move_range(doc.get(),
frames_range(0, 1),
frames_range(0), kDocRangeBefore));
EXPECT_FRAME_ORDER(0, 1, 2, 3);
EXPECT_FALSE(doc->undoHistory()->canUndo());
EXPECT_EQ(frames_range(0, 1),
move_range(doc,
move_range(doc.get(),
frames_range(0, 1),
frames_range(0), kDocRangeAfter));
EXPECT_FRAME_ORDER(0, 1, 2, 3);
EXPECT_FALSE(doc->undoHistory()->canUndo());
EXPECT_EQ(frames_range(0, 1),
move_range(doc,
move_range(doc.get(),
frames_range(0, 1),
frames_range(1), kDocRangeBefore));
EXPECT_FRAME_ORDER(0, 1, 2, 3);
EXPECT_FALSE(doc->undoHistory()->canUndo());
EXPECT_EQ(frames_range(0, 1),
move_range(doc,
move_range(doc.get(),
frames_range(0, 1),
frames_range(1), kDocRangeAfter));
EXPECT_FRAME_ORDER(0, 1, 2, 3);
EXPECT_FALSE(doc->undoHistory()->canUndo());
EXPECT_EQ(frames_range(0, 1),
move_range(doc,
move_range(doc.get(),
frames_range(0, 1),
frames_range(2), kDocRangeBefore));
EXPECT_FRAME_ORDER(0, 1, 2, 3);
EXPECT_FALSE(doc->undoHistory()->canUndo());
EXPECT_EQ(frames_range(2, 3),
move_range(doc,
move_range(doc.get(),
frames_range(2, 3),
frames_range(1), kDocRangeAfter));
EXPECT_FRAME_ORDER(0, 1, 2, 3);
EXPECT_FALSE(doc->undoHistory()->canUndo());
EXPECT_EQ(frames_range(2, 3),
move_range(doc,
move_range(doc.get(),
frames_range(2, 3),
frames_range(2), kDocRangeBefore));
EXPECT_FRAME_ORDER(0, 1, 2, 3);
EXPECT_FALSE(doc->undoHistory()->canUndo());
EXPECT_EQ(frames_range(2, 3),
move_range(doc,
move_range(doc.get(),
frames_range(2, 3),
frames_range(2), kDocRangeAfter));
EXPECT_FRAME_ORDER(0, 1, 2, 3);
EXPECT_FALSE(doc->undoHistory()->canUndo());
EXPECT_EQ(frames_range(2, 3),
move_range(doc,
move_range(doc.get(),
frames_range(2, 3),
frames_range(3), kDocRangeBefore));
EXPECT_FRAME_ORDER(0, 1, 2, 3);
EXPECT_FALSE(doc->undoHistory()->canUndo());
EXPECT_EQ(frames_range(2, 3),
move_range(doc,
move_range(doc.get(),
frames_range(2, 3),
frames_range(3), kDocRangeAfter));
EXPECT_FRAME_ORDER(0, 1, 2, 3);
@ -564,7 +563,7 @@ TEST_F(DocRangeOps, MoveFramesNoOp) {
for (int i=0; i<2; ++i) {
for (int frame=0; frame<4; ++frame) {
EXPECT_EQ(frames_range(0, 3),
move_range(doc,
move_range(doc.get(),
frames_range(0, 3),
frames_range(frame), places[i]));
EXPECT_FRAME_ORDER(0, 1, 2, 3);
@ -573,7 +572,7 @@ TEST_F(DocRangeOps, MoveFramesNoOp) {
for (int frame=0; frame<3; ++frame) {
EXPECT_EQ(frames_range(0, 3),
move_range(doc,
move_range(doc.get(),
frames_range(0, 3),
frames_range(frame, frame+1), places[i]));
EXPECT_FRAME_ORDER(0, 1, 2, 3);
@ -582,7 +581,7 @@ TEST_F(DocRangeOps, MoveFramesNoOp) {
for (int frame=0; frame<2; ++frame) {
EXPECT_EQ(frames_range(0, 3),
move_range(doc,
move_range(doc.get(),
frames_range(0, 3),
frames_range(frame, frame+2), places[i]));
EXPECT_FRAME_ORDER(0, 1, 2, 3);
@ -590,7 +589,7 @@ TEST_F(DocRangeOps, MoveFramesNoOp) {
}
EXPECT_EQ(frames_range(0, 3),
move_range(doc,
move_range(doc.get(),
frames_range(0, 3),
frames_range(0, 3), places[i]));
EXPECT_FRAME_ORDER(0, 1, 2, 3);
@ -600,7 +599,7 @@ TEST_F(DocRangeOps, MoveFramesNoOp) {
TEST_F(DocRangeOps, MoveCelsNoOp) {
EXPECT_EQ(cels_range(0, 0, 1, 1),
move_range(doc,
move_range(doc.get(),
cels_range(0, 0, 1, 1),
cels_range(0, 0, 1, 1), kDocRangeAfter));
EXPECT_CEL(0, 0, 0, 0);
@ -617,7 +616,7 @@ TEST_F(DocRangeOps, CopyCelsNoOp) {
TEST_F(DocRangeOps, MoveLayers) {
// One layer at the bottom of another
EXPECT_EQ(layers_range(layer1),
move_range(doc,
move_range(doc.get(),
layers_range(layer1),
layers_range(layer2), kDocRangeAfter));
EXPECT_LAYER_ORDER(layer2, layer1, layer3, layer4);
@ -626,7 +625,7 @@ TEST_F(DocRangeOps, MoveLayers) {
// One layer at the bottom
EXPECT_EQ(layers_range(layer2),
move_range(doc,
move_range(doc.get(),
layers_range(layer2),
layers_range(layer1), kDocRangeBefore));
EXPECT_LAYER_ORDER(layer2, layer1, layer3, layer4);
@ -636,7 +635,7 @@ TEST_F(DocRangeOps, MoveLayers) {
// Try with a background
layer1->setBackground(true);
EXPECT_THROW({
move_range(doc,
move_range(doc.get(),
layers_range(layer1),
layers_range(layer2), kDocRangeAfter);
}, std::exception);
@ -645,7 +644,7 @@ TEST_F(DocRangeOps, MoveLayers) {
// Move one layer to the top
EXPECT_EQ(layers_range(layer2),
move_range(doc,
move_range(doc.get(),
layers_range(layer2),
layers_range(layer4), kDocRangeAfter));
EXPECT_LAYER_ORDER(layer1, layer3, layer4, layer2);
@ -654,7 +653,7 @@ TEST_F(DocRangeOps, MoveLayers) {
// Move one layers before other
EXPECT_EQ(layers_range(layer2),
move_range(doc,
move_range(doc.get(),
layers_range(layer2),
layers_range(layer4), kDocRangeBefore));
EXPECT_LAYER_ORDER(layer1, layer3, layer2, layer4);
@ -662,7 +661,7 @@ TEST_F(DocRangeOps, MoveLayers) {
EXPECT_LAYER_ORDER(layer1, layer2, layer3, layer4);
EXPECT_EQ(layers_range(layer1),
move_range(doc,
move_range(doc.get(),
layers_range(layer1),
layers_range(layer3, layer4), kDocRangeBefore));
EXPECT_LAYER_ORDER(layer2, layer1, layer3, layer4);
@ -671,13 +670,13 @@ TEST_F(DocRangeOps, MoveLayers) {
// Move two layers on top of other
EXPECT_EQ(layers_range(layer2, layer3),
move_range(doc,
move_range(doc.get(),
layers_range(layer2, layer3),
layers_range(layer4), kDocRangeAfter));
EXPECT_LAYER_ORDER(layer1, layer4, layer2, layer3);
EXPECT_EQ(layers_range(layer2, layer3),
move_range(doc,
move_range(doc.get(),
layers_range(layer2, layer3),
layers_range(layer1), kDocRangeAfter));
EXPECT_LAYER_ORDER(layer1, layer2, layer3, layer4);
@ -685,7 +684,7 @@ TEST_F(DocRangeOps, MoveLayers) {
// Move three layers at the bottom (but we cannot because the bottom is a background layer)
layer1->setBackground(true);
EXPECT_THROW({
move_range(doc,
move_range(doc.get(),
layers_range(layer2, layer4),
layers_range(layer1), kDocRangeBefore);
}, std::exception);
@ -694,7 +693,7 @@ TEST_F(DocRangeOps, MoveLayers) {
// Move three layers at the top
EXPECT_EQ(layers_range(layer1, layer3),
move_range(doc,
move_range(doc.get(),
layers_range(layer1, layer3),
layers_range(layer4), kDocRangeAfter));
EXPECT_LAYER_ORDER(layer4, layer1, layer2, layer3);
@ -703,7 +702,7 @@ TEST_F(DocRangeOps, MoveLayers) {
// Move three layers at the bottom
EXPECT_EQ(layers_range(layer2, layer4),
move_range(doc,
move_range(doc.get(),
layers_range(layer2, layer4),
layers_range(layer1), kDocRangeBefore));
EXPECT_LAYER_ORDER(layer2, layer3, layer4, layer1);
@ -714,7 +713,7 @@ TEST_F(DocRangeOps, MoveLayers) {
TEST_F(DocRangeOps, MoveFrames) {
// Move frame 0 after 1
EXPECT_EQ(frames_range(1),
move_range(doc,
move_range(doc.get(),
frames_range(0),
frames_range(1), kDocRangeAfter));
EXPECT_FRAME_ORDER(1, 0, 2, 3);
@ -724,7 +723,7 @@ TEST_F(DocRangeOps, MoveFrames) {
// Move frame 1 after frame 5 (at the end)
EXPECT_FRAME_ORDER6(0, 1, 2, 3, 4, 5);
EXPECT_EQ(frames_range(5),
move_range(doc,
move_range(doc.get(),
frames_range(1),
frames_range(5), kDocRangeAfter));
EXPECT_FRAME_ORDER6(0, 2, 3, 4, 5, 1);
@ -734,7 +733,7 @@ TEST_F(DocRangeOps, MoveFrames) {
// Move frames 1,2 after 5
EXPECT_EQ(frames_range(4, 5),
move_range(
doc,
doc.get(),
frames_range(1, 2),
frames_range(5), kDocRangeAfter));
EXPECT_FRAME_ORDER6(0, 3, 4, 5, 1, 2);
@ -743,7 +742,7 @@ TEST_F(DocRangeOps, MoveFrames) {
// Move frames 1,2 after 3
EXPECT_EQ(frames_range(1, 2),
move_range(doc,
move_range(doc.get(),
frames_range(2, 3),
frames_range(0), kDocRangeAfter));
EXPECT_FRAME_ORDER(0, 2, 3, 1);
@ -752,7 +751,7 @@ TEST_F(DocRangeOps, MoveFrames) {
// Move three frames at the beginning
EXPECT_EQ(frames_range(0, 2),
move_range(doc,
move_range(doc.get(),
frames_range(1, 3),
frames_range(0), kDocRangeBefore));
EXPECT_FRAME_ORDER(1, 2, 3, 0);
@ -761,7 +760,7 @@ TEST_F(DocRangeOps, MoveFrames) {
// Move three frames at the end
EXPECT_EQ(frames_range(1, 3),
move_range(doc,
move_range(doc.get(),
frames_range(0, 2),
frames_range(3), kDocRangeAfter));
EXPECT_FRAME_ORDER(3, 0, 1, 2);
@ -779,7 +778,7 @@ TEST_F(DocRangeOps, MoveFramesNonAdjacent) {
// Move frames 0,2 after 3...
EXPECT_EQ(frames_range(2, 3),
move_range(doc, from, frames_range(3), kDocRangeAfter));
move_range(doc.get(), from, frames_range(3), kDocRangeAfter));
EXPECT_FRAME_ORDER(1, 3, 0, 2);
doc->undoHistory()->undo();
EXPECT_FRAME_ORDER(0, 1, 2, 3);
@ -787,7 +786,7 @@ TEST_F(DocRangeOps, MoveFramesNonAdjacent) {
// Move frames 0,2 before 3...
EXPECT_EQ(frames_range(1, 2),
move_range(doc, from, frames_range(3), kDocRangeBefore));
move_range(doc.get(), from, frames_range(3), kDocRangeBefore));
EXPECT_FRAME_ORDER(1, 0, 2, 3);
doc->undoHistory()->undo();
EXPECT_FRAME_ORDER(0, 1, 2, 3);
@ -795,7 +794,7 @@ TEST_F(DocRangeOps, MoveFramesNonAdjacent) {
// Move frames 0,2 before 0...
EXPECT_EQ(frames_range(0, 1),
move_range(doc, from, frames_range(0), kDocRangeBefore));
move_range(doc.get(), from, frames_range(0), kDocRangeBefore));
EXPECT_FRAME_ORDER(0, 2, 1, 3);
doc->undoHistory()->undo();
EXPECT_FRAME_ORDER(0, 1, 2, 3);
@ -803,7 +802,7 @@ TEST_F(DocRangeOps, MoveFramesNonAdjacent) {
// Move frames 0,2 after 0...
EXPECT_EQ(frames_range(0, 1),
move_range(doc, from, frames_range(0), kDocRangeAfter));
move_range(doc.get(), from, frames_range(0), kDocRangeAfter));
EXPECT_FRAME_ORDER(0, 2, 1, 3);
doc->undoHistory()->undo();
EXPECT_FRAME_ORDER(0, 1, 2, 3);
@ -811,7 +810,7 @@ TEST_F(DocRangeOps, MoveFramesNonAdjacent) {
// Move frames 0,2 before 1...
EXPECT_EQ(frames_range(0, 1),
move_range(doc, from, frames_range(1), kDocRangeBefore));
move_range(doc.get(), from, frames_range(1), kDocRangeBefore));
EXPECT_FRAME_ORDER(0, 2, 1, 3);
doc->undoHistory()->undo();
EXPECT_FRAME_ORDER(0, 1, 2, 3);
@ -819,7 +818,7 @@ TEST_F(DocRangeOps, MoveFramesNonAdjacent) {
// Move frames 0,2 after 1...
EXPECT_EQ(frames_range(1, 2),
move_range(doc, from, frames_range(1), kDocRangeAfter));
move_range(doc.get(), from, frames_range(1), kDocRangeAfter));
EXPECT_FRAME_ORDER(1, 0, 2, 3);
doc->undoHistory()->undo();
EXPECT_FRAME_ORDER(0, 1, 2, 3);
@ -836,7 +835,7 @@ TEST_F(DocRangeOps, MoveFramesNonAdjacent) {
EXPECT_FRAME_ORDER6(0, 1, 2, 3, 4, 5);
EXPECT_EQ(frames_range(2, 4),
move_range(doc, from, frames_range(4), kDocRangeBefore));
move_range(doc.get(), from, frames_range(4), kDocRangeBefore));
EXPECT_FRAME_ORDER6(0, 3, 1, 2, 5, 4);
doc->undoHistory()->undo();
EXPECT_FRAME_ORDER6(0, 1, 2, 3, 4, 5);
@ -844,7 +843,7 @@ TEST_F(DocRangeOps, MoveFramesNonAdjacent) {
// Move 1,2,5 after 4...
EXPECT_EQ(frames_range(3, 5),
move_range(doc, from, frames_range(4), kDocRangeAfter));
move_range(doc.get(), from, frames_range(4), kDocRangeAfter));
EXPECT_FRAME_ORDER6(0, 3, 4, 1, 2, 5);
doc->undoHistory()->undo();
EXPECT_FRAME_ORDER6(0, 1, 2, 3, 4, 5);
@ -852,7 +851,7 @@ TEST_F(DocRangeOps, MoveFramesNonAdjacent) {
// Move 1,2,5 before 2...
EXPECT_EQ(frames_range(1, 3),
move_range(doc, from, frames_range(2), kDocRangeBefore));
move_range(doc.get(), from, frames_range(2), kDocRangeBefore));
EXPECT_FRAME_ORDER6(0, 1, 2, 5, 3, 4);
doc->undoHistory()->undo();
EXPECT_FRAME_ORDER6(0, 1, 2, 3, 4, 5);
@ -860,7 +859,7 @@ TEST_F(DocRangeOps, MoveFramesNonAdjacent) {
// Move 1,2,5 after 2...
EXPECT_EQ(frames_range(1, 3),
move_range(doc, from, frames_range(2), kDocRangeAfter));
move_range(doc.get(), from, frames_range(2), kDocRangeAfter));
EXPECT_FRAME_ORDER6(0, 1, 2, 5, 3, 4);
doc->undoHistory()->undo();
EXPECT_FRAME_ORDER6(0, 1, 2, 3, 4, 5);
@ -868,7 +867,7 @@ TEST_F(DocRangeOps, MoveFramesNonAdjacent) {
// Move 1,2,5 before 1...
EXPECT_EQ(frames_range(1, 3),
move_range(doc, from, frames_range(1), kDocRangeBefore));
move_range(doc.get(), from, frames_range(1), kDocRangeBefore));
EXPECT_FRAME_ORDER6(0, 1, 2, 5, 3, 4);
doc->undoHistory()->undo();
EXPECT_FRAME_ORDER6(0, 1, 2, 3, 4, 5);
@ -886,7 +885,7 @@ TEST_F(DocRangeOps, MoveFramesNonAdjacent) {
// Move 1,3,5 before 4...
EXPECT_EQ(frames_range(2, 4),
move_range(doc, from, frames_range(4), kDocRangeBefore));
move_range(doc.get(), from, frames_range(4), kDocRangeBefore));
EXPECT_FRAME_ORDER6(0, 2, 1, 3, 5, 4);
doc->undoHistory()->undo();
EXPECT_FRAME_ORDER6(0, 1, 2, 3, 4, 5);
@ -894,7 +893,7 @@ TEST_F(DocRangeOps, MoveFramesNonAdjacent) {
// Move 1,3,5 after 4...
EXPECT_EQ(frames_range(3, 5),
move_range(doc, from, frames_range(4), kDocRangeAfter));
move_range(doc.get(), from, frames_range(4), kDocRangeAfter));
EXPECT_FRAME_ORDER6(0, 2, 4, 1, 3, 5);
doc->undoHistory()->undo();
EXPECT_FRAME_ORDER6(0, 1, 2, 3, 4, 5);
@ -902,7 +901,7 @@ TEST_F(DocRangeOps, MoveFramesNonAdjacent) {
// Move 1,3,5 before 5...
EXPECT_EQ(frames_range(3, 5),
move_range(doc, from, frames_range(5), kDocRangeBefore));
move_range(doc.get(), from, frames_range(5), kDocRangeBefore));
EXPECT_FRAME_ORDER6(0, 2, 4, 1, 3, 5);
doc->undoHistory()->undo();
EXPECT_FRAME_ORDER6(0, 1, 2, 3, 4, 5);
@ -910,7 +909,7 @@ TEST_F(DocRangeOps, MoveFramesNonAdjacent) {
// Move 1,3,5 after 5...
EXPECT_EQ(frames_range(3, 5),
move_range(doc, from, frames_range(5), kDocRangeAfter));
move_range(doc.get(), from, frames_range(5), kDocRangeAfter));
EXPECT_FRAME_ORDER6(0, 2, 4, 1, 3, 5);
doc->undoHistory()->undo();
EXPECT_FRAME_ORDER6(0, 1, 2, 3, 4, 5);
@ -919,7 +918,7 @@ TEST_F(DocRangeOps, MoveFramesNonAdjacent) {
TEST_F(DocRangeOps, MoveCels) {
DocRangePlace ignore = kDocRangeBefore;
move_range(doc,
move_range(doc.get(),
cels_range(0, 0, 0, 0),
cels_range(0, 1, 0, 1), ignore);
EXPECT_CEL(0, 0, 0, 1);
@ -927,7 +926,7 @@ TEST_F(DocRangeOps, MoveCels) {
doc->undoHistory()->undo();
EXPECT_CEL(0, 0, 0, 0);
move_range(doc,
move_range(doc.get(),
cels_range(0, 0, 0, 1),
cels_range(0, 2, 0, 3), ignore);
EXPECT_CEL(0, 0, 0, 2);
@ -936,7 +935,7 @@ TEST_F(DocRangeOps, MoveCels) {
EXPECT_EMPTY_CEL(0, 1);
doc->undoHistory()->undo();
move_range(doc,
move_range(doc.get(),
cels_range(0, 0, 1, 1),
cels_range(2, 2, 3, 3), ignore);
EXPECT_CEL(0, 0, 2, 2);
@ -949,7 +948,7 @@ TEST_F(DocRangeOps, MoveCels) {
EXPECT_EMPTY_CEL(1, 1);
doc->undoHistory()->undo();
move_range(doc,
move_range(doc.get(),
cels_range(0, 0, 0, 3),
cels_range(1, 0, 1, 3), ignore);
EXPECT_CEL(0, 0, 1, 0);
@ -963,7 +962,7 @@ TEST_F(DocRangeOps, MoveCels) {
doc->undoHistory()->undo();
// Moving with overlapping areas
move_range(doc,
move_range(doc.get(),
cels_range(0, 0, 0, 2),
cels_range(0, 1, 0, 3), ignore);
EXPECT_CEL(0, 0, 0, 1);
@ -980,7 +979,7 @@ TEST_F(DocRangeOps, CopyLayers) {
TEST_F(DocRangeOps, CopyFrames) {
// Copy one frame
EXPECT_EQ(frames_range(2),
copy_range(doc,
copy_range(doc.get(),
frames_range(0),
frames_range(2, 3), kDocRangeBefore));
EXPECT_FRAME_COPY1(0, 1, 0, 2, 3);
@ -988,7 +987,7 @@ TEST_F(DocRangeOps, CopyFrames) {
EXPECT_FRAME_ORDER(0, 1, 2, 3);
EXPECT_EQ(frames_range(4),
copy_range(doc,
copy_range(doc.get(),
frames_range(0),
frames_range(2, 3), kDocRangeAfter));
EXPECT_FRAME_COPY1(0, 1, 2, 3, 0);
@ -996,7 +995,7 @@ TEST_F(DocRangeOps, CopyFrames) {
EXPECT_FRAME_ORDER(0, 1, 2, 3);
EXPECT_EQ(frames_range(0),
copy_range(doc,
copy_range(doc.get(),
frames_range(3),
frames_range(0, 1), kDocRangeBefore));
EXPECT_FRAME_COPY1(3, 0, 1, 2, 3);
@ -1004,7 +1003,7 @@ TEST_F(DocRangeOps, CopyFrames) {
EXPECT_FRAME_ORDER(0, 1, 2, 3);
EXPECT_EQ(frames_range(2),
copy_range(doc,
copy_range(doc.get(),
frames_range(3),
frames_range(0, 1), kDocRangeAfter));
EXPECT_FRAME_COPY1(0, 1, 3, 2, 3);
@ -1014,7 +1013,7 @@ TEST_F(DocRangeOps, CopyFrames) {
// Copy three frames
EXPECT_EQ(frames_range(3, 5),
copy_range(doc,
copy_range(doc.get(),
frames_range(0, 2),
frames_range(3), kDocRangeBefore));
EXPECT_FRAME_COPY3(0, 1, 2, 0, 1, 2, 3);
@ -1022,7 +1021,7 @@ TEST_F(DocRangeOps, CopyFrames) {
EXPECT_FRAME_ORDER(0, 1, 2, 3);
EXPECT_EQ(frames_range(4, 6),
copy_range(doc,
copy_range(doc.get(),
frames_range(0, 2),
frames_range(3), kDocRangeAfter));
EXPECT_FRAME_COPY3(0, 1, 2, 3, 0, 1, 2);
@ -1030,7 +1029,7 @@ TEST_F(DocRangeOps, CopyFrames) {
EXPECT_FRAME_ORDER(0, 1, 2, 3);
EXPECT_EQ(frames_range(0, 2),
copy_range(doc,
copy_range(doc.get(),
frames_range(1, 3),
frames_range(0), kDocRangeBefore));
EXPECT_FRAME_COPY3(1, 2, 3, 0, 1, 2, 3);
@ -1038,7 +1037,7 @@ TEST_F(DocRangeOps, CopyFrames) {
EXPECT_FRAME_ORDER(0, 1, 2, 3);
EXPECT_EQ(frames_range(1, 3),
copy_range(doc,
copy_range(doc.get(),
frames_range(1, 3),
frames_range(0), kDocRangeAfter));
EXPECT_FRAME_COPY3(0, 1, 2, 3, 1, 2, 3);
@ -1046,7 +1045,7 @@ TEST_F(DocRangeOps, CopyFrames) {
EXPECT_FRAME_ORDER(0, 1, 2, 3);
EXPECT_EQ(frames_range(0, 2),
copy_range(doc,
copy_range(doc.get(),
frames_range(0, 2),
frames_range(0, 2), kDocRangeBefore));
EXPECT_FRAME_COPY3(0, 1, 2, 0, 1, 2, 3);
@ -1054,7 +1053,7 @@ TEST_F(DocRangeOps, CopyFrames) {
EXPECT_FRAME_ORDER(0, 1, 2, 3);
EXPECT_EQ(frames_range(3, 5),
copy_range(doc,
copy_range(doc.get(),
frames_range(0, 2),
frames_range(0, 2), kDocRangeAfter));
EXPECT_FRAME_COPY3(0, 1, 2, 0, 1, 2, 3);
@ -1070,25 +1069,25 @@ TEST_F(DocRangeOps, CopyFramesNonAdjacent) {
from.startRange(nullptr, 2, DocRange::kFrames); from.endRange(nullptr, 2);
EXPECT_EQ(frames_range(3, 4),
copy_range(doc, from, frames_range(3), kDocRangeBefore));
copy_range(doc.get(), from, frames_range(3), kDocRangeBefore));
EXPECT_FRAME_COPY2(0, 1, 2, 0, 2, 3);
doc->undoHistory()->undo();
EXPECT_FRAME_ORDER(0, 1, 2, 3);
EXPECT_EQ(frames_range(4, 5),
copy_range(doc, from, frames_range(3), kDocRangeAfter));
copy_range(doc.get(), from, frames_range(3), kDocRangeAfter));
EXPECT_FRAME_COPY2(0, 1, 2, 3, 0, 2);
doc->undoHistory()->undo();
EXPECT_FRAME_ORDER(0, 1, 2, 3);
EXPECT_EQ(frames_range(2, 3),
copy_range(doc, from, frames_range(1), kDocRangeAfter));
copy_range(doc.get(), from, frames_range(1), kDocRangeAfter));
EXPECT_FRAME_COPY2(0, 1, 0, 2, 2, 3);
doc->undoHistory()->undo();
EXPECT_FRAME_ORDER(0, 1, 2, 3);
EXPECT_EQ(frames_range(1, 2),
copy_range(doc, from, frames_range(1), kDocRangeBefore));
copy_range(doc.get(), from, frames_range(1), kDocRangeBefore));
EXPECT_FRAME_COPY2(0, 0, 2, 1, 2, 3);
doc->undoHistory()->undo();
EXPECT_FRAME_ORDER(0, 1, 2, 3);
@ -1100,13 +1099,13 @@ TEST_F(DocRangeOps, CopyFramesNonAdjacent) {
from.startRange(nullptr, 3, DocRange::kFrames); from.endRange(nullptr, 3);
EXPECT_EQ(frames_range(0, 1),
copy_range(doc, from, frames_range(0), kDocRangeBefore));
copy_range(doc.get(), from, frames_range(0), kDocRangeBefore));
EXPECT_FRAME_COPY2(1, 3, 0, 1, 2, 3);
doc->undoHistory()->undo();
EXPECT_FRAME_ORDER(0, 1, 2, 3);
EXPECT_EQ(frames_range(1, 2),
copy_range(doc, from, frames_range(0), kDocRangeAfter));
copy_range(doc.get(), from, frames_range(0), kDocRangeAfter));
EXPECT_FRAME_COPY2(0, 1, 3, 1, 2, 3);
doc->undoHistory()->undo();
EXPECT_FRAME_ORDER(0, 1, 2, 3);
@ -1117,28 +1116,28 @@ TEST_F(DocRangeOps, CopyCels) {
}
TEST_F(DocRangeOps, ReverseFrames) {
reverse_frames(doc, frames_range(0, 0));
reverse_frames(doc.get(), frames_range(0, 0));
EXPECT_FRAME_ORDER(0, 1, 2, 3);
reverse_frames(doc, frames_range(1, 1));
reverse_frames(doc.get(), frames_range(1, 1));
EXPECT_FRAME_ORDER(0, 1, 2, 3);
reverse_frames(doc, frames_range(1, 2));
reverse_frames(doc.get(), frames_range(1, 2));
EXPECT_FRAME_ORDER(0, 2, 1, 3);
doc->undoHistory()->undo();
EXPECT_FRAME_ORDER(0, 1, 2, 3);
reverse_frames(doc, frames_range(0, 2));
reverse_frames(doc.get(), frames_range(0, 2));
EXPECT_FRAME_ORDER(2, 1, 0, 3);
doc->undoHistory()->undo();
EXPECT_FRAME_ORDER(0, 1, 2, 3);
reverse_frames(doc, frames_range(1, 3));
reverse_frames(doc.get(), frames_range(1, 3));
EXPECT_FRAME_ORDER(0, 3, 2, 1);
doc->undoHistory()->undo();
EXPECT_FRAME_ORDER(0, 1, 2, 3);
reverse_frames(doc, frames_range(0, 3));
reverse_frames(doc.get(), frames_range(0, 3));
EXPECT_FRAME_ORDER(3, 2, 1, 0);
doc->undoHistory()->undo();
EXPECT_FRAME_ORDER(0, 1, 2, 3);
@ -1172,7 +1171,7 @@ TEST(DocRangeOps2, DropInsideBugs) {
DocRange from, to;
from.selectLayer(layer1);
to.selectLayer(layer4);
move_range(doc, from, to, kDocRangeFirstChild);
move_range(doc.get(), from, to, kDocRangeFirstChild);
EXPECT_EQ(layer2, sprite->root()->layers()[0]);
EXPECT_EQ(layer3, sprite->root()->layers()[1]);
EXPECT_EQ(layer4, sprite->root()->layers()[2]);
@ -1184,7 +1183,7 @@ TEST(DocRangeOps2, DropInsideBugs) {
// layer2 layer2
from.clearRange(); from.selectLayer(layer3);
to.clearRange(); to.selectLayer(layer1);
move_range(doc, from, to, kDocRangeBefore);
move_range(doc.get(), from, to, kDocRangeBefore);
EXPECT_EQ(layer2, sprite->root()->layers()[0]);
EXPECT_EQ(layer4, sprite->root()->layers()[1]);
EXPECT_EQ(layer3, layer4->layers()[0]);
@ -1196,7 +1195,7 @@ TEST(DocRangeOps2, DropInsideBugs) {
// layer2 layer2
from.clearRange(); from.selectLayer(layer1);
to.clearRange(); to.selectLayer(layer3);
move_range(doc, from, to, kDocRangeFirstChild);
move_range(doc.get(), from, to, kDocRangeFirstChild);
EXPECT_EQ(layer2, sprite->root()->layers()[0]);
EXPECT_EQ(layer4, sprite->root()->layers()[1]);
EXPECT_EQ(layer3, layer4->layers()[0]);
@ -1205,7 +1204,7 @@ TEST(DocRangeOps2, DropInsideBugs) {
// move layer4 as first child of layer4 (invalid operation)
from.clearRange(); from.selectLayer(layer4);
to.clearRange(); to.selectLayer(layer4);
move_range(doc, from, to, kDocRangeFirstChild);
move_range(doc.get(), from, to, kDocRangeFirstChild);
// Everything is exactly the same (no new undo operation)
EXPECT_EQ(layer2, sprite->root()->layers()[0]);
EXPECT_EQ(layer4, sprite->root()->layers()[1]);
@ -1215,7 +1214,7 @@ TEST(DocRangeOps2, DropInsideBugs) {
// move layer4 as first child of layer3 (invalid operation)
from.clearRange(); from.selectLayer(layer4);
to.clearRange(); to.selectLayer(layer3);
move_range(doc, from, to, kDocRangeFirstChild);
move_range(doc.get(), from, to, kDocRangeFirstChild);
// Everything is exactly the same (no new undo operation)
EXPECT_EQ(layer2, sprite->root()->layers()[0]);
EXPECT_EQ(layer4, sprite->root()->layers()[1]);
@ -1225,7 +1224,7 @@ TEST(DocRangeOps2, DropInsideBugs) {
// move layer4 after layer1 (invalid operation)
from.clearRange(); from.selectLayer(layer4);
to.clearRange(); to.selectLayer(layer1);
move_range(doc, from, to, kDocRangeAfter);
move_range(doc.get(), from, to, kDocRangeAfter);
// Everything is exactly the same (no new undo operation)
EXPECT_EQ(layer2, sprite->root()->layers()[0]);
EXPECT_EQ(layer4, sprite->root()->layers()[1]);
@ -1235,7 +1234,7 @@ TEST(DocRangeOps2, DropInsideBugs) {
// move layer4 after layer1 (invalid operation)
from.clearRange(); from.selectLayer(layer4);
to.clearRange(); to.selectLayer(layer1);
move_range(doc, from, to, kDocRangeBefore);
move_range(doc.get(), from, to, kDocRangeBefore);
// Everything is exactly the same (no new undo operation)
EXPECT_EQ(layer2, sprite->root()->layers()[0]);
EXPECT_EQ(layer4, sprite->root()->layers()[1]);
@ -1245,7 +1244,7 @@ TEST(DocRangeOps2, DropInsideBugs) {
// move layer2 inside layer2 (invalid operation)
from.clearRange(); from.selectLayer(layer2);
to.clearRange(); to.selectLayer(layer2);
move_range(doc, from, to, kDocRangeFirstChild);
move_range(doc.get(), from, to, kDocRangeFirstChild);
// Everything is exactly the same (no new undo operation)
EXPECT_EQ(layer2, sprite->root()->layers()[0]);
EXPECT_EQ(layer4, sprite->root()->layers()[1]);
@ -1298,7 +1297,7 @@ TEST_F(DocRangeOps, MoveRangeWithTags) {
// Move before tag "a" (outside the tag)
EXPECT_EQ(frames_range(0, 1),
move_range(doc,
move_range(doc.get(),
frames_range(1, 2),
frames_range(0),
kDocRangeBefore,
@ -1318,7 +1317,7 @@ TEST_F(DocRangeOps, MoveRangeWithTags) {
// Move before tag "a" (inside the tag)
EXPECT_EQ(frames_range(0, 1),
move_range(doc,
move_range(doc.get(),
frames_range(1, 2),
frames_range(0),
kDocRangeBefore,
@ -1333,7 +1332,7 @@ TEST_F(DocRangeOps, MoveRangeWithTags) {
// Move after (and inside) tag "a"
EXPECT_EQ(frames_range(1, 2),
move_range(doc,
move_range(doc.get(),
frames_range(0, 1),
frames_range(2),
kDocRangeAfter,
@ -1348,7 +1347,7 @@ TEST_F(DocRangeOps, MoveRangeWithTags) {
// Move between tag "a" and "b" (outside both tags)
EXPECT_EQ(frames_range(1, 2),
move_range(doc,
move_range(doc.get(),
frames_range(0, 1),
frames_range(2),
kDocRangeAfter,
@ -1362,7 +1361,7 @@ TEST_F(DocRangeOps, MoveRangeWithTags) {
doc->undoHistory()->undo();
EXPECT_EQ(frames_range(1, 2),
move_range(doc,
move_range(doc.get(),
frames_range(0, 1),
frames_range(3),
kDocRangeBefore,
@ -1376,7 +1375,7 @@ TEST_F(DocRangeOps, MoveRangeWithTags) {
doc->undoHistory()->undo();
EXPECT_EQ(frames_range(2, 3),
move_range(doc,
move_range(doc.get(),
frames_range(2, 3),
frames_range(2),
kDocRangeAfter,
@ -1390,7 +1389,7 @@ TEST_F(DocRangeOps, MoveRangeWithTags) {
doc->undoHistory()->undo();
EXPECT_EQ(frames_range(2, 3),
move_range(doc,
move_range(doc.get(),
frames_range(2, 3),
frames_range(3),
kDocRangeBefore,
@ -1405,7 +1404,7 @@ TEST_F(DocRangeOps, MoveRangeWithTags) {
// Move after tag "b" (inside tag)
EXPECT_EQ(frames_range(4, 5),
move_range(doc,
move_range(doc.get(),
frames_range(0, 1),
frames_range(5),
kDocRangeAfter,
@ -1420,7 +1419,7 @@ TEST_F(DocRangeOps, MoveRangeWithTags) {
// Move after tag "b" (outside tag)
EXPECT_EQ(frames_range(4, 5),
move_range(doc,
move_range(doc.get(),
frames_range(0, 1),
frames_range(5),
kDocRangeAfter,
@ -1438,7 +1437,7 @@ TEST_F(DocRangeOps, MoveRangeWithTags) {
from.startRange(nullptr, 1, DocRange::kFrames); from.endRange(nullptr, 1);
from.startRange(nullptr, 4, DocRange::kFrames); from.endRange(nullptr, 4);
EXPECT_EQ(frames_range(2, 3),
move_range(doc,
move_range(doc.get(),
from,
frames_range(2),
kDocRangeAfter,
@ -1453,7 +1452,7 @@ TEST_F(DocRangeOps, MoveRangeWithTags) {
// Put frame 1 and 4 before tag "b" (inside)
EXPECT_EQ(frames_range(2, 3),
move_range(doc,
move_range(doc.get(),
from,
frames_range(3),
kDocRangeBefore,
@ -1480,7 +1479,7 @@ TEST_F(DocRangeOps, CopyRangeWithTags) {
// Copy before tag "a" (outside the tag)
EXPECT_EQ(frames_range(0),
copy_range(doc,
copy_range(doc.get(),
frames_range(1),
frames_range(0),
kDocRangeBefore,
@ -1495,7 +1494,7 @@ TEST_F(DocRangeOps, CopyRangeWithTags) {
// Copy before tag "a" (inside the tag)
EXPECT_EQ(frames_range(0),
copy_range(doc,
copy_range(doc.get(),
frames_range(1),
frames_range(0),
kDocRangeBefore,
@ -1510,7 +1509,7 @@ TEST_F(DocRangeOps, CopyRangeWithTags) {
// Copy after tag "a" (outside the tag)
EXPECT_EQ(frames_range(3),
copy_range(doc,
copy_range(doc.get(),
frames_range(1),
frames_range(2),
kDocRangeAfter,

View File

@ -11,7 +11,6 @@
#include "app/doc_range.h"
#include "app/sprite_position.h"
#include "base/disable_copying.h"
#include "base/unique_ptr.h"
#include "obs/observable.h"
#include "undo/undo_history.h"

View File

@ -13,7 +13,6 @@
#include "app/doc.h"
#include "base/fs.h"
#include "base/mutex.h"
#include "base/unique_ptr.h"
#include <algorithm>
@ -39,7 +38,7 @@ Doc* Docs::add(int width, int height, ColorMode mode, int ncolors)
if (!args.document())
args.setDocument(new Doc(nullptr));
base::UniquePtr<Doc> doc(args.document());
std::unique_ptr<Doc> doc(args.document());
doc->sprites().add(width, height, mode, ncolors);
doc->setFilename("Sprite");
doc->setContext(m_ctx); // Change the document context to add the doc in this collection

View File

@ -18,7 +18,6 @@
#include "base/file_handle.h"
#include "base/fs.h"
#include "base/fstream_path.h"
#include "base/unique_ptr.h"
#include "render/dithering_matrix.h"
#include "archive.h"
@ -641,7 +640,7 @@ Extension* Extensions::loadExtension(const std::string& path,
LOG("EXT: Extension '%s' loaded\n", name.c_str());
base::UniquePtr<Extension> extension(
std::unique_ptr<Extension> extension(
new Extension(path,
name,
version,

View File

@ -8,7 +8,6 @@
#define APP_EXTENSIONS_H_INCLUDED
#pragma once
#include "base/unique_ptr.h"
#include "obs/signal.h"
#include <map>

View File

@ -9,7 +9,6 @@
#pragma once
#include "base/disable_copying.h"
#include "base/unique_ptr.h"
#include "doc/blend_mode.h"
#include "doc/cel.h"
#include "doc/frame.h"
@ -18,6 +17,8 @@
#include "gfx/rect.h"
#include "render/extra_type.h"
#include <memory>
namespace doc {
class Sprite;
}
@ -41,7 +42,7 @@ namespace app {
private:
render::ExtraType m_type;
base::UniquePtr<doc::Cel> m_cel;
std::unique_ptr<doc::Cel> m_cel;
doc::ImageRef m_image;
doc::ImageBufferPtr m_imageBuffer;
doc::BlendMode m_blendMode;

View File

@ -69,7 +69,7 @@ base::paths get_writable_extensions()
Doc* load_document(Context* context, const std::string& filename)
{
/* TODO add a option to configure what to do with the sequence */
base::UniquePtr<FileOp> fop(FileOp::createLoadDocumentOperation(context, filename, FILE_LOAD_SEQUENCE_NONE));
std::unique_ptr<FileOp> fop(FileOp::createLoadDocumentOperation(context, filename, FILE_LOAD_SEQUENCE_NONE));
if (!fop)
return nullptr;
@ -94,7 +94,7 @@ Doc* load_document(Context* context, const std::string& filename)
int save_document(Context* context, Doc* document)
{
UniquePtr<FileOp> fop(
std::unique_ptr<FileOp> fop(
FileOp::createSaveDocumentOperation(
context,
FileOpROI(document, "", "", SelectedFrames(), false),
@ -168,7 +168,7 @@ FileOpROI::FileOpROI(const Doc* doc,
// static
FileOp* FileOp::createLoadDocumentOperation(Context* context, const std::string& filename, int flags)
{
base::UniquePtr<FileOp> fop(
std::unique_ptr<FileOp> fop(
new FileOp(FileOpLoad, context));
if (!fop)
return nullptr;
@ -313,7 +313,7 @@ FileOp* FileOp::createSaveDocumentOperation(const Context* context,
const std::string& filename,
const std::string& filenameFormatArg)
{
base::UniquePtr<FileOp> fop(
std::unique_ptr<FileOp> fop(
new FileOp(FileOpSave, const_cast<Context*>(context)));
// Document to save
@ -523,7 +523,7 @@ FileOp* FileOp::createSaveDocumentOperation(const Context* context,
// Configure output format?
if (fop->m_format->support(FILE_SUPPORT_GET_FORMAT_OPTIONS)) {
base::SharedPtr<FormatOptions> opts =
fop->m_format->getFormatOptions(fop);
fop->m_format->getFormatOptions(fop.get());
// Does the user cancelled the operation?
if (!opts)

View File

@ -11,7 +11,6 @@
#include "app/doc.h"
#include "app/file/file.h"
#include "app/file/file_formats_manager.h"
#include "base/unique_ptr.h"
#include "doc/doc.h"
#include <cstdio>
@ -32,7 +31,7 @@ TEST(File, SeveralSizes)
std::sprintf(&fn[0], "test.ase");
{
base::UniquePtr<Doc> doc(ctx.documents().add(w, h, doc::ColorMode::INDEXED, 256));
std::unique_ptr<Doc> doc(ctx.documents().add(w, h, doc::ColorMode::INDEXED, 256));
doc->setFilename(&fn[0]);
// Random pixels
@ -54,7 +53,7 @@ TEST(File, SeveralSizes)
}
{
base::UniquePtr<Doc> doc(load_document(&ctx, &fn[0]));
std::unique_ptr<Doc> doc(load_document(&ctx, &fn[0]));
ASSERT_EQ(w, doc->sprite()->width());
ASSERT_EQ(h, doc->sprite()->height());

View File

@ -21,7 +21,6 @@
#include "app/util/autocrop.h"
#include "base/file_handle.h"
#include "base/fs.h"
#include "base/unique_ptr.h"
#include "doc/doc.h"
#include "render/ordered_dither.h"
#include "render/quantization.h"
@ -333,7 +332,7 @@ private:
m_sprite->addFrame(m_frameNum);
// Create a temporary image loading the frame pixels from the GIF file
UniquePtr<Image> frameImage(
std::unique_ptr<Image> frameImage(
readFrameIndexedImage(frameBounds));
TRACE("GIF: Frame[%d] transparent index = %d\n", (int)m_frameNum, m_localTransparentIndex);
@ -346,7 +345,7 @@ private:
}
// Merge this frame colors with the current palette
updatePalette(frameImage);
updatePalette(frameImage.get());
// Convert the sprite to RGB if we have more than 256 colors
if ((m_sprite->pixelFormat() == IMAGE_INDEXED) &&
@ -359,10 +358,10 @@ private:
// Composite frame with previous frame
if (m_sprite->pixelFormat() == IMAGE_INDEXED) {
compositeIndexedImageToIndexed(frameBounds, frameImage);
compositeIndexedImageToIndexed(frameBounds, frameImage.get());
}
else {
compositeIndexedImageToRgb(frameBounds, frameImage);
compositeIndexedImageToRgb(frameBounds, frameImage.get());
}
// Create cel
@ -392,7 +391,7 @@ private:
}
Image* readFrameIndexedImage(const gfx::Rect& frameBounds) {
UniquePtr<Image> frameImage(
std::unique_ptr<Image> frameImage(
Image::create(IMAGE_INDEXED, frameBounds.w, frameBounds.h));
IndexedTraits::address_t addr;
@ -511,7 +510,7 @@ private:
}
}
UniquePtr<Palette> palette;
std::unique_ptr<Palette> palette;
if (m_frameNum == 0)
palette.reset(new Palette(m_frameNum, usedNColors + (needsExtraBgColor ? 1: 0)));
else {
@ -598,7 +597,7 @@ private:
}
ASSERT(base == palette->size());
m_sprite->setPalette(palette, false);
m_sprite->setPalette(palette.get(), false);
}
void compositeIndexedImageToIndexed(const gfx::Rect& frameBounds,
@ -812,7 +811,7 @@ private:
GifFileType* m_gifFile;
int m_fd;
size_t m_filesize;
UniquePtr<Sprite> m_sprite;
std::unique_ptr<Sprite> m_sprite;
gfx::Rect m_spriteBounds;
LayerImage* m_layer;
int m_frameNum;
@ -1142,8 +1141,8 @@ private:
const gfx::Rect& frameBounds,
const DisposalMethod disposal,
const bool fixDuration) {
UniquePtr<Palette> framePaletteRef;
UniquePtr<RgbMap> rgbmapRef;
std::unique_ptr<Palette> framePaletteRef;
std::unique_ptr<RgbMap> rgbmapRef;
Palette* framePalette = m_sprite->palette(frame);
RgbMap* rgbmap = m_sprite->rgbMap(frame);

View File

@ -277,14 +277,14 @@ bool IcoFormat::onSave(FileOp* fop)
offset += size;
}
base::UniquePtr<Image> image(Image::create(
std::unique_ptr<Image> image(Image::create(
sprite->pixelFormat(),
sprite->width(),
sprite->height()));
render::Render render;
for (n=frame_t(0); n<num; ++n) {
render.renderSprite(image, sprite, n);
render.renderSprite(image.get(), sprite, n);
bpp = (sprite->pixelFormat() == IMAGE_INDEXED) ? 8 : 24;
bw = (((image->width() * bpp / 8) + 3) / 4) * 4;
@ -327,21 +327,21 @@ bool IcoFormat::onSave(FileOp* fop)
switch (image->pixelFormat()) {
case IMAGE_RGB:
c = get_pixel(image, x, y);
c = get_pixel(image.get(), x, y);
fputc(rgba_getb(c), f);
fputc(rgba_getg(c), f);
fputc(rgba_getr(c), f);
break;
case IMAGE_GRAYSCALE:
c = get_pixel(image, x, y);
c = get_pixel(image.get(), x, y);
fputc(graya_getv(c), f);
fputc(graya_getv(c), f);
fputc(graya_getv(c), f);
break;
case IMAGE_INDEXED:
c = get_pixel(image, x, y);
c = get_pixel(image.get(), x, y);
fputc(c, f);
break;
}
@ -361,7 +361,7 @@ bool IcoFormat::onSave(FileOp* fop)
v = 128;
for (b=0; b<8; b++) {
c = get_pixel(image, x*8+b, y);
c = get_pixel(image.get(), x*8+b, y);
switch (image->pixelFormat()) {

View File

@ -78,7 +78,7 @@ Palette* load_palette(const char* filename)
if (!ff || !ff->support(FILE_SUPPORT_LOAD))
break;
base::UniquePtr<FileOp> fop(
std::unique_ptr<FileOp> fop(
FileOp::createLoadDocumentOperation(
nullptr, filename,
FILE_LOAD_SEQUENCE_NONE |

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2016 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -8,7 +8,6 @@
#include "config.h"
#endif
#include "base/unique_ptr.h"
#include "doc/cel.h"
#include "doc/frame.h"
#include "doc/image.h"
@ -17,6 +16,8 @@
#include "gfx/rect.h"
#include "render/render.h"
#include <memory>
namespace app {
using namespace doc;
@ -27,7 +28,7 @@ LayerImage* create_flatten_layer_copy(Sprite* dstSprite, const Layer* srcLayer,
const gfx::Rect& bounds,
frame_t frmin, frame_t frmax)
{
base::UniquePtr<LayerImage> flatLayer(new LayerImage(dstSprite));
std::unique_ptr<LayerImage> flatLayer(new LayerImage(dstSprite));
render::Render render;
for (frame_t frame=frmin; frame<=frmax; ++frame) {
@ -37,15 +38,15 @@ LayerImage* create_flatten_layer_copy(Sprite* dstSprite, const Layer* srcLayer,
ImageRef image(Image::create(flatLayer->sprite()->pixelFormat(), bounds.w, bounds.h));
// Create the new cel for the output layer.
base::UniquePtr<Cel> cel(new Cel(frame, image));
std::unique_ptr<Cel> cel(new Cel(frame, image));
cel->setPosition(bounds.x, bounds.y);
// Render this frame.
render.renderLayer(image.get(), srcLayer, frame,
gfx::Clip(0, 0, bounds));
// Add the cel (and release the base::UniquePtr).
flatLayer->addCel(cel);
// Add the cel (and release the std::unique_ptr).
flatLayer->addCel(cel.get());
cel.release();
}
}

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2017 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -8,7 +8,6 @@
#define APP_JOB_H_INCLUDED
#pragma once
#include "base/unique_ptr.h"
#include "ui/alert.h"
#include "ui/timer.h"
@ -62,7 +61,7 @@ namespace app {
static void monitor_free(void* data);
base::thread* m_thread;
base::UniquePtr<ui::Timer> m_timer;
std::unique_ptr<ui::Timer> m_timer;
base::mutex* m_mutex;
ui::AlertPtr m_alert_window;
double m_last_progress;

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2017 David Capello
// Copyright (C) 2017-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -23,7 +23,7 @@ bool load_dithering_matrix_from_sprite(
const std::string& filename,
render::DitheringMatrix& matrix)
{
base::UniquePtr<Doc> doc(load_document(nullptr, filename));
std::unique_ptr<Doc> doc(load_document(nullptr, filename));
if (!doc)
return false;

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2015 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -9,7 +9,6 @@
#pragma once
#include "app/widget_loader.h"
#include "base/unique_ptr.h"
namespace app {

View File

@ -37,7 +37,6 @@
#include "app/ui_context.h"
#include "base/memory.h"
#include "base/shared_ptr.h"
#include "base/unique_ptr.h"
#include "doc/sprite.h"
#include "she/display.h"
#include "she/error.h"

View File

@ -44,7 +44,7 @@ void exit_module_palette()
void load_default_palette()
{
base::UniquePtr<Palette> pal;
std::unique_ptr<Palette> pal;
std::string defaultPalName = get_preset_palette_filename(
get_default_palette_preset_name(), ".ase");

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2017 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -41,7 +41,7 @@ void ResourcesLoader::cancel()
m_cancel = true;
}
bool ResourcesLoader::next(base::UniquePtr<Resource>& resource)
bool ResourcesLoader::next(std::unique_ptr<Resource>& resource)
{
Resource* rawResource;
if (m_queue.try_pop(rawResource)) {

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2017 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -10,7 +10,8 @@
#include "base/concurrent_queue.h"
#include "base/thread.h"
#include "base/unique_ptr.h"
#include <memory>
namespace app {
@ -24,7 +25,7 @@ namespace app {
void cancel();
bool isDone() const { return m_done; }
bool next(base::UniquePtr<Resource>& resource);
bool next(std::unique_ptr<Resource>& resource);
void reload();
private:
@ -37,7 +38,7 @@ namespace app {
bool m_done;
bool m_cancel;
Queue m_queue;
base::UniquePtr<base::thread> m_thread;
std::unique_ptr<base::thread> m_thread;
};
} // namespace app

View File

@ -39,9 +39,9 @@ void Sprite_new(script::ContextHandle handle)
int h = ctx.requireInt(2);
int colorMode = (ctx.isUndefined(3) ? IMAGE_RGB: ctx.requireInt(3));
base::UniquePtr<Sprite> sprite(
std::unique_ptr<Sprite> sprite(
Sprite::createBasicSprite((doc::PixelFormat)colorMode, w, h, 256));
base::UniquePtr<Doc> doc(new Doc(sprite));
std::unique_ptr<Doc> doc(new Doc(sprite.get()));
sprite.release();
app::Context* appCtx = App::instance()->context();
@ -173,11 +173,11 @@ void Sprite_loadPalette(script::ContextHandle handle)
if (fn && wrap) {
Doc* doc = wrap->document();
base::UniquePtr<doc::Palette> palette(load_palette(fn));
std::unique_ptr<doc::Palette> palette(load_palette(fn));
if (palette) {
// TODO Merge this with the code in LoadPaletteCommand
doc->getApi(wrap->transaction()).setPalette(
wrap->sprite(), 0, palette);
wrap->sprite(), 0, palette.get());
}
}

View File

@ -26,6 +26,8 @@
#include "doc/sprite.h"
#include "she/system.h"
#include <memory>
#define MAX_THUMBNAIL_SIZE 128
namespace app {
@ -35,8 +37,8 @@ public:
Worker(FileOp* fop, IFileItem* fileitem)
: m_fop(fop)
, m_fileitem(fileitem)
, m_thumbnail(NULL)
, m_palette(NULL)
, m_thumbnail(nullptr)
, m_palette(nullptr)
, m_thread(base::Bind<void>(&Worker::loadBgThread, this)) {
}
@ -68,12 +70,12 @@ private:
m_palette.reset(new Palette(*sprite->palette(frame_t(0))));
// Render first frame of the sprite in 'image'
base::UniquePtr<Image> image(Image::create(
std::unique_ptr<Image> image(Image::create(
IMAGE_RGB, sprite->width(), sprite->height()));
EditorRender render;
render.setupBackground(NULL, image->pixelFormat());
render.renderSprite(image, sprite, frame_t(0));
render.renderSprite(image.get(), sprite, frame_t(0));
// Calculate the thumbnail size
int thumb_w = MAX_THUMBNAIL_SIZE * image->width() / MAX(image->width(), image->height());
@ -87,8 +89,8 @@ private:
// Stretch the 'image'
m_thumbnail.reset(Image::create(image->pixelFormat(), thumb_w, thumb_h));
clear_image(m_thumbnail, 0);
algorithm::scale_image(m_thumbnail, image,
clear_image(m_thumbnail.get(), 0);
algorithm::scale_image(m_thumbnail.get(), image.get(),
0, 0, thumb_w, thumb_h,
0, 0, image->width(), image->height());
}
@ -102,7 +104,8 @@ private:
m_thumbnail->width(),
m_thumbnail->height());
convert_image_to_surface(m_thumbnail, m_palette, thumbnail,
convert_image_to_surface(
m_thumbnail.get(), m_palette.get(), thumbnail,
0, 0, 0, 0, m_thumbnail->width(), m_thumbnail->height());
m_fileitem->setThumbnail(thumbnail);
@ -114,10 +117,10 @@ private:
m_fop->done();
}
base::UniquePtr<FileOp> m_fop;
std::unique_ptr<FileOp> m_fop;
IFileItem* m_fileitem;
base::UniquePtr<Image> m_thumbnail;
base::UniquePtr<Palette> m_palette;
std::unique_ptr<Image> m_thumbnail;
std::unique_ptr<Palette> m_palette;
base::thread m_thread;
};
@ -183,7 +186,7 @@ void ThumbnailGenerator::addWorkerToGenerateThumbnail(IFileItem* fileitem)
getWorkerStatus(fileitem, progress) != WithoutWorker)
return;
base::UniquePtr<FileOp> fop(
std::unique_ptr<FileOp> fop(
FileOp::createLoadDocumentOperation(
nullptr,
fileitem->fileName().c_str(),

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2015 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -9,8 +9,8 @@
#pragma once
#include "base/mutex.h"
#include "base/unique_ptr.h"
#include <memory>
#include <vector>
namespace base {
@ -53,7 +53,7 @@ namespace app {
WorkerList m_workers;
base::mutex m_workersAccess;
base::UniquePtr<base::thread> m_stopThread;
std::unique_ptr<base::thread> m_stopThread;
};
} // namespace app

View File

@ -1,4 +1,5 @@
// Aseprite
// Copyright (C) 2018 David Capello
// Copyright (C) 2016 Carlo Caputo
//
// This program is distributed under the terms of
@ -51,7 +52,7 @@ she::Surface* get_cel_thumbnail(const doc::Cel* cel,
const doc::Sprite* sprite = document->sprite();
// TODO doc::Image::createCopy() from pre-rendered checkered background
base::UniquePtr<doc::Image> thumb_img(doc::Image::create(
std::unique_ptr<doc::Image> thumb_img(doc::Image::create(
image->pixelFormat(), thumb_size.w, thumb_size.h));
int block_size = MID(4, thumb_size.w/8, 16);
@ -63,7 +64,7 @@ she::Surface* get_cel_thumbnail(const doc::Cel* cel,
}
}
base::UniquePtr<doc::Image> scale_img;
std::unique_ptr<doc::Image> scale_img;
const doc::Image* source = image;
if (cel_image_on_thumb.w != image_size.w || cel_image_on_thumb.h != image_size.h) {
@ -71,7 +72,7 @@ she::Surface* get_cel_thumbnail(const doc::Cel* cel,
image->pixelFormat(), cel_image_on_thumb.w, cel_image_on_thumb.h));
doc::algorithm::resize_image(
image, scale_img,
image, scale_img.get(),
doc::algorithm::ResizeMethod::RESIZE_METHOD_NEAREST_NEIGHBOR,
sprite->palette(frame),
sprite->rgbMap(frame),
@ -81,7 +82,7 @@ she::Surface* get_cel_thumbnail(const doc::Cel* cel,
}
render::composite_image(
thumb_img, source,
thumb_img.get(), source,
sprite->palette(frame),
cel_image_on_thumb.x,
cel_image_on_thumb.y,
@ -90,7 +91,7 @@ she::Surface* get_cel_thumbnail(const doc::Cel* cel,
she::Surface* thumb_surf = she::instance()->createRgbaSurface(
thumb_img->width(), thumb_img->height());
convert_image_to_surface(thumb_img, sprite->palette(frame), thumb_surf,
convert_image_to_surface(thumb_img.get(), sprite->palette(frame), thumb_surf,
0, 0, 0, 0, thumb_img->width(), thumb_img->height());
return thumb_surf;

View File

@ -7,7 +7,6 @@
#include "app/modules/palettes.h"
#include "app/util/wrap_point.h"
#include "app/util/wrap_value.h"
#include "base/unique_ptr.h"
#include "doc/blend_funcs.h"
#include "doc/image_impl.h"
#include "doc/layer.h"
@ -1246,7 +1245,7 @@ void BrushInkProcessing<IndexedTraits>::processPixel(int x, int y) {
//////////////////////////////////////////////////////////////////////
typedef base::UniquePtr<BaseInkProcessing> InkProcessingPtr;
typedef std::unique_ptr<BaseInkProcessing> InkProcessingPtr;
template<template<typename> class T>
BaseInkProcessing* get_ink_proc(ToolLoop* loop)

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2017 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -40,7 +40,7 @@ protected:
}
BaseInkProcessing* proc() {
return m_proc;
return m_proc.get();
}
private:

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2015-2017 David Capello
// Copyright (C) 2015-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -10,7 +10,8 @@
#include "app/tools/stroke.h"
#include "app/tools/symmetry.h"
#include "base/unique_ptr.h"
#include <memory>
namespace app {
namespace tools {
@ -39,8 +40,8 @@ public:
void generateStrokes(const Stroke& mainStroke, Strokes& strokes,
ToolLoop* loop) override;
private:
base::UniquePtr<tools::Symmetry> m_a;
base::UniquePtr<tools::Symmetry> m_b;
std::unique_ptr<tools::Symmetry> m_a;
std::unique_ptr<tools::Symmetry> m_b;
};
} // namespace tools

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2017 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -14,7 +14,6 @@
#include "app/i18n/xml_translator.h"
#include "app/tools/tool.h"
#include "base/unique_ptr.h"
class TiXmlElement;

View File

@ -522,7 +522,7 @@ void ColorBar::onRemapButtonClick()
return;
remap = create_remap_to_change_palette(
m_oldPalette, get_current_palette(),
m_oldPalette.get(), get_current_palette(),
sprite->transparentColor(), true);
}
catch (base::Exception& e) {

View File

@ -16,7 +16,6 @@
#include "app/ui/color_button.h"
#include "app/ui/input_chain_element.h"
#include "app/ui/palette_view.h"
#include "base/unique_ptr.h"
#include "doc/pixel_format.h"
#include "doc/sort_palette.h"
#include "obs/connection.h"
@ -159,7 +158,7 @@ namespace app {
ui::TooltipManager m_tooltips;
ButtonSet m_buttons;
base::UniquePtr<PalettePopup> m_palettePopup;
std::unique_ptr<PalettePopup> m_palettePopup;
ui::Splitter m_splitter;
ui::VBox m_palettePlaceholder;
ui::VBox m_selectorPlaceholder;
@ -186,7 +185,7 @@ namespace app {
bool m_fromFgButton;
bool m_fromBgButton;
base::UniquePtr<doc::Palette> m_oldPalette;
std::unique_ptr<doc::Palette> m_oldPalette;
Doc* m_lastDocument;
bool m_ascending;
obs::scoped_connection m_beforeCmdConn;

View File

@ -29,7 +29,6 @@
#include "app/ui_context.h"
#include "base/bind.h"
#include "base/scoped_value.h"
#include "base/unique_ptr.h"
#include "doc/image_impl.h"
#include "doc/palette.h"
#include "doc/sprite.h"
@ -52,7 +51,7 @@ enum {
COLOR_MODES
};
static base::UniquePtr<doc::Palette> g_simplePal(nullptr);
static std::unique_ptr<doc::Palette> g_simplePal(nullptr);
class ColorPopup::SimpleColors : public HBox {
public:

View File

@ -17,7 +17,6 @@
#include "app/ui/color_bar.h"
#include "app/ui/skin/skin_theme.h"
#include "base/bind.h"
#include "base/unique_ptr.h"
#include "doc/color_mode.h"
#include "doc/palette.h"
#include "doc/palette_picks.h"
@ -50,7 +49,7 @@ void ColorShades::reverseShadeColors()
doc::Remap* ColorShades::createShadeRemap(bool left)
{
base::UniquePtr<doc::Remap> remap;
std::unique_ptr<doc::Remap> remap;
Shade colors = getShade();
// We need two or more colors to create a shading remap. In

View File

@ -39,7 +39,6 @@
#include "app/ui_context.h"
#include "base/bind.h"
#include "base/scoped_value.h"
#include "base/unique_ptr.h"
#include "doc/brush.h"
#include "doc/conversion_she.h"
#include "doc/image.h"
@ -1733,7 +1732,7 @@ render::DitheringMatrix ContextBar::ditheringMatrix()
render::DitheringAlgorithmBase* ContextBar::ditheringAlgorithm()
{
static base::UniquePtr<render::DitheringAlgorithmBase> s_dither;
static std::unique_ptr<render::DitheringAlgorithmBase> s_dither;
switch (m_ditheringSelector->ditheringAlgorithm()) {
case render::DitheringAlgorithm::None:

View File

@ -240,17 +240,17 @@ void BrushPreview::show(const gfx::Point& screenPos)
}
{
base::UniquePtr<tools::ToolLoop> loop(
std::unique_ptr<tools::ToolLoop> loop(
create_tool_loop_preview(
m_editor, extraImage,
extraCelBounds.origin()));
if (loop) {
loop->getInk()->prepareInk(loop);
loop->getController()->prepareController(loop);
loop->getInk()->prepareInk(loop.get());
loop->getController()->prepareController(loop.get());
loop->getIntertwine()->prepareIntertwine();
loop->getPointShape()->preparePointShape(loop);
loop->getPointShape()->preparePointShape(loop.get());
loop->getPointShape()->transformPoint(
loop,
loop.get(),
brushBounds.x-origBrushBounds.x,
brushBounds.y-origBrushBounds.y);
}

View File

@ -52,7 +52,6 @@
#include "base/bind.h"
#include "base/chrono.h"
#include "base/convert_to.h"
#include "base/unique_ptr.h"
#include "doc/conversion_she.h"
#include "doc/doc.h"
#include "doc/mask_boundaries.h"
@ -575,7 +574,7 @@ void Editor::drawOneSpriteUnclippedRect(ui::Graphics* g, const gfx::Rect& sprite
dest.h = rc.h;
}
base::UniquePtr<Image> rendered(nullptr);
std::unique_ptr<Image> rendered(nullptr);
try {
// Generate a "expose sprite pixels" notification. This is used by
// tool managers that need to validate this region (copy pixels from
@ -633,7 +632,7 @@ void Editor::drawOneSpriteUnclippedRect(ui::Graphics* g, const gfx::Rect& sprite
}
m_renderEngine->renderSprite(
rendered, m_sprite, m_frame, gfx::Clip(0, 0, rc2));
rendered.get(), m_sprite, m_frame, gfx::Clip(0, 0, rc2));
m_renderEngine->removeExtraImage();
}
@ -655,7 +654,7 @@ void Editor::drawOneSpriteUnclippedRect(ui::Graphics* g, const gfx::Rect& sprite
if (newEngine)
tmp->clear(); // TODO why we need this?
convert_image_to_surface(rendered, m_sprite->palette(m_frame),
convert_image_to_surface(rendered.get(), m_sprite->palette(m_frame),
tmp, 0, 0, 0, 0, rc2.w, rc2.h);
if (newEngine) {
g->drawRgbaSurface(tmp, gfx::Rect(0, 0, rc2.w, rc2.h), dest);
@ -2152,7 +2151,7 @@ void Editor::pasteImage(const Image* image, const Mask* mask)
{
ASSERT(image);
base::UniquePtr<Mask> temp_mask;
std::unique_ptr<Mask> temp_mask;
if (!mask) {
gfx::Rect visibleBounds = getVisibleSpriteBounds();
gfx::Rect imageBounds = image->bounds();

View File

@ -35,7 +35,6 @@
#include "app/util/clipboard.h"
#include "base/bind.h"
#include "base/pi.h"
#include "base/unique_ptr.h"
#include "doc/algorithm/flip_image.h"
#include "doc/mask.h"
#include "doc/sprite.h"
@ -519,8 +518,8 @@ void MovingPixelsState::onBeforeCommandExecution(CommandExecutionEvent& ev)
// Copy the floating image to the clipboard on Cut/Copy.
if (command->id() != CommandId::Clear()) {
Doc* document = m_editor->document();
base::UniquePtr<Image> floatingImage;
base::UniquePtr<Mask> floatingMask;
std::unique_ptr<Image> floatingImage;
std::unique_ptr<Mask> floatingMask;
m_pixelsMovement->getDraggedImageCopy(floatingImage, floatingMask);
clipboard::copy_image(floatingImage.get(),

View File

@ -454,18 +454,18 @@ void PixelsMovement::moveImage(const gfx::Point& pos, MoveModifier moveModifier)
}
}
void PixelsMovement::getDraggedImageCopy(base::UniquePtr<Image>& outputImage,
base::UniquePtr<Mask>& outputMask)
void PixelsMovement::getDraggedImageCopy(std::unique_ptr<Image>& outputImage,
std::unique_ptr<Mask>& outputMask)
{
gfx::Rect bounds = m_currentData.transformedBounds();
base::UniquePtr<Image> image(Image::create(m_sprite->pixelFormat(), bounds.w, bounds.h));
std::unique_ptr<Image> image(Image::create(m_sprite->pixelFormat(), bounds.w, bounds.h));
drawImage(image, bounds.origin(), false);
drawImage(image.get(), bounds.origin(), false);
// Draw mask without shrinking it, so the mask size is equal to the
// "image" render.
base::UniquePtr<Mask> mask(new Mask);
drawMask(mask, false);
std::unique_ptr<Mask> mask(new Mask);
drawMask(mask.get(), false);
// Now we can shrink and crop the image.
gfx::Rect oldMaskBounds = mask->bounds();
@ -474,7 +474,7 @@ void PixelsMovement::getDraggedImageCopy(base::UniquePtr<Image>& outputImage,
if (newMaskBounds != oldMaskBounds) {
newMaskBounds.x -= oldMaskBounds.x;
newMaskBounds.y -= oldMaskBounds.y;
image.reset(crop_image(image,
image.reset(crop_image(image.get(),
newMaskBounds.x,
newMaskBounds.y,
newMaskBounds.w,

View File

@ -78,8 +78,8 @@ namespace app {
// Returns a copy of the current image being dragged with the
// current transformation.
void getDraggedImageCopy(base::UniquePtr<Image>& outputImage,
base::UniquePtr<Mask>& outputMask);
void getDraggedImageCopy(std::unique_ptr<Image>& outputImage,
std::unique_ptr<Mask>& outputMask);
// Copies the image being dragged in the current position.
void stampImage();

View File

@ -712,12 +712,12 @@ void StandbyState::transformSelection(Editor* editor, MouseMessage* msg, HandleT
editor->brushPreview().hide();
EditorCustomizationDelegate* customization = editor->getCustomizationDelegate();
base::UniquePtr<Image> tmpImage(new_image_from_mask(editor->getSite()));
std::unique_ptr<Image> tmpImage(new_image_from_mask(editor->getSite()));
PixelsMovementPtr pixelsMovement(
new PixelsMovement(UIContext::instance(),
editor->getSite(),
tmpImage,
tmpImage.get(),
document->mask(),
"Transformation"));

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2017 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -81,13 +81,13 @@ protected:
gfx::Point m_celOrigin;
gfx::Point m_speed;
tools::ToolLoop::Button m_button;
base::UniquePtr<tools::Ink> m_ink;
std::unique_ptr<tools::Ink> m_ink;
tools::Controller* m_controller;
tools::PointShape* m_pointShape;
tools::Intertwine* m_intertwine;
tools::TracePolicy m_tracePolicy;
base::UniquePtr<tools::Symmetry> m_symmetry;
base::UniquePtr<doc::Remap> m_shadingRemap;
std::unique_ptr<tools::Symmetry> m_symmetry;
std::unique_ptr<doc::Remap> m_shadingRemap;
app::ColorTarget m_colorTarget;
doc::color_t m_fgColor;
doc::color_t m_bgColor;
@ -246,7 +246,7 @@ public:
gfx::Point getCelOrigin() override { return m_celOrigin; }
void setSpeed(const gfx::Point& speed) override { m_speed = speed; }
gfx::Point getSpeed() override { return m_speed; }
tools::Ink* getInk() override { return m_ink; }
tools::Ink* getInk() override { return m_ink.get(); }
tools::Controller* getController() override { return m_controller; }
tools::PointShape* getPointShape() override { return m_pointShape; }
tools::Intertwine* getIntertwine() override { return m_intertwine; }
@ -257,7 +257,7 @@ public:
return m_tracePolicy;
}
tools::Symmetry* getSymmetry() override { return m_symmetry.get(); }
doc::Remap* getShadingRemap() override { return m_shadingRemap; }
doc::Remap* getShadingRemap() override { return m_shadingRemap.get(); }
gfx::Region& getDirtyArea() override {
return m_dirtyArea;

View File

@ -27,7 +27,6 @@
#include "base/fs.h"
#include "base/paths.h"
#include "base/string.h"
#include "base/unique_ptr.h"
#include "fmt/format.h"
#include "ui/ui.h"

View File

@ -9,7 +9,6 @@
#pragma once
#include "app/file_selector.h"
#include "base/unique_ptr.h"
#include "ui/window.h"
#include "file_selector.xml.h"

View File

@ -22,7 +22,6 @@
#include "base/bind.h"
#include "base/fs.h"
#include "base/string.h"
#include "base/unique_ptr.h"
#include "doc/conversion_she.h"
#include "doc/image.h"
#include "doc/image_ref.h"

View File

@ -63,7 +63,7 @@ void ResourceListItem::onPaint(PaintEvent& ev)
g->fillRect(bgcolor, bounds);
static_cast<ResourcesListBox*>(parent())->
paintResource(g, bounds, m_resource);
paintResource(g, bounds, m_resource.get());
g->drawText(text(), fgcolor, gfx::ColorNone,
gfx::Point(
@ -75,7 +75,7 @@ void ResourceListItem::onSizeHint(SizeHintEvent& ev)
{
ev.setSizeHint(
static_cast<ResourcesListBox*>(parent())->
resourceSizeHint(m_resource));
resourceSizeHint(m_resource.get()));
}
//////////////////////////////////////////////////////////////////////
@ -195,12 +195,12 @@ void ResourcesListBox::onTick()
}
m_loadingItem->makeProgress();
base::UniquePtr<Resource> resource;
std::unique_ptr<Resource> resource;
std::string name;
while (m_resourcesLoader->next(resource)) {
base::UniquePtr<ResourceListItem> listItem(onCreateResourceItem(resource));
insertChild(getItemsCount()-1, listItem);
std::unique_ptr<ResourceListItem> listItem(onCreateResourceItem(resource.get()));
insertChild(getItemsCount()-1, listItem.get());
sortItems();
layout();

View File

@ -1,5 +1,5 @@
// Aseprite
// Copyright (C) 2001-2017 David Capello
// Copyright (C) 2001-2018 David Capello
//
// This program is distributed under the terms of
// the End-User License Agreement for Aseprite.
@ -9,11 +9,12 @@
#pragma once
#include "app/res/resources_loader.h"
#include "base/unique_ptr.h"
#include "ui/listbox.h"
#include "ui/listitem.h"
#include "ui/timer.h"
#include <memory>
namespace app {
class ResourceListItem;
@ -21,7 +22,7 @@ class ResourceListItem : public ui::ListItem {
public:
ResourceListItem(Resource* resource);
Resource* resource() const { return m_resource; }
Resource* resource() const { return m_resource.get(); }
protected:
bool onProcessMessage(ui::Message* msg) override;
@ -29,7 +30,7 @@ class ResourceListItem : public ui::ListItem {
void onSizeHint(ui::SizeHintEvent& ev) override;
private:
base::UniquePtr<Resource> m_resource;
std::unique_ptr<Resource> m_resource;
};
class ResourcesListBox : public ui::ListBox {
@ -59,7 +60,7 @@ class ResourceListItem : public ui::ListItem {
void onTick();
void stop();
base::UniquePtr<ResourcesLoader> m_resourcesLoader;
std::unique_ptr<ResourcesLoader> m_resourcesLoader;
ui::Timer m_resourcesTimer;
bool m_reload;

Some files were not shown because too many files have changed in this diff Show More