2 * Copyright 2001-2014 Haiku Inc. All rights reserved.
3 * Distributed under the terms of the MIT License.
9 #include <InterfaceDefs.h>
11 #include <Archivable.h>
16 struct _BPictureExtent_
;
19 class BPicture
: public BArchivable
{
22 BPicture(const BPicture
& other
);
23 BPicture(BMessage
* data
);
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
,
34 status_t
Flatten(BDataIO
* stream
);
35 status_t
Unflatten(BDataIO
* stream
);
39 // FBC padding and forbidden methods
40 virtual void _ReservedPicture1();
41 virtual void _ReservedPicture2();
42 virtual void _ReservedPicture3();
44 BPicture
& operator=(const BPicture
&);
49 friend class BPrintJob
;
55 void _ImportOldData(const void* data
, int32 size
);
57 void SetToken(int32 token
);
60 bool _AssertLocalCopy();
61 bool _AssertOldLocalCopy();
62 bool _AssertServerCopy();
68 BPicture(const void* data
, int32 size
);
69 const void* Data() const;
70 int32
DataSize() const;
72 void Usurp(BPicture
* lameDuck
);
77 _BPictureExtent_
* fExtent
;