diff --git a/headers/private/servers/app/DisplayDriver.h b/headers/private/servers/app/DisplayDriver.h index 0edeb5e199..397ec39bf1 100644 --- a/headers/private/servers/app/DisplayDriver.h +++ b/headers/private/servers/app/DisplayDriver.h @@ -288,15 +288,15 @@ class DisplayDriver { const float &maxwidth, char **outstrings) = 0; - virtual void HideCursor(); - virtual bool IsCursorHidden(); + virtual void HideCursor() = 0; + virtual bool IsCursorHidden() = 0; virtual void MoveCursorTo( const float &x, - const float &y); - virtual void ShowCursor(); - virtual void ObscureCursor(); - virtual void SetCursor(ServerCursor *cursor); - BPoint GetCursorPosition(); - virtual bool IsCursorObscured(bool state); + const float &y) = 0; + virtual void ShowCursor() = 0; + virtual void ObscureCursor() = 0; + virtual void SetCursor(ServerCursor *cursor) = 0; + virtual BPoint GetCursorPosition() = 0; + virtual bool IsCursorObscured(bool state) = 0; // Virtual methods which need to be implemented by each subclass @@ -358,8 +358,6 @@ class DisplayDriver { virtual void ConstrainClippingRegion(BRegion *reg) = 0; protected: - CursorHandler fCursorHandler; - display_mode fDisplayMode; uint32 fDPMSState; uint32 fDPMSCaps; diff --git a/headers/private/servers/app/DisplayDriverImpl.h b/headers/private/servers/app/DisplayDriverImpl.h index e5724264bb..d992346da6 100644 --- a/headers/private/servers/app/DisplayDriverImpl.h +++ b/headers/private/servers/app/DisplayDriverImpl.h @@ -279,7 +279,19 @@ class DisplayDriverImpl : public DisplayDriver { const uint32 &mode, const float &maxwidth, char **outstrings); - + + // cursor handling + virtual void HideCursor(); + virtual bool IsCursorHidden(); + virtual void MoveCursorTo( const float &x, + const float &y); + virtual void ShowCursor(); + virtual void ObscureCursor(); + virtual void SetCursor(ServerCursor *cursor); + BPoint GetCursorPosition(); + virtual bool IsCursorObscured(bool state); + + // These two will rarely be implemented by subclasses, // but it still needs to be possible virtual bool Lock(bigtime_t timeout = B_INFINITE_TIMEOUT); @@ -408,6 +420,7 @@ friend class WinBorder; protected: BLocker fLocker; + CursorHandler fCursorHandler; }; #endif