diff --git a/laf b/laf index f9eef03cb..2068f6532 160000 --- a/laf +++ b/laf @@ -1 +1 @@ -Subproject commit f9eef03cbec5dc591e6e9604af6a2225382e5d0d +Subproject commit 2068f653224edfbfafc00a40a1d72a8e022d00d8 diff --git a/src/app/app.cpp b/src/app/app.cpp index 35b1452b0..08835283a 100644 --- a/src/app/app.cpp +++ b/src/app/app.cpp @@ -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 +#include #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 delegate; + std::unique_ptr delegate; if (options.previewCLI()) delegate.reset(new PreviewCliDelegate); else diff --git a/src/app/app.h b/src/app/app.h index 07bbda956..a6a02ca0b 100644 --- a/src/app/app.h +++ b/src/app/app.h @@ -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 #include #include @@ -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 m_uiSystem; + std::unique_ptr m_uiSystem; CoreModules* m_coreModules; Modules* m_modules; LegacyModules* m_legacy; bool m_isGui; bool m_isShell; - base::UniquePtr m_mainWindow; + std::unique_ptr m_mainWindow; base::paths m_files; #ifdef ENABLE_UI - base::UniquePtr m_brushes; + std::unique_ptr m_brushes; BackupIndicator* m_backupIndicator; base::mutex m_backupIndicatorMutex; #endif // ENABLE_UI diff --git a/src/app/app_menus.cpp b/src/app/app_menus.cpp index aa99d07b3..501ae5838 100644 --- a/src/app/app_menus.cpp +++ b/src/app/app_menus.cpp @@ -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__ { diff --git a/src/app/app_menus.h b/src/app/app_menus.h index bf53212a3..fd8d5fba0 100644 --- a/src/app/app_menus.h +++ b/src/app/app_menus.h @@ -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 + 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 m_rootMenu; + std::unique_ptr m_rootMenu; MenuItem* m_recentListMenuitem; MenuItem* m_helpMenuitem; - base::UniquePtr m_tabPopupMenu; - base::UniquePtr m_documentTabPopupMenu; - base::UniquePtr m_layerPopupMenu; - base::UniquePtr m_framePopupMenu; - base::UniquePtr m_celPopupMenu; - base::UniquePtr m_celMovementPopupMenu; - base::UniquePtr m_frameTagPopupMenu; - base::UniquePtr m_slicePopupMenu; - base::UniquePtr m_palettePopupMenu; - base::UniquePtr m_inkPopupMenu; + std::unique_ptr m_tabPopupMenu; + std::unique_ptr m_documentTabPopupMenu; + std::unique_ptr m_layerPopupMenu; + std::unique_ptr m_framePopupMenu; + std::unique_ptr m_celPopupMenu; + std::unique_ptr m_celMovementPopupMenu; + std::unique_ptr m_frameTagPopupMenu; + std::unique_ptr m_slicePopupMenu; + std::unique_ptr m_palettePopupMenu; + std::unique_ptr m_inkPopupMenu; obs::scoped_connection m_recentFilesConn; std::vector m_menus; she::Menu* m_osMenu; diff --git a/src/app/check_update.h b/src/app/check_update.h index e003b8ef0..9ae38a135 100644 --- a/src/app/check_update.h +++ b/src/app/check_update.h @@ -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 + namespace app { class CheckUpdateDelegate; @@ -43,8 +44,8 @@ namespace app { CheckUpdateDelegate* m_delegate; Preferences& m_preferences; updater::Uuid m_uuid; - base::UniquePtr m_thread; - base::UniquePtr m_bgJob; + std::unique_ptr m_thread; + std::unique_ptr m_bgJob; bool m_doCheck; bool m_received; diff --git a/src/app/cli/cli_processor.h b/src/app/cli/cli_processor.h index aa64c813e..83ac93970 100644 --- a/src/app/cli/cli_processor.h +++ b/src/app/cli/cli_processor.h @@ -10,8 +10,8 @@ #include "app/cli/cli_delegate.h" #include "app/cli/cli_open_file.h" -#include "base/unique_ptr.h" +#include #include #include @@ -33,7 +33,7 @@ namespace app { CliDelegate* m_delegate; const AppOptions& m_options; - base::UniquePtr m_exporter; + std::unique_ptr m_exporter; }; } // namespace app diff --git a/src/app/cli/default_cli_delegate.cpp b/src/app/cli/default_cli_delegate.cpp index 8d4265bc2..5ef2a1df1 100644 --- a/src/app/cli/default_cli_delegate.cpp +++ b/src/app/cli/default_cli_delegate.cpp @@ -32,6 +32,7 @@ #endif #include +#include namespace app { @@ -98,7 +99,7 @@ void DefaultCliDelegate::loadPalette(Context* ctx, const CliOpenFile& cof, const std::string& filename) { - base::UniquePtr palette(load_palette(filename.c_str())); + std::unique_ptr 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 spriteSheet(exporter.exportSheet(ctx)); + std::unique_ptr spriteSheet(exporter.exportSheet(ctx)); // Sprite sheet isn't used, we just delete it. diff --git a/src/app/cli/preview_cli_delegate.cpp b/src/app/cli/preview_cli_delegate.cpp index 7d8e314ff..65c9590ab 100644 --- a/src/app/cli/preview_cli_delegate.cpp +++ b/src/app/cli/preview_cli_delegate.cpp @@ -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 +#include 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 fop( + std::unique_ptr fop( FileOp::createSaveDocumentOperation( ctx, cof.roi(), diff --git a/src/app/cmd/add_frame.h b/src/app/cmd/add_frame.h index 22ba9a371..94501b179 100644 --- a/src/app/cmd/add_frame.h +++ b/src/app/cmd/add_frame.h @@ -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 + 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 m_addCel; + std::unique_ptr m_addCel; }; } // namespace cmd diff --git a/src/app/cmd/clear_mask.h b/src/app/cmd/clear_mask.h index a4a31fbab..b87f02926 100644 --- a/src/app/cmd/clear_mask.h +++ b/src/app/cmd/clear_mask.h @@ -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 + namespace app { namespace cmd { using namespace doc; @@ -38,7 +39,7 @@ namespace cmd { void restore(); CmdSequence m_seq; - base::UniquePtr m_dstImage; + std::unique_ptr m_dstImage; ImageRef m_copy; gfx::Point m_offset; int m_boundsX, m_boundsY; diff --git a/src/app/cmd/clear_rect.h b/src/app/cmd/clear_rect.h index fc83649dc..08fb8d8d1 100644 --- a/src/app/cmd/clear_rect.h +++ b/src/app/cmd/clear_rect.h @@ -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 + namespace doc { class Cel; } @@ -41,7 +42,7 @@ namespace cmd { void restore(); CmdSequence m_seq; - base::UniquePtr m_dstImage; + std::unique_ptr m_dstImage; ImageRef m_copy; int m_offsetX, m_offsetY; color_t m_bgcolor; diff --git a/src/app/cmd/deselect_mask.cpp b/src/app/cmd/deselect_mask.cpp index 80f71b6ee..988f7b88b 100644 --- a/src/app/cmd/deselect_mask.cpp +++ b/src/app/cmd/deselect_mask.cpp @@ -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(); diff --git a/src/app/cmd/deselect_mask.h b/src/app/cmd/deselect_mask.h index d2c0d8120..be1d50e6c 100644 --- a/src/app/cmd/deselect_mask.h +++ b/src/app/cmd/deselect_mask.h @@ -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 namespace doc { class Mask; @@ -31,7 +32,7 @@ namespace cmd { size_t onMemSize() const override; private: - base::UniquePtr m_oldMask; + std::unique_ptr m_oldMask; }; } // namespace cmd diff --git a/src/app/cmd/reselect_mask.cpp b/src/app/cmd/reselect_mask.cpp index cdab535bd..2cfa9ebf0 100644 --- a/src/app/cmd/reselect_mask.cpp +++ b/src/app/cmd/reselect_mask.cpp @@ -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(); } diff --git a/src/app/cmd/reselect_mask.h b/src/app/cmd/reselect_mask.h index 172297dee..310bc4c5d 100644 --- a/src/app/cmd/reselect_mask.h +++ b/src/app/cmd/reselect_mask.h @@ -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 namespace doc { class Mask; @@ -31,7 +32,7 @@ namespace cmd { size_t onMemSize() const override; private: - base::UniquePtr m_oldMask; + std::unique_ptr m_oldMask; }; } // namespace cmd diff --git a/src/app/cmd/set_mask.cpp b/src/app/cmd/set_mask.cpp index 599dd4ee8..03014283f 100644 --- a/src/app/cmd/set_mask.cpp +++ b/src/app/cmd/set_mask.cpp @@ -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 diff --git a/src/app/cmd/set_mask.h b/src/app/cmd/set_mask.h index 2f000e417..92a0e3e0b 100644 --- a/src/app/cmd/set_mask.h +++ b/src/app/cmd/set_mask.h @@ -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 #include namespace doc { @@ -38,8 +38,8 @@ namespace cmd { private: void setMask(Mask* mask); - base::UniquePtr m_oldMask; - base::UniquePtr m_newMask; + std::unique_ptr m_oldMask; + std::unique_ptr m_newMask; }; } // namespace cmd diff --git a/src/app/cmd/set_pixel_format.cpp b/src/app/cmd/set_pixel_format.cpp index 41f009611..d7e9b4298 100644 --- a/src/app/cmd/set_pixel_format.cpp +++ b/src/app/cmd/set_pixel_format.cpp @@ -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 graypal(Palette::createGrayscale()); + std::unique_ptr 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())); } } diff --git a/src/app/commands/cmd_canvas_size.cpp b/src/app/commands/cmd_canvas_size.cpp index 23bb5c2fa..fa4fd7907 100644 --- a/src/app/commands/cmd_canvas_size.cpp +++ b/src/app/commands/cmd_canvas_size.cpp @@ -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 window(new CanvasSizeWindow()); + std::unique_ptr 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; diff --git a/src/app/commands/cmd_change_pixel_format.cpp b/src/app/commands/cmd_change_pixel_format.cpp index ab8cc287b..35ac3017b 100644 --- a/src/app/commands/cmd_change_pixel_format.cpp +++ b/src/app/commands/cmd_change_pixel_format.cpp @@ -324,7 +324,7 @@ private: Editor* m_editor; doc::ImageRef m_image; doc::ImageBufferPtr m_imageBuffer; - base::UniquePtr m_bgThread; + std::unique_ptr m_bgThread; ConversionItem* m_selectedItem; DitheringSelector* m_ditheringSelector; }; diff --git a/src/app/commands/cmd_color_quantization.cpp b/src/app/commands/cmd_color_quantization.cpp index e9bb09541..554c79840 100644 --- a/src/app/commands/cmd_color_quantization.cpp +++ b/src/app/commands/cmd_color_quantization.cpp @@ -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 newPalette( + std::unique_ptr newPalette( new Palette(createPal ? tmpPalette: *get_current_palette())); diff --git a/src/app/commands/cmd_export_sprite_sheet.cpp b/src/app/commands/cmd_export_sprite_sheet.cpp index a8b4b7f15..4b6a6f0e3 100644 --- a/src/app/commands/cmd_export_sprite_sheet.cpp +++ b/src/app/commands/cmd_export_sprite_sheet.cpp @@ -777,7 +777,7 @@ void ExportSpriteSheetCommand::onExecute(Context* context) (!selLayers.empty() ? &selLayers: nullptr), (!selFrames.empty() ? &selFrames: nullptr)); - base::UniquePtr newDocument(exporter.exportSheet(context)); + std::unique_ptr 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()) { diff --git a/src/app/commands/cmd_fullscreen_preview.cpp b/src/app/commands/cmd_fullscreen_preview.cpp index 99423b301..f1e4c9d92 100644 --- a/src/app/commands/cmd_fullscreen_preview.cpp +++ b/src/app/commands/cmd_fullscreen_preview.cpp @@ -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; uwidth(), 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 m_render; - base::UniquePtr m_doublebuf; + std::unique_ptr m_render; + std::unique_ptr m_doublebuf; she::ScopedHandle m_doublesur; filters::TiledMode m_tiled; }; diff --git a/src/app/commands/cmd_import_sprite_sheet.cpp b/src/app/commands/cmd_import_sprite_sheet.cpp index 0ceeef3b7..7848df49a 100644 --- a/src/app/commands/cmd_import_sprite_sheet.cpp +++ b/src/app/commands/cmd_import_sprite_sheet.cpp @@ -394,10 +394,10 @@ void ImportSpriteSheetCommand::onExecute(Context* context) // Add all frames+cels to the new layer for (size_t i=0; i resultCel(new Cel(frame_t(i), animation[i])); + std::unique_ptr 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(); } diff --git a/src/app/commands/cmd_invert_mask.cpp b/src/app/commands/cmd_invert_mask.cpp index 2670a090d..4478e0cea 100644 --- a/src/app/commands/cmd_invert_mask.cpp +++ b/src/app/commands/cmd_invert_mask.cpp @@ -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(new Mask()); + std::unique_ptr 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(); diff --git a/src/app/commands/cmd_load_mask.cpp b/src/app/commands/cmd_load_mask.cpp index 15d54ca15..412b7a29e 100644 --- a/src/app/commands/cmd_load_mask.cpp +++ b/src/app/commands/cmd_load_mask.cpp @@ -68,7 +68,7 @@ void LoadMaskCommand::onExecute(Context* context) m_filename = selectedFilename.front(); } - base::UniquePtr mask(load_msk_file(m_filename.c_str())); + std::unique_ptr 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(); diff --git a/src/app/commands/cmd_load_palette.cpp b/src/app/commands/cmd_load_palette.cpp index d417aa4da..b34e81524 100644 --- a/src/app/commands/cmd_load_palette.cpp +++ b/src/app/commands/cmd_load_palette.cpp @@ -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 palette(load_palette(filename.c_str())); + std::unique_ptr 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( Commands::instance()->byId(CommandId::SetPalette())); - cmd->setPalette(palette); + cmd->setPalette(palette.get()); context->executeCommand(cmd); } diff --git a/src/app/commands/cmd_mask_by_color.cpp b/src/app/commands/cmd_mask_by_color.cpp index 1898c8bcf..569c5d1d2 100644 --- a/src/app/commands/cmd_mask_by_color.cpp +++ b/src/app/commands/cmd_mask_by_color.cpp @@ -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(generateMask(sprite, image, xpos, ypos)); - transaction.execute(new cmd::SetMask(document, mask)); + std::unique_ptr 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(new Mask()); + std::unique_ptr 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(generateMask(reader.sprite(), image, xpos, ypos)); + std::unique_ptr 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(); diff --git a/src/app/commands/cmd_merge_down_layer.cpp b/src/app/commands/cmd_merge_down_layer.cpp index 3e8878f8e..e53355530 100644 --- a/src/app/commands/cmd_merge_down_layer.cpp +++ b/src/app/commands/cmd_merge_down_layer.cpp @@ -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" diff --git a/src/app/commands/cmd_modify_selection.cpp b/src/app/commands/cmd_modify_selection.cpp index 86699ffa4..b1106ff98 100644 --- a/src/app/commands/cmd_modify_selection.cpp +++ b/src/app/commands/cmd_modify_selection.cpp @@ -128,12 +128,12 @@ void ModifySelectionCommand::onExecute(Context* context) Doc* document(writer.document()); Sprite* sprite(writer.sprite()); - base::UniquePtr mask(new Mask); + std::unique_ptr 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(); diff --git a/src/app/commands/cmd_new_file.cpp b/src/app/commands/cmd_new_file.cpp index 96d9d2b75..1cca58ee7 100644 --- a/src/app/commands/cmd_new_file.cpp +++ b/src/app/commands/cmd_new_file.cpp @@ -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::createBasicSprite(format, w, h, ncolors)); + std::unique_ptr 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(new Doc(sprite)); + std::unique_ptr doc(new Doc(sprite.get())); sprite.release(); sprintf(buf, "Sprite-%04d", ++_sprite_counter); doc->setFilename(buf); diff --git a/src/app/commands/cmd_new_frame_tag.cpp b/src/app/commands/cmd_new_frame_tag.cpp index b139de8ef..55b1eeda8 100644 --- a/src/app/commands/cmd_new_frame_tag.cpp +++ b/src/app/commands/cmd_new_frame_tag.cpp @@ -60,8 +60,8 @@ void NewFrameTagCommand::onExecute(Context* context) to = range.selectedFrames().lastFrame(); } - base::UniquePtr frameTag(new FrameTag(from, to)); - FrameTagWindow window(sprite, frameTag); + std::unique_ptr 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(); } diff --git a/src/app/commands/cmd_new_sprite_from_selection.cpp b/src/app/commands/cmd_new_sprite_from_selection.cpp index 528c2bbeb..0a8e72173 100644 --- a/src/app/commands/cmd_new_sprite_from_selection.cpp +++ b/src/app/commands/cmd_new_sprite_from_selection.cpp @@ -61,7 +61,7 @@ void NewSpriteFromSelectionCommand::onExecute(Context* context) Palette* palette = sprite->palette(site.frame()); - base::UniquePtr dstSprite( + std::unique_ptr 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 dstDoc(new Doc(dstSprite)); + std::unique_ptr dstDoc(new Doc(dstSprite.get())); dstSprite.release(); char buf[1024]; std::sprintf(buf, "%s-%dx%d-%dx%d", diff --git a/src/app/commands/cmd_open_file.cpp b/src/app/commands/cmd_open_file.cpp index 35ab70091..3edac0934 100644 --- a/src/app/commands/cmd_open_file.cpp +++ b/src/app/commands/cmd_open_file.cpp @@ -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 fop( + std::unique_ptr 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. diff --git a/src/app/commands/cmd_paste_text.cpp b/src/app/commands/cmd_paste_text.cpp index 0fb55588f..0c94f00bc 100644 --- a/src/app/commands/cmd_paste_text.cpp +++ b/src/app/commands/cmd_paste_text.cpp @@ -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 m_fontPopup; + std::unique_ptr m_fontPopup; }; void PasteTextCommand::onExecute(Context* ctx) diff --git a/src/app/commands/cmd_rotate.cpp b/src/app/commands/cmd_rotate.cpp index f3c9182cd..10db653bd 100644 --- a/src/app/commands/cmd_rotate.cpp +++ b/src/app/commands/cmd_rotate.cpp @@ -126,7 +126,7 @@ protected: // rotate mask if (document()->isMaskVisible()) { Mask* origMask = document()->mask(); - base::UniquePtr new_mask(new Mask()); + std::unique_ptr 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(); diff --git a/src/app/commands/cmd_save_file.cpp b/src/app/commands/cmd_save_file.cpp index c44c29ba4..6be628bd1 100644 --- a/src/app/commands/cmd_save_file.cpp +++ b/src/app/commands/cmd_save_file.cpp @@ -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 fop( + std::unique_ptr 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()) { diff --git a/src/app/commands/cmd_select_tile.cpp b/src/app/commands/cmd_select_tile.cpp index 57bb8050f..05f13a07c 100644 --- a/src/app/commands/cmd_select_tile.cpp +++ b/src/app/commands/cmd_select_tile.cpp @@ -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(new Mask()); + std::unique_ptr 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(); diff --git a/src/app/commands/cmd_set_palette.cpp b/src/app/commands/cmd_set_palette.cpp index 90dc4e2dc..cf584ffb4 100644 --- a/src/app/commands/cmd_set_palette.cpp +++ b/src/app/commands/cmd_set_palette.cpp @@ -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" diff --git a/src/app/commands/cmd_sprite_size.cpp b/src/app/commands/cmd_sprite_size.cpp index 55fe02e04..f7d2ff3b5 100644 --- a/src/app/commands/cmd_sprite_size.cpp +++ b/src/app/commands/cmd_sprite_size.cpp @@ -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 new_mask(new Mask); + std::unique_ptr 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(); diff --git a/src/app/commands/filters/cmd_color_curve.cpp b/src/app/commands/filters/cmd_color_curve.cpp index 1a57fc35d..a57cd1996 100644 --- a/src/app/commands/filters/cmd_color_curve.cpp +++ b/src/app/commands/filters/cmd_color_curve.cpp @@ -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 the_curve; +static std::unique_ptr the_curve; class ColorCurveWindow : public FilterWindow { public: diff --git a/src/app/commands/filters/cmd_convolution_matrix.cpp b/src/app/commands/filters/cmd_convolution_matrix.cpp index 432d990e5..01e9bd965 100644 --- a/src/app/commands/filters/cmd_convolution_matrix.cpp +++ b/src/app/commands/filters/cmd_convolution_matrix.cpp @@ -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("convolution_matrix.xml", "controls")) , m_stock(stock) - , m_view(app::find_widget(m_controlsWidget, "view")) - , m_stockListBox(app::find_widget(m_controlsWidget, "stock")) - , m_reloadButton(app::find_widget