/* Copyright 2003-2007 ROBLOX Corporation, All Rights Reserved */ #pragma once #include "V8DataModel/ScriptMouseCommand.h" namespace RBX { // A generic mouse command associated with a Tool - fires events to Tool for activation, etc. class StudioTool; class PMouse; extern const char *const sStudioToolMouseCommand; class StudioToolMouseCommand : public Named { private: typedef Named Super; shared_ptr tool; rbx::signals::scoped_connection toolUnequipped; void onEvent_ToolUnequipped(); public: StudioToolMouseCommand(Workspace* workspace, shared_ptr tool); ~StudioToolMouseCommand(); const StudioTool* getStudioTool() const { return tool.get(); } /*override*/ shared_ptr onMouseDown(const shared_ptr& inputObject); /*override*/ shared_ptr onMouseUp(const shared_ptr& inputObject); }; } // namespace