mirror of https://github.com/aseprite/aseprite.git
				
				
				
			
		
			
				
	
	
		
			48 lines
		
	
	
		
			914 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			914 B
		
	
	
	
		
			C++
		
	
	
	
| // Aseprite
 | |
| // Copyright (C) 2001-2017  David Capello
 | |
| //
 | |
| // This program is distributed under the terms of
 | |
| // the End-User License Agreement for Aseprite.
 | |
| 
 | |
| #ifdef HAVE_CONFIG_H
 | |
| #include "config.h"
 | |
| #endif
 | |
| 
 | |
| #include "app/app.h"
 | |
| #include "app/commands/command.h"
 | |
| #include "app/ui/input_chain.h"
 | |
| 
 | |
| namespace app {
 | |
| 
 | |
| class ClearCommand : public Command {
 | |
| public:
 | |
|   ClearCommand();
 | |
|   Command* clone() const override { return new ClearCommand(*this); }
 | |
| 
 | |
| protected:
 | |
|   bool onEnabled(Context* ctx) override;
 | |
|   void onExecute(Context* ctx) override;
 | |
| };
 | |
| 
 | |
| ClearCommand::ClearCommand()
 | |
|   : Command(CommandId::Clear(), CmdUIOnlyFlag)
 | |
| {
 | |
| }
 | |
| 
 | |
| bool ClearCommand::onEnabled(Context* ctx)
 | |
| {
 | |
|   return App::instance()->inputChain().canClear(ctx);
 | |
| }
 | |
| 
 | |
| void ClearCommand::onExecute(Context* ctx)
 | |
| {
 | |
|   App::instance()->inputChain().clear(ctx);
 | |
| }
 | |
| 
 | |
| Command* CommandFactory::createClearCommand()
 | |
| {
 | |
|   return new ClearCommand;
 | |
| }
 | |
| 
 | |
| } // namespace app
 |