// Copyright (C) 2002-2006 Nikolaus Gebhardt // This file is part of the "Irrlicht Engine". // For conditions of distribution and use, see copyright notice in irrlicht.h #pragma once #pragma unmanaged #include "..\\..\\include\\irrlicht.h" #pragma managed #include "Position2D.h" namespace Irrlicht { namespace GUI { /// /// Interface to manipulate the mouse cursor. /// /// This class has been ported directly from the native C++ Irrlicht Engine, so it may not /// be 100% complete yet and the design may not be 100% .NET like. /// public __gc class ICursorControl { public: /// /// You should access ICursorControl /// through the Irrlicht::IrrlichtDevice::getCursorControl() method. Simply don't use /// this constructor. /// ///The real, unmanaged C++ ICursorControl ICursorControl(irr::gui::ICursorControl* realControl); //! destructor ~ICursorControl(); /// /// Changes the visible state of the mouse cursor. /// /// The new visible state. If true, the cursor will be visible, /// if false, it will be invisible. __property void set_Visible(bool visible); /// /// Returns if the cursor is currently visible. /// /// Returns true if the cursor is visible, false if not. __property bool get_Visible(); /// /// Sets/Gets the new position of the cursor as float values. /// The position must be between (0.0f, 0.0f) and (1.0f, 1.0f), where (0.0f, 0.0f) is /// the top left corner and (1.0f, 1.0f) is the bottom right corner of the /// render window. /// __property void set_Positionf(Core::Position2Df pos); /// /// Sets/Gets the new position of the cursor as float values. /// The position must be between (0.0f, 0.0f) and (1.0f, 1.0f), where (0.0f, 0.0f) is /// the top left corner and (1.0f, 1.0f) is the bottom right corner of the /// render window. /// __property Core::Position2Df get_Positionf(); /// /// Sets/Gets the new position of the cursor. The coordinates are pixel units. /// __property void set_Position(Core::Position2D pos); /// /// Sets/Gets the new position of the cursor. The coordinates are pixel units. /// __property Core::Position2D get_Position(); /// /// Returns the internal pointer to the native C++ irrlicht texture. /// Do not use this, only needed by the internal .NET wrapper. /// __property irr::gui::ICursorControl* get_NativeCursorControl(); private: irr::gui::ICursorControl* CursorControl; }; } }