2 * Copyright 2012-2014 Haiku, Inc. All rights reserved.
3 * Distributed under the terms of the MIT License.
6 * John Scipione, jscipione@gmail.com
9 * headers/os/app/Cursor.h hrev47355
10 * src/kits/app/Cursor.cpp hrev47355
18 \brief Provides the BCursor class.
24 List of predefined cursor IDs
31 \var BCursorID B_CURSOR_ID_SYSTEM_DEFAULT
39 \var BCursorID B_CURSOR_ID_CONTEXT_MENU
47 \var BCursorID B_CURSOR_ID_COPY
55 \var BCursorID B_CURSOR_ID_CREATE_LINK
63 \var BCursorID B_CURSOR_ID_CROSS_HAIR
71 \var BCursorID B_CURSOR_ID_FOLLOW_LINK
72 Follow html link cursor
79 \var BCursorID B_CURSOR_ID_GRAB
87 \var BCursorID B_CURSOR_ID_GRABBING
88 Grabbing cursor (mouse down)
95 \var BCursorID B_CURSOR_ID_HELP
103 \var BCursorID B_CURSOR_ID_I_BEAM
111 \var BCursorID B_CURSOR_ID_I_BEAM_HORIZONTAL
112 Horizontal I beam cursor
119 \var BCursorID B_CURSOR_ID_MOVE
127 \var BCursorID B_CURSOR_ID_NO_CURSOR
135 \var BCursorID B_CURSOR_ID_NOT_ALLOWED
143 \var BCursorID B_CURSOR_ID_PROGRESS
151 \var BCursorID B_CURSOR_ID_RESIZE_NORTH
159 \var BCursorID B_CURSOR_ID_RESIZE_EAST
167 \var BCursorID B_CURSOR_ID_RESIZE_SOUTH
175 \var BCursorID B_CURSOR_ID_RESIZE_WEST
183 \var BCursorID B_CURSOR_ID_RESIZE_NORTH_EAST
184 Resize north east cursor
191 \var BCursorID B_CURSOR_ID_RESIZE_NORTH_WEST
192 Resize north west cursor
199 \var BCursorID B_CURSOR_ID_RESIZE_SOUTH_EAST
200 Resize south east cursor
207 \var BCursorID B_CURSOR_ID_RESIZE_SOUTH_WEST
208 Resize south west cursor
215 \var BCursorID B_CURSOR_ID_RESIZE_NORTH_SOUTH
216 Resize north south cursor
223 \var BCursorID B_CURSOR_ID_RESIZE_EAST_WEST
224 Resize east west cursor
231 \var BCursorID B_CURSOR_ID_RESIZE_NORTH_EAST_SOUTH_WEST
232 Resize north east south west cursor
239 \var BCursorID B_CURSOR_ID_RESIZE_NORTH_WEST_SOUTH_EAST
240 Resize north west south east cursor
247 \var BCursorID B_CURSOR_ID_ZOOM_IN
255 \var BCursorID B_CURSOR_ID_ZOOM_OUT
266 \brief BCursor describes a view-wide or application-wide cursor.
268 \note As BeOS only supports 16x16 monochrome cursors, to see a nice
269 shadowed one we will need to extend this.
276 \fn BCursor::BCursor(const void* cursorData)
277 \brief Initializes a new cursor object.
279 If the \a cursorData parameter is not \c NULL then the cursor is initialized
280 with the cursor data.
282 \param cursorData The cursor data.
289 \fn BCursor::BCursor(BCursorID id)
290 \brief Initializes a new cursor object from a predefined cursor \a id.
292 \param id The predefined \a id to initialize to.
299 \fn BCursor::BCursor(const BCursor& other)
300 \brief Initializes a new cursor object from another cursor object.
302 \param other The cursor object to initialize from.
309 \fn BCursor::BCursor(BMessage* data)
310 \brief Initializes a new cursor object from a message archive.
312 \param data The message data to initialize from.
319 \fn BCursor::~BCursor()
320 \brief Destroy the cursor and free its memory.
327 status_t BCursor::Archive(BMessage *into, bool deep) const
328 \brief Archive the cursor. Not implemented.
335 BArchivable* BCursor::Instantiate(BMessage *data)
336 \brief Instantiate the cursor from a message. Not implemented.
343 BCursor& BCursor::operator=(const BCursor& other)
344 \brief Set the cursor to another cursor object.
346 \param other The cursor object to copy from.
348 \returns the new cursor object.
355 bool BCursor::operator==(const BCursor& other) const
356 \brief Compare a cursor object to another and return if they are equal.
358 \param other The cursor object to compare to.
360 \returns \c true if the cursor objects are equal, \c false if the cursor
361 objects are not equal.
368 bool BCursor::operator!=(const BCursor& other) const
369 \brief Compare a cursor object to another and return if they are not equal.
371 \param other The cursor object to compare to.
373 \returns \c true if the cursor objects are not equal, \c false if the cursor