haiku/src/servers/app/ServerPicture.h
Stefano Ceccherini ed5de868df Implemented the following BPicture ops: fill region, stroke/fill arc,
stroke/fill polygon, stroke/fill bezier. some work towards drawing of 
nested pictures.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21918 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-13 07:20:43 +00:00

55 lines
1.1 KiB
C++

#ifndef __SERVER_PICTURE_H
#define __SERVER_PICTURE_H
#include <DataIO.h>
#include <PictureDataWriter.h>
#include <PortLink.h>
// TODO: For some reason, the forward declaration "class BPrivate::PortLink" causes compiling errors
class ServerApp;
class ViewLayer;
class BPrivate::LinkReceiver;
class BList;
class ServerPicture : public PictureDataWriter {
public:
int32 Token() { return fToken; }
void EnterStateChange();
void ExitStateChange();
void EnterFontChange();
void ExitFontChange();
void SyncState(ViewLayer *view);
void Play(ViewLayer *view);
void Usurp(ServerPicture *newPicture);
ServerPicture* StepDown();
bool NestPicture(ServerPicture *picture);
off_t DataLength() const;
status_t ImportData(BPrivate::LinkReceiver &link);
status_t ExportData(BPrivate::PortLink &link);
private:
friend class ServerApp;
ServerPicture();
ServerPicture(const ServerPicture &);
ServerPicture(const char *fileName, const int32 &offset);
~ServerPicture();
int32 fToken;
BPositionIO *fData;
// DrawState *fState;
BList *fPictures;
ServerPicture *fUsurped;
};
#endif // __SERVER_PICTURE_H