Make UEFI boot-platform build again
[haiku.git] / headers / os / interface / Picture.h
blob39f3312f6e347060475f95cd43efd55ba945da26
1 /*
2 * Copyright 2001-2014 Haiku Inc. All rights reserved.
3 * Distributed under the terms of the MIT License.
4 */
5 #ifndef _PICTURE_H
6 #define _PICTURE_H
9 #include <InterfaceDefs.h>
10 #include <Rect.h>
11 #include <Archivable.h>
14 class BDataIO;
15 class BView;
16 struct _BPictureExtent_;
19 class BPicture : public BArchivable {
20 public:
21 BPicture();
22 BPicture(const BPicture& other);
23 BPicture(BMessage* data);
24 virtual ~BPicture();
26 static BArchivable* Instantiate(BMessage* data);
27 virtual status_t Archive(BMessage* data, bool deep = true) const;
28 virtual status_t Perform(perform_code code, void* arg);
30 status_t Play(void** callBackTable,
31 int32 tableEntries,
32 void* userData);
34 status_t Flatten(BDataIO* stream);
35 status_t Unflatten(BDataIO* stream);
37 class Private;
38 private:
39 // FBC padding and forbidden methods
40 virtual void _ReservedPicture1();
41 virtual void _ReservedPicture2();
42 virtual void _ReservedPicture3();
44 BPicture& operator=(const BPicture&);
46 private:
47 friend class BWindow;
48 friend class BView;
49 friend class BPrintJob;
50 friend class Private;
52 void _InitData();
53 void _DisposeData();
55 void _ImportOldData(const void* data, int32 size);
57 void SetToken(int32 token);
58 int32 Token() const;
60 bool _AssertLocalCopy();
61 bool _AssertOldLocalCopy();
62 bool _AssertServerCopy();
64 status_t _Upload();
65 status_t _Download();
67 // Deprecated API
68 BPicture(const void* data, int32 size);
69 const void* Data() const;
70 int32 DataSize() const;
72 void Usurp(BPicture* lameDuck);
73 BPicture* StepDown();
75 private:
76 int32 fToken;
77 _BPictureExtent_* fExtent;
78 BPicture* fUsurped;
80 uint32 _reserved[3];
83 #endif // _PICTURE_H