2 * Copyright 2006-2009, Haiku, Inc. All Rights Reserved.
3 * Distributed under the terms of the MIT License.
9 #include <Archivable.h>
10 #include <InterfaceDefs.h>
14 B_CURSOR_ID_SYSTEM_DEFAULT
= 1,
16 B_CURSOR_ID_CONTEXT_MENU
= 3,
18 B_CURSOR_ID_CREATE_LINK
= 29,
19 B_CURSOR_ID_CROSS_HAIR
= 5,
20 B_CURSOR_ID_FOLLOW_LINK
= 6,
22 B_CURSOR_ID_GRABBING
= 8,
24 B_CURSOR_ID_I_BEAM
= 2,
25 B_CURSOR_ID_I_BEAM_HORIZONTAL
= 10,
26 B_CURSOR_ID_MOVE
= 11,
27 B_CURSOR_ID_NO_CURSOR
= 12,
28 B_CURSOR_ID_NOT_ALLOWED
= 13,
29 B_CURSOR_ID_PROGRESS
= 14,
30 B_CURSOR_ID_RESIZE_NORTH
= 15,
31 B_CURSOR_ID_RESIZE_EAST
= 16,
32 B_CURSOR_ID_RESIZE_SOUTH
= 17,
33 B_CURSOR_ID_RESIZE_WEST
= 18,
34 B_CURSOR_ID_RESIZE_NORTH_EAST
= 19,
35 B_CURSOR_ID_RESIZE_NORTH_WEST
= 20,
36 B_CURSOR_ID_RESIZE_SOUTH_EAST
= 21,
37 B_CURSOR_ID_RESIZE_SOUTH_WEST
= 22,
38 B_CURSOR_ID_RESIZE_NORTH_SOUTH
= 23,
39 B_CURSOR_ID_RESIZE_EAST_WEST
= 24,
40 B_CURSOR_ID_RESIZE_NORTH_EAST_SOUTH_WEST
= 25,
41 B_CURSOR_ID_RESIZE_NORTH_WEST_SOUTH_EAST
= 26,
42 B_CURSOR_ID_ZOOM_IN
= 27,
43 B_CURSOR_ID_ZOOM_OUT
= 28
47 class BCursor
: BArchivable
{
49 BCursor(const void* cursorData
);
50 BCursor(const BCursor
& other
);
51 BCursor(BCursorID id
);
52 BCursor(BMessage
* data
);
55 virtual status_t
Archive(BMessage
* archive
,
56 bool deep
= true) const;
57 static BArchivable
* Instantiate(BMessage
* archive
);
59 BCursor
& operator=(const BCursor
& other
);
60 bool operator==(const BCursor
& other
) const;
61 bool operator!=(const BCursor
& other
) const;
64 virtual status_t
Perform(perform_code d
, void* arg
);
66 virtual void _ReservedCursor1();
67 virtual void _ReservedCursor2();
68 virtual void _ReservedCursor3();
69 virtual void _ReservedCursor4();
71 void _FreeCursorData();
74 friend class BApplication
;
80 bool _reservedWasPendingViewCursor
;
81 // Probably bogus because of padding.