/* Copyright 2003-2007 ROBLOX Corporation, All Rights Reserved */ #pragma once #include "V8DataModel/MouseCommand.h" namespace RBX { class Mouse; // A command to interface the generic, scriptable HopperBin to the RBX command architecture class ScriptMouseCommand : public MouseCommand { private: shared_ptr mouse; // A scriptable representation of the Mouse public: ScriptMouseCommand(Workspace* workspace); ~ScriptMouseCommand(); shared_ptr getMouse() {return mouse;} virtual TextureId getCursorId() const; /*override*/ shared_ptr onMouseDown(const shared_ptr& inputObject); /*override*/ void onMouseHover(const shared_ptr& inputObject); /*override*/ void onMouseIdle(const shared_ptr& inputObject); /*override*/ shared_ptr onMouseWheelForward(const shared_ptr& inputObject); /*override*/ shared_ptr onMouseWheelBackward(const shared_ptr& inputObject); /*override*/ shared_ptr onRightMouseDown(const shared_ptr& inputObject); /*override*/ shared_ptr onRightMouseUp(const shared_ptr& inputObject); /*override*/ shared_ptr onMouseUp(const shared_ptr& inputObject); /*override*/ shared_ptr onPeekKeyDown(const shared_ptr& inputObject); /*override*/ shared_ptr onPeekKeyUp(const shared_ptr& inputObject); /*override*/ const Name& getName() const; }; } // namespace