xref: /haiku/headers/os/app/Cursor.h (revision 1e36cfc2721ef13a187c6f7354dc9cbc485e89d3)
1 /*
2  * Copyright 2006, Haiku, Inc. All Rights Reserved.
3  * Distributed under the terms of the MIT License.
4  */
5 #ifndef _CURSOR_H
6 #define _CURSOR_H
7 
8 
9 #include <Archivable.h>
10 #include <InterfaceDefs.h>
11 
12 
13 class BCursor : BArchivable {
14 	public:
15 		BCursor(const void* cursorData);
16 		BCursor(BMessage* data);
17 		virtual	~BCursor();
18 
19 		virtual	status_t	Archive(BMessage* archive, bool deep = true) const;
20 		static BArchivable*	Instantiate(BMessage* archive);
21 
22 	private:
23 		virtual status_t	Perform(perform_code d, void* arg);
24 
25 		virtual	void		_ReservedCursor1();
26 		virtual	void		_ReservedCursor2();
27 		virtual	void		_ReservedCursor3();
28 		virtual	void		_ReservedCursor4();
29 
30 	private:
31 		friend class BApplication;
32 		friend class BView;
33 
34 		int32				fServerToken;
35 		bool				fNeedToFree;
36 		mutable bool		fPendingViewCursor;
37 
38 		uint32				_reserved[6];
39 };
40 
41 #endif	// _CURSOR_H
42