* Code style changed in class GraphicsDriver and and
child classes * Removed namespace handling for Metrowerks compiler * Initialize all fields in constructor git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39765 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
#ifndef __GRAPHICSDRIVER_H
|
||||
#define __GRAPHICSDRIVER_H
|
||||
|
||||
|
||||
#include "JobData.h"
|
||||
#include "PrinterData.h"
|
||||
#include "PrintProcess.h"
|
||||
@@ -13,137 +14,170 @@
|
||||
#include "Transport.h"
|
||||
#include "StatusWindow.h"
|
||||
|
||||
|
||||
class BView;
|
||||
class BBitmap;
|
||||
class BMessage;
|
||||
class PrinterData;
|
||||
class PrinterCap;
|
||||
|
||||
|
||||
enum {
|
||||
kGDFRotateBandBitmap = 1
|
||||
};
|
||||
|
||||
|
||||
class GraphicsDriver {
|
||||
public:
|
||||
GraphicsDriver(BMessage *, PrinterData *, const PrinterCap *);
|
||||
virtual ~GraphicsDriver();
|
||||
const JobData *getJobData(BFile *spoolFile);
|
||||
BMessage *takeJob(BFile *spoolFile, uint32 flags = 0);
|
||||
static BPoint getScale(int32 nup, BRect physicalRect, float scaling);
|
||||
static BPoint getOffset(int32 nup, int index, JobData::Orientation orientation, const BPoint *scale,
|
||||
BRect scaledPhysicalRect, BRect scaledPrintableRect, BRect physicalRect);
|
||||
GraphicsDriver(BMessage* message, PrinterData* printerData,
|
||||
const PrinterCap *printerCap);
|
||||
virtual ~GraphicsDriver();
|
||||
|
||||
const JobData* GetJobData(BFile* spoolFile);
|
||||
BMessage* TakeJob(BFile* spoolFile, uint32 flags = 0);
|
||||
static BPoint GetScale(int32 nup, BRect physicalRect, float scaling);
|
||||
static BPoint GetOffset(int32 nup, int index,
|
||||
JobData::Orientation orientation, const BPoint* scale,
|
||||
BRect scaledPhysicalRect, BRect scaledPrintableRect,
|
||||
BRect physicalRect);
|
||||
|
||||
protected:
|
||||
virtual bool startDoc();
|
||||
virtual bool startPage(int page_number);
|
||||
virtual bool nextBand(BBitmap *bitmap, BPoint *offset);
|
||||
virtual bool endPage(int page_number);
|
||||
virtual bool endDoc(bool success);
|
||||
GraphicsDriver(const GraphicsDriver &);
|
||||
|
||||
void writeSpoolData(const void *buffer, size_t size) throw(TransportException);
|
||||
void writeSpoolString(const char *buffer, ...) throw(TransportException);
|
||||
void writeSpoolChar(char c) throw(TransportException);
|
||||
GraphicsDriver& operator = (const GraphicsDriver &);
|
||||
|
||||
static void convert_to_rgb24(void* src, void* dst, int width, color_space cs);
|
||||
static void convert_to_gray(void* src, void* dst, int width, color_space cs);
|
||||
virtual bool StartDocument();
|
||||
virtual bool StartPage(int page_number);
|
||||
virtual bool NextBand(BBitmap* bitmap, BPoint* offset);
|
||||
virtual bool EndPage(int page_number);
|
||||
virtual bool EndDocument(bool success);
|
||||
|
||||
const JobData *getJobData() const;
|
||||
const PrinterData *getPrinterData() const;
|
||||
const PrinterCap *getPrinterCap() const;
|
||||
const SpoolMetaData *getSpoolMetaData() const;
|
||||
int getProtocolClass() const;
|
||||
void WriteSpoolData(const void* buffer, size_t size)
|
||||
throw (TransportException);
|
||||
void WriteSpoolString(const char* buffer, ...)
|
||||
throw (TransportException);
|
||||
void WriteSpoolChar(char c)
|
||||
throw (TransportException);
|
||||
|
||||
int getPageWidth() const;
|
||||
int getPageHeight() const;
|
||||
int getBandWidth() const;
|
||||
int getBandHeight() const;
|
||||
int getPixelDepth() const;
|
||||
static void ConvertToRGB24(const void* src, void* dst, int width,
|
||||
color_space cs);
|
||||
static void ConvertToGray(const void* src, void* dst, int width,
|
||||
color_space cs);
|
||||
|
||||
GraphicsDriver(const GraphicsDriver &);
|
||||
GraphicsDriver &operator = (const GraphicsDriver &);
|
||||
const JobData* GetJobData() const;
|
||||
const PrinterData* GetPrinterData() const;
|
||||
const PrinterCap* GetPrinterCap() const;
|
||||
const SpoolMetaData* GetSpoolMetaData() const;
|
||||
int GetProtocolClass() const;
|
||||
|
||||
int GetPageWidth() const;
|
||||
int GetPageHeight() const;
|
||||
int GetBandWidth() const;
|
||||
int GetBandHeight() const;
|
||||
int GetPixelDepth() const;
|
||||
|
||||
private:
|
||||
bool setupData(BFile *file);
|
||||
void setupBitmap();
|
||||
void cleanupData();
|
||||
void cleanupBitmap();
|
||||
bool printPage(PageDataList *pages);
|
||||
bool collectPages(SpoolData *spool_data, PageDataList *pages);
|
||||
bool skipPages(SpoolData *spool_data);
|
||||
bool printDocument(SpoolData *spool_data);
|
||||
bool printJob(BFile *file);
|
||||
static void rgb32_to_rgb24(void* src, void* dst, int width);
|
||||
static void cmap8_to_rgb24(void* src, void* dst, int width);
|
||||
static uint8 gray(uint8 r, uint8 g, uint8 b);
|
||||
static void rgb32_to_gray(void* src, void* dst, int width);
|
||||
static void cmap8_to_gray(void* src, void* dst, int width);
|
||||
bool _SetupData(BFile* file);
|
||||
void _SetupBitmap();
|
||||
void _CleanupData();
|
||||
void _CleanupBitmap();
|
||||
bool _PrintPage(PageDataList* pages);
|
||||
bool _CollectPages(SpoolData* spoolData, PageDataList* pages);
|
||||
bool _SkipPages(SpoolData* spoolData);
|
||||
bool _PrintDocument(SpoolData* spoolData);
|
||||
bool PrintJob(BFile* file);
|
||||
static void _ConvertRGB32ToRGB24(const void* src, void* dst, int width);
|
||||
static void _ConvertCMAP8ToRGB24(const void* src, void* dst, int width);
|
||||
static uint8 _ConvertToGray(uint8 r, uint8 g, uint8 b);
|
||||
static void _ConvertRGB32ToGray(const void* src, void* dst, int width);
|
||||
static void _ConvertCMAP8ToGray(const void* src, void* dst, int width);
|
||||
|
||||
uint32 fFlags;
|
||||
BMessage *fMsg;
|
||||
BView *fView;
|
||||
BBitmap *fBitmap;
|
||||
Transport *fTransport;
|
||||
JobData *fOrgJobData;
|
||||
JobData *fRealJobData;
|
||||
PrinterData *fPrinterData;
|
||||
const PrinterCap *fPrinterCap;
|
||||
SpoolMetaData *fSpoolMetaData;
|
||||
uint32 fFlags;
|
||||
BMessage* fMessage;
|
||||
BView* fView;
|
||||
BBitmap* fBitmap;
|
||||
Transport* fTransport;
|
||||
JobData* fOrgJobData;
|
||||
JobData* fRealJobData;
|
||||
PrinterData* fPrinterData;
|
||||
const PrinterCap* fPrinterCap;
|
||||
SpoolMetaData* fSpoolMetaData;
|
||||
|
||||
int fPageWidth;
|
||||
int fPageHeight;
|
||||
int fBandWidth;
|
||||
int fBandHeight;
|
||||
int fPixelDepth;
|
||||
int fBandCount;
|
||||
int fInternalCopies;
|
||||
int fPageWidth;
|
||||
int fPageHeight;
|
||||
int fBandWidth;
|
||||
int fBandHeight;
|
||||
int fPixelDepth;
|
||||
int fBandCount;
|
||||
int fInternalCopies;
|
||||
|
||||
uint32 fPageCount;
|
||||
|
||||
uint32 fPageCount;
|
||||
StatusWindow *fStatusWindow;
|
||||
StatusWindow* fStatusWindow;
|
||||
};
|
||||
|
||||
inline const JobData *GraphicsDriver::getJobData() const
|
||||
|
||||
inline const JobData*
|
||||
GraphicsDriver::GetJobData() const
|
||||
{
|
||||
return fRealJobData;
|
||||
}
|
||||
|
||||
inline const PrinterData *GraphicsDriver::getPrinterData() const
|
||||
|
||||
inline const PrinterData*
|
||||
GraphicsDriver::GetPrinterData() const
|
||||
{
|
||||
return fPrinterData;
|
||||
}
|
||||
|
||||
inline const PrinterCap *GraphicsDriver::getPrinterCap() const
|
||||
|
||||
inline const PrinterCap*
|
||||
GraphicsDriver::GetPrinterCap() const
|
||||
{
|
||||
return fPrinterCap;
|
||||
}
|
||||
|
||||
inline const SpoolMetaData *GraphicsDriver::getSpoolMetaData() const
|
||||
|
||||
inline const SpoolMetaData*
|
||||
GraphicsDriver::GetSpoolMetaData() const
|
||||
{
|
||||
return fSpoolMetaData;
|
||||
}
|
||||
|
||||
inline int GraphicsDriver::getProtocolClass() const
|
||||
|
||||
inline int
|
||||
GraphicsDriver::GetProtocolClass() const
|
||||
{
|
||||
return fPrinterData->getProtocolClass();
|
||||
}
|
||||
|
||||
inline int GraphicsDriver::getPageWidth() const
|
||||
|
||||
inline int
|
||||
GraphicsDriver::GetPageWidth() const
|
||||
{
|
||||
return fPageWidth;
|
||||
}
|
||||
|
||||
inline int GraphicsDriver::getPageHeight() const
|
||||
|
||||
inline int
|
||||
GraphicsDriver::GetPageHeight() const
|
||||
{
|
||||
return fPageHeight;
|
||||
}
|
||||
|
||||
inline int GraphicsDriver::getBandWidth() const
|
||||
|
||||
inline int
|
||||
GraphicsDriver::GetBandWidth() const
|
||||
{
|
||||
return fBandWidth;
|
||||
}
|
||||
|
||||
inline int GraphicsDriver::getBandHeight() const
|
||||
|
||||
inline int
|
||||
GraphicsDriver::GetBandHeight() const
|
||||
{
|
||||
return fBandHeight;
|
||||
}
|
||||
|
||||
|
||||
#endif /* __GRAPHICSDRIVER_H */
|
||||
|
||||
Reference in New Issue
Block a user