5#ifndef DCPP_I_CURSOR_CONTROL_HPP_INCLUDED
6#define DCPP_I_CURSOR_CONTROL_HPP_INCLUDED
8#include <duckcpp/core/engine/IReferenceCounted.hpp>
9#include <duckcpp/core/engine/position2d.hpp>
10#include <duckcpp/core/engine/rect.hpp>
68 : SpriteBank(0), SpriteId(-1)
73 : SpriteBank(spriteBank), SpriteId(spriteId), HotSpot(hotspot)
Base class of most objects of the Duckcpp Engine.
Definition IReferenceCounted.hpp:46
Interface to manipulate the mouse cursor.
Definition ICursorControl.hpp:100
virtual void setActiveIcon(ECURSOR_ICON iconId)
Sets the active cursor icon.
Definition ICursorControl.hpp:168
virtual void setVisible(bool visible)=0
Changes the visible state of the mouse cursor.
virtual void changeIcon(ECURSOR_ICON iconId, const dcpp::gui::SCursorSprite &sprite)
replace a cursor icon.
Definition ICursorControl.hpp:182
virtual dcpp::nub::position2df getRelativePosition(bool updateCursor=true)=0
Returns the current position of the mouse cursor.
virtual ECURSOR_PLATFORM_BEHAVIOR getPlatformBehavior() const
Return platform specific behavior.
Definition ICursorControl.hpp:193
virtual void setPosition(const dcpp::nub::position2df &pos)=0
Sets the new position of the cursor.
virtual dcpp::nub::dimension2di getSupportedIconSize() const
Return a system-specific size which is supported for cursors. Larger icons will fail,...
Definition ICursorControl.hpp:185
virtual const dcpp::nub::position2di & getPosition(bool updateCursor=true)=0
Returns the current position of the mouse cursor.
virtual void setReferenceRect(dcpp::nub::recti *rect=0)=0
Sets an absolute reference rect for setting and retrieving the cursor position.
virtual bool isVisible() const =0
Returns if the cursor is currently visible.
virtual ECURSOR_ICON getActiveIcon() const
Gets the currently active icon.
Definition ICursorControl.hpp:171
virtual void setPlatformBehavior(ECURSOR_PLATFORM_BEHAVIOR behavior)
Set platform specific behavior flags.
Definition ICursorControl.hpp:188
virtual ECURSOR_ICON addIcon(const dcpp::gui::SCursorSprite &icon)
Add a custom sprite as cursor icon.
Definition ICursorControl.hpp:175
virtual void setPosition(dcpp::int32_kt x, dcpp::int32_kt y)=0
Sets the new position of the cursor.
virtual void setPosition(const dcpp::nub::position2di &pos)=0
Sets the new position of the cursor.
virtual void setPosition(dcpp::float32_kt x, dcpp::float32_kt y)=0
Sets the new position of the cursor.
Sprite bank interface.
Definition IGUISpriteBank.hpp:71
class used to set sprites as cursors.
Definition ICursorControl.hpp:65
Axis aligned bounding box in 3d dimensional space.
Definition aabbox3d.hpp:22
Rectangle template.
Definition rect.hpp:27
const dcpp::char_kt *const GUICursorIconNames[ECI_COUNT+1]
Names for ECURSOR_ICON.
Definition ICursorControl.hpp:45
ECURSOR_PLATFORM_BEHAVIOR
platform specific behavior flags for the cursor
Definition ICursorControl.hpp:85
@ ECPB_NONE
default - no platform specific behavior
Definition ICursorControl.hpp:87
@ ECPB_X11_CACHE_UPDATES
On X11 try caching cursor updates as XQueryPointer calls can be expensive.
Definition ICursorControl.hpp:95
ECURSOR_ICON
Default icons for cursors.
Definition ICursorControl.hpp:21
dimension2d< dcpp::int32_kt > dimension2di
using type alias for an integer dimension.
Definition dimension2d.hpp:217
As of Duckcpp 1.6, position2d is a synonym for vector2d.
Definition shared_device.hpp:34
char char_kt
8 bit character variable.
Definition irrTypes.hpp:37
float float32_kt
32 bit floating point variable.
Definition irrTypes.hpp:108
signed int int32_kt
32 bit signed variable.
Definition irrTypes.hpp:72