/* * Copyright 2012-2014, 2019 Haiku, Inc. All rights reserved. * Distributed under the terms of the MIT License. * * Authors: * John Scipione, jscipione@gmail.com * * Corresponds to: * headers/os/app/Cursor.h hrev54621 * src/kits/app/Cursor.cpp hrev54621 */ /*! \file Cursor.h \ingroup app \ingroup libbe \brief Provides the BCursor class. */ /*! \enum BCursorID List of predefined cursor IDs \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_SYSTEM_DEFAULT System default cursor \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_CONTEXT_MENU Context menu cursor \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_COPY Copy cursor \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_CREATE_LINK Symlink cursor \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_CROSS_HAIR Cross hairs cursor \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_FOLLOW_LINK Follow html link cursor \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_GRAB Grab cursor \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_GRABBING Grabbing cursor (mouse down) \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_HELP Help cursor \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_I_BEAM I beam cursor \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_I_BEAM_HORIZONTAL Horizontal I beam cursor \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_MOVE Move cursor \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_NO_CURSOR No cursor \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_NOT_ALLOWED Not allowed cursor \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_PROGRESS Progress cursor \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_RESIZE_NORTH Resize north cursor \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_RESIZE_EAST Resize east cursor \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_RESIZE_SOUTH Resize south cursor \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_RESIZE_WEST Resize west cursor \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_RESIZE_NORTH_EAST Resize north east cursor \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_RESIZE_NORTH_WEST Resize north west cursor \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_RESIZE_SOUTH_EAST Resize south east cursor \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_RESIZE_SOUTH_WEST Resize south west cursor \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_RESIZE_NORTH_SOUTH Resize north south cursor \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_RESIZE_EAST_WEST Resize east west cursor \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_RESIZE_NORTH_EAST_SOUTH_WEST Resize north east south west cursor \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_RESIZE_NORTH_WEST_SOUTH_EAST Resize north west south east cursor \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_ZOOM_IN Zoom in cursor \since BeOS R5 */ /*! \var BCursorID B_CURSOR_ID_ZOOM_OUT Zoom out cursor \since BeOS R5 */ /*! \class BCursor \ingroup app \ingroup libbe \brief BCursor describes a view-wide or application-wide cursor. \note As BeOS only supports 16x16 monochrome cursors, to see a nice shadowed one we will need to extend this. \since BeOS R5 */ /*! \fn BCursor::BCursor(const void* cursorData) \brief Initializes a new cursor object. If the \a cursorData parameter is not \c NULL then the cursor is initialized with the cursor data. \param cursorData The cursor data. \since BeOS R5 */ /*! \fn BCursor::BCursor(BCursorID id) \brief Initializes a new cursor object from a predefined cursor \a id. \param id The predefined \a id to initialize to. \since BeOS R5 */ /*! \fn BCursor::BCursor(const BCursor& other) \brief Initializes a new cursor object from another cursor object. \param other The cursor object to initialize from. \since BeOS R5 */ /*! \fn BCursor::BCursor(BMessage* data) \brief Initializes a new cursor object from a message archive. \param data The message data to initialize from. \since BeOS R5 */ /*! \fn BCursor::BCursor(const BBitmap* bitmap, const BPoint& hotspot) \brief Initializes a new cursor object from a bitmap object and a point object. \param bitmap The bitmap object to initialize from. \param hotspot The cursor hotspot. \since Haiku R1 */ /*! \fn BCursor::~BCursor() \brief Destroy the cursor and free its memory. \since BeOS R5 */ /*! \fn status_t BCursor::InitCheck() const \brief Returns the initialization status. \return \c B_OK if the object was properly initialized or an error code otherwise. \since Haiku R1 */ /*! \fn status_t BCursor::Archive(BMessage *into, bool deep) const \brief Archive the cursor. Not implemented. \since BeOS R5 */ /*! \fn BArchivable* BCursor::Instantiate(BMessage *archive) \brief Instantiate the cursor from a message. Not implemented. \since BeOS R5 */ /*! \fn BCursor& BCursor::operator=(const BCursor &other) \brief Set the cursor to another cursor object. \param other The cursor object to copy from. \returns the new cursor object. \since BeOS R5 */ /*! \fn bool BCursor::operator==(const BCursor &other) const \brief Compare a cursor object to another and return if they are equal. \param other The cursor object to compare to. \returns \c true if the cursor objects are equal, \c false if the cursor objects are not equal. \since BeOS R5 */ /*! \fn bool BCursor::operator!=(const BCursor &other) const \brief Compare a cursor object to another and return if they are not equal. \param other The cursor object to compare to. \returns \c true if the cursor objects are not equal, \c false if the cursor objects are equal. \since BeOS R5 */