mirror of https://github.com/aseprite/aseprite.git
				
				
				
			Replace base::UniquePtr -> std::unique_ptr
This commit is contained in:
		
							parent
							
								
									b981818134
								
							
						
					
					
						commit
						f2ed45e795
					
				
							
								
								
									
										2
									
								
								laf
								
								
								
								
							
							
								
								
								
								
								
								
							
						
						
									
										2
									
								
								laf
								
								
								
								
							|  | @ -1 +1 @@ | |||
| Subproject commit f9eef03cbec5dc591e6e9604af6a2225382e5d0d | ||||
| Subproject commit 2068f653224edfbfafc00a40a1d72a8e022d00d8 | ||||
|  | @ -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 | ||||
|  |  | |||
|  | @ -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
 | ||||
|  |  | |||
|  | @ -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__ | ||||
|   { | ||||
|  |  | |||
|  | @ -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; | ||||
|  |  | |||
|  | @ -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; | ||||
| 
 | ||||
|  |  | |||
|  | @ -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
 | ||||
|  |  | |||
|  | @ -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.
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -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(), | ||||
|  |  | |||
|  | @ -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
 | ||||
|  |  | |||
|  | @ -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; | ||||
|  |  | |||
|  | @ -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; | ||||
|  |  | |||
|  | @ -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(); | ||||
|  |  | |||
|  | @ -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
 | ||||
|  |  | |||
|  | @ -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(); | ||||
|   } | ||||
| 
 | ||||
|  |  | |||
|  | @ -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
 | ||||
|  |  | |||
|  | @ -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 | ||||
|  |  | |||
|  | @ -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
 | ||||
|  |  | |||
|  | @ -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())); | ||||
|   } | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -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; | ||||
|  |  | |||
|  | @ -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; | ||||
| }; | ||||
|  |  | |||
|  | @ -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())); | ||||
| 
 | ||||
|  |  | |||
|  | @ -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()) { | ||||
|  |  | |||
|  | @ -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; | ||||
| }; | ||||
|  |  | |||
|  | @ -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(); | ||||
|     } | ||||
| 
 | ||||
|  |  | |||
|  | @ -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(); | ||||
|  |  | |||
|  | @ -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(); | ||||
|  |  | |||
|  | @ -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); | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -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(); | ||||
|  |  | |||
|  | @ -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" | ||||
|  |  | |||
|  | @ -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(); | ||||
|  |  | |||
|  | @ -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); | ||||
|  |  | |||
|  | @ -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(); | ||||
|   } | ||||
|  |  | |||
|  | @ -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", | ||||
|  |  | |||
|  | @ -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.
 | ||||
|  |  | |||
|  | @ -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) | ||||
|  |  | |||
|  | @ -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(); | ||||
|  |  | |||
|  | @ -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()) { | ||||
|  |  | |||
|  | @ -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(); | ||||
|  |  | |||
|  | @ -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" | ||||
|  |  | |||
|  | @ -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(); | ||||
|  |  | |||
|  | @ -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: | ||||
|  |  | |||
|  | @ -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; | ||||
|  |  | |||
|  | @ -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; | ||||
| }; | ||||
|  |  | |||
|  | @ -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; | ||||
|  |  | |||
|  | @ -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(); | ||||
|  |  | |||
|  | @ -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
 | ||||
|  |  | |||
|  | @ -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; | ||||
|   }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -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(); | ||||
|  |  | |||
|  | @ -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 { | ||||
|  |  | |||
|  | @ -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" | ||||
|  |  | |||
|  | @ -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())); | ||||
|  |  | |||
|  | @ -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; | ||||
|  |  | |||
|  | @ -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(); | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -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()); | ||||
|  |  | |||
|  | @ -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(); | ||||
|  |  | |||
|  | @ -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, | ||||
|  |  | |||
|  | @ -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" | ||||
| 
 | ||||
|  |  | |||
|  | @ -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
 | ||||
|  |  | |||
|  | @ -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, | ||||
|  |  | |||
|  | @ -8,7 +8,6 @@ | |||
| #define APP_EXTENSIONS_H_INCLUDED | ||||
| #pragma once | ||||
| 
 | ||||
| #include "base/unique_ptr.h" | ||||
| #include "obs/signal.h" | ||||
| 
 | ||||
| #include <map> | ||||
|  |  | |||
|  | @ -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; | ||||
|  |  | |||
|  | @ -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) | ||||
|  |  | |||
|  | @ -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()); | ||||
| 
 | ||||
|  |  | |||
|  | @ -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); | ||||
| 
 | ||||
|  |  | |||
|  | @ -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()) { | ||||
| 
 | ||||
|  |  | |||
|  | @ -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 | | ||||
|  |  | |||
|  | @ -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(); | ||||
|     } | ||||
|   } | ||||
|  |  | |||
|  | @ -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; | ||||
|  |  | |||
|  | @ -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; | ||||
| 
 | ||||
|  |  | |||
|  | @ -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 { | ||||
| 
 | ||||
|  |  | |||
|  | @ -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" | ||||
|  |  | |||
|  | @ -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"); | ||||
| 
 | ||||
|  |  | |||
|  | @ -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)) { | ||||
|  |  | |||
|  | @ -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
 | ||||
|  |  | |||
|  | @ -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()); | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|  |  | |||
|  | @ -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(), | ||||
|  |  | |||
|  | @ -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
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -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; | ||||
|  |  | |||
|  | @ -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) | ||||
|  |  | |||
|  | @ -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: | ||||
|  |  | |||
|  | @ -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
 | ||||
|  |  | |||
|  | @ -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; | ||||
| 
 | ||||
|  |  | |||
|  | @ -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) { | ||||
|  |  | |||
|  | @ -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; | ||||
|  |  | |||
|  | @ -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: | ||||
|  |  | |||
|  | @ -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
 | ||||
|  |  | |||
|  | @ -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: | ||||
|  |  | |||
|  | @ -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); | ||||
|       } | ||||
|  |  | |||
|  | @ -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(); | ||||
|  |  | |||
|  | @ -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(), | ||||
|  |  | |||
|  | @ -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, | ||||
|  |  | |||
|  | @ -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(); | ||||
|  |  | |||
|  | @ -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")); | ||||
| 
 | ||||
|  |  | |||
|  | @ -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; | ||||
|  |  | |||
|  | @ -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" | ||||
| 
 | ||||
|  |  | |||
|  | @ -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" | ||||
|  |  | |||
|  | @ -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" | ||||
|  |  | |||
|  | @ -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(); | ||||
| 
 | ||||
|  |  | |||
|  | @ -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
		Loading…
	
		Reference in New Issue