PictureDataWriter: Style fixes only
No functional change intended
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
/*
|
||||
* Copyright 2006-2007, Haiku Inc.
|
||||
* Copyright 2006-2007 Haiku, Inc. All rights reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors:
|
||||
* Stefano Ceccherini ([email protected])
|
||||
* Stefano Ceccherini, [email protected]
|
||||
*/
|
||||
#ifndef _PICTURE_DATA_WRITER_H
|
||||
#define _PICTURE_DATA_WRITER_H
|
||||
@@ -16,10 +16,10 @@
|
||||
|
||||
#include <stack>
|
||||
|
||||
|
||||
class BPositionIO;
|
||||
class BRegion;
|
||||
|
||||
|
||||
class PictureDataWriter {
|
||||
public:
|
||||
PictureDataWriter();
|
||||
@@ -34,10 +34,12 @@ public:
|
||||
status_t WriteSetDrawingMode(const drawing_mode& mode);
|
||||
status_t WriteSetPenLocation(const BPoint& point);
|
||||
status_t WriteSetPenSize(const float& penSize);
|
||||
status_t WriteSetLineMode(const cap_mode &cap, const join_mode &join, const float &miterLimit);
|
||||
status_t WriteSetLineMode(const cap_mode& cap,
|
||||
const join_mode& join,
|
||||
const float& miterLimit);
|
||||
status_t WriteSetScale(const float& scale);
|
||||
status_t WriteSetTransform(BAffineTransform transform);
|
||||
status_t WriteSetPattern(const pattern &pat);
|
||||
status_t WriteSetPattern(const ::pattern& pattern);
|
||||
status_t WriteSetClipping(const BRegion& region);
|
||||
status_t WriteClearClipping();
|
||||
|
||||
@@ -54,36 +56,53 @@ public:
|
||||
status_t WriteSetFontShear(const float& shear);
|
||||
status_t WriteSetFontFace(const int32& face);
|
||||
|
||||
status_t WriteStrokeLine(const BPoint &start, const BPoint &end);
|
||||
status_t WriteStrokeLine(const BPoint& start,
|
||||
const BPoint& end);
|
||||
status_t WriteInvertRect(const BRect& rect);
|
||||
status_t WriteDrawRect(const BRect &rect, const bool &fill);
|
||||
status_t WriteDrawRoundRect(const BRect &rect, const BPoint &radius, const bool &fill);
|
||||
status_t WriteDrawEllipse(const BRect &rect, const bool &fill);
|
||||
status_t WriteDrawArc(const BPoint ¢er, const BPoint &radius,
|
||||
const float &startTheta, const float &arcTheta, const bool &fill);
|
||||
status_t WriteDrawPolygon(const int32 &numPoints, BPoint *points,
|
||||
const bool &isClosed, const bool &fill);
|
||||
status_t WriteDrawBezier(const BPoint points[4], const bool &fill);
|
||||
status_t WriteDrawString(const BPoint &where, const char *string,
|
||||
const int32 &length, const escapement_delta &delta);
|
||||
status_t WriteDrawShape(const int32 &opCount, const void *opList,
|
||||
const int32 &ptCount, const void *ptList, const bool &fill);
|
||||
status_t WriteDrawBitmap(const BRect &srcRect, const BRect &dstRect, const int32 &width, const int32 &height,
|
||||
const int32 &bytesPerRow, const int32 &colorSpace, const int32 &flags,
|
||||
status_t WriteDrawRect(const BRect& rect,
|
||||
const bool& fill);
|
||||
status_t WriteDrawRoundRect(const BRect& rect,
|
||||
const BPoint& radius, const bool& fill);
|
||||
status_t WriteDrawEllipse(const BRect& rect,
|
||||
const bool& fill);
|
||||
status_t WriteDrawArc(const BPoint& center,
|
||||
const BPoint& radius,
|
||||
const float& startTheta,
|
||||
const float& arcTheta, const bool& fill);
|
||||
status_t WriteDrawPolygon(const int32& numPoints,
|
||||
BPoint* points, const bool& isClosed,
|
||||
const bool& fill);
|
||||
status_t WriteDrawBezier(const BPoint points[4],
|
||||
const bool& fill);
|
||||
status_t WriteDrawString(const BPoint& where,
|
||||
const char* string, const int32& length,
|
||||
const escapement_delta& delta);
|
||||
status_t WriteDrawShape(const int32& opCount,
|
||||
const void* opList, const int32& ptCount,
|
||||
const void* ptList, const bool& fill);
|
||||
status_t WriteDrawBitmap(const BRect& srcRect,
|
||||
const BRect& dstRect, const int32& width,
|
||||
const int32& height,
|
||||
const int32& bytesPerRow,
|
||||
const int32& colorSpace,
|
||||
const int32& flags,
|
||||
const void* data, const int32& length);
|
||||
|
||||
status_t WriteDrawPicture(const BPoint &where, const int32 &token);
|
||||
status_t WriteDrawPicture(const BPoint& where,
|
||||
const int32& token);
|
||||
|
||||
protected:
|
||||
// throw a status_t on error
|
||||
void BeginOp(const int16& op);
|
||||
void EndOp();
|
||||
void WriteData(const void* data, size_t size);
|
||||
template <typename T> void Write(const T &data) { WriteData(&data, sizeof(data)); }
|
||||
template <typename T> void Write(const T& data)
|
||||
{ WriteData(&data, sizeof(data)); }
|
||||
|
||||
private:
|
||||
BPositionIO* fData;
|
||||
std::stack<off_t> fStack;
|
||||
};
|
||||
|
||||
|
||||
#endif // _PICTURE_DATA_WRITER_H
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/*
|
||||
* Copyright 2006-2009, Haiku Inc.
|
||||
* Copyright 2006-2009 Haiku, Inc. All rights reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*
|
||||
* Authors:
|
||||
* Stefano Ceccherini ([email protected])
|
||||
* Stefano Ceccherini, [email protected]
|
||||
*/
|
||||
|
||||
#include <PictureDataWriter.h>
|
||||
@@ -20,6 +20,7 @@
|
||||
|
||||
#define THROW_ERROR(error) throw (status_t)(error)
|
||||
|
||||
|
||||
// TODO: Review writing of strings. AFAIK in the picture data format
|
||||
// They are not supposed to be NULL terminated
|
||||
// (at least, it's not mandatory) so we should write their size too.
|
||||
@@ -47,7 +48,9 @@ PictureDataWriter::SetTo(BPositionIO *data)
|
||||
{
|
||||
if (data == NULL)
|
||||
return B_BAD_VALUE;
|
||||
|
||||
fData = data;
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
@@ -62,6 +65,7 @@ PictureDataWriter::WriteSetOrigin(const BPoint &point)
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
@@ -80,6 +84,7 @@ PictureDataWriter::WriteInvertRect(const BRect &rect)
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
@@ -94,6 +99,7 @@ PictureDataWriter::WriteSetDrawingMode(const drawing_mode &mode)
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
@@ -108,6 +114,7 @@ PictureDataWriter::WriteSetPenLocation(const BPoint &point)
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
@@ -122,13 +129,14 @@ PictureDataWriter::WriteSetPenSize(const float &penSize)
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
|
||||
status_t
|
||||
PictureDataWriter::WriteSetLineMode(const cap_mode &cap,
|
||||
const join_mode &join, const float &miterLimit)
|
||||
PictureDataWriter::WriteSetLineMode(const cap_mode& cap, const join_mode& join,
|
||||
const float& miterLimit)
|
||||
{
|
||||
try {
|
||||
BeginOp(B_PIC_SET_LINE_MODE);
|
||||
@@ -139,6 +147,7 @@ PictureDataWriter::WriteSetLineMode(const cap_mode &cap,
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
@@ -153,6 +162,7 @@ PictureDataWriter::WriteSetScale(const float &scale)
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
@@ -167,20 +177,22 @@ PictureDataWriter::WriteSetTransform(BAffineTransform transform)
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
|
||||
status_t
|
||||
PictureDataWriter::WriteSetPattern(const pattern &pat)
|
||||
PictureDataWriter::WriteSetPattern(const ::pattern& pattern)
|
||||
{
|
||||
try {
|
||||
BeginOp(B_PIC_SET_STIPLE_PATTERN);
|
||||
Write<pattern>(pat);
|
||||
Write< ::pattern>(pattern);
|
||||
EndOp();
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
@@ -194,9 +206,9 @@ PictureDataWriter::WriteSetClipping(const BRegion ®ion)
|
||||
if (numRects > 0 && region.Frame().IsValid()) {
|
||||
BeginOp(B_PIC_SET_CLIPPING_RECTS);
|
||||
Write<uint32>(numRects);
|
||||
for (int32 i = 0; i < numRects; i++) {
|
||||
for (int32 i = 0; i < numRects; i++)
|
||||
Write<BRect>(region.RectAt(i));
|
||||
}
|
||||
|
||||
EndOp();
|
||||
} else
|
||||
WriteClearClipping();
|
||||
@@ -217,6 +229,7 @@ PictureDataWriter::WriteClearClipping()
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
@@ -231,6 +244,7 @@ PictureDataWriter::WriteSetHighColor(const rgb_color &color)
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
@@ -245,13 +259,13 @@ PictureDataWriter::WriteSetLowColor(const rgb_color &color)
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
|
||||
status_t
|
||||
PictureDataWriter::WriteDrawRect(const BRect &rect,
|
||||
const bool &fill)
|
||||
PictureDataWriter::WriteDrawRect(const BRect& rect, const bool& fill)
|
||||
{
|
||||
try {
|
||||
BeginOp(fill ? B_PIC_FILL_RECT : B_PIC_STROKE_RECT);
|
||||
@@ -260,13 +274,14 @@ PictureDataWriter::WriteDrawRect(const BRect &rect,
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
|
||||
status_t
|
||||
PictureDataWriter::WriteDrawRoundRect(const BRect &rect,
|
||||
const BPoint &radius, const bool &fill)
|
||||
PictureDataWriter::WriteDrawRoundRect(const BRect& rect, const BPoint& radius,
|
||||
const bool& fill)
|
||||
{
|
||||
try {
|
||||
BeginOp(fill ? B_PIC_FILL_ROUND_RECT : B_PIC_STROKE_ROUND_RECT);
|
||||
@@ -276,6 +291,7 @@ PictureDataWriter::WriteDrawRoundRect(const BRect &rect,
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
@@ -290,14 +306,14 @@ PictureDataWriter::WriteDrawEllipse(const BRect &rect, const bool &fill)
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
|
||||
status_t
|
||||
PictureDataWriter::WriteDrawArc(const BPoint ¢er,
|
||||
const BPoint &radius, const float &startTheta,
|
||||
const float &arcTheta, const bool &fill)
|
||||
PictureDataWriter::WriteDrawArc(const BPoint& center, const BPoint& radius,
|
||||
const float& startTheta, const float& arcTheta, const bool& fill)
|
||||
{
|
||||
try {
|
||||
BeginOp(fill ? B_PIC_FILL_ARC : B_PIC_STROKE_ARC);
|
||||
@@ -309,48 +325,52 @@ PictureDataWriter::WriteDrawArc(const BPoint ¢er,
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
|
||||
status_t
|
||||
PictureDataWriter::WriteDrawPolygon(const int32 &numPoints,
|
||||
BPoint *points, const bool &isClosed, const bool &fill)
|
||||
PictureDataWriter::WriteDrawPolygon(const int32& numPoints, BPoint* points,
|
||||
const bool& isClosed, const bool& fill)
|
||||
{
|
||||
try {
|
||||
BeginOp(fill ? B_PIC_FILL_POLYGON : B_PIC_STROKE_POLYGON);
|
||||
Write<int32>(numPoints);
|
||||
for (int32 i = 0; i < numPoints; i++)
|
||||
Write<BPoint>(points[i]);
|
||||
|
||||
if (!fill)
|
||||
Write<uint8>((uint8)isClosed);
|
||||
|
||||
EndOp();
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
|
||||
status_t
|
||||
PictureDataWriter::WriteDrawBezier(const BPoint points[4],
|
||||
const bool &fill)
|
||||
PictureDataWriter::WriteDrawBezier(const BPoint points[4], const bool& fill)
|
||||
{
|
||||
try {
|
||||
BeginOp(fill ? B_PIC_FILL_BEZIER : B_PIC_STROKE_BEZIER);
|
||||
for (int32 i = 0; i < 4; i++)
|
||||
Write<BPoint>(points[i]);
|
||||
|
||||
EndOp();
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
|
||||
status_t
|
||||
PictureDataWriter::WriteStrokeLine(const BPoint &start,
|
||||
const BPoint &end)
|
||||
PictureDataWriter::WriteStrokeLine(const BPoint& start, const BPoint& end)
|
||||
{
|
||||
try {
|
||||
BeginOp(B_PIC_STROKE_LINE);
|
||||
@@ -360,14 +380,14 @@ PictureDataWriter::WriteStrokeLine(const BPoint &start,
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
|
||||
status_t
|
||||
PictureDataWriter::WriteDrawString(const BPoint &where,
|
||||
const char *string, const int32 &length,
|
||||
const escapement_delta &escapement)
|
||||
PictureDataWriter::WriteDrawString(const BPoint& where, const char* string,
|
||||
const int32& length, const escapement_delta& escapement)
|
||||
{
|
||||
try {
|
||||
BeginOp(B_PIC_SET_PEN_LOCATION);
|
||||
@@ -391,9 +411,8 @@ PictureDataWriter::WriteDrawString(const BPoint &where,
|
||||
|
||||
|
||||
status_t
|
||||
PictureDataWriter::WriteDrawShape(const int32 &opCount,
|
||||
const void *opList, const int32 &ptCount, const void *ptList,
|
||||
const bool &fill)
|
||||
PictureDataWriter::WriteDrawShape(const int32& opCount, const void* opList,
|
||||
const int32& ptCount, const void* ptList, const bool& fill)
|
||||
{
|
||||
try {
|
||||
BeginOp(fill ? B_PIC_FILL_SHAPE : B_PIC_STROKE_SHAPE);
|
||||
@@ -411,10 +430,10 @@ PictureDataWriter::WriteDrawShape(const int32 &opCount,
|
||||
|
||||
|
||||
status_t
|
||||
PictureDataWriter::WriteDrawBitmap(const BRect &srcRect,
|
||||
const BRect &dstRect, const int32 &width, const int32 &height,
|
||||
const int32 &bytesPerRow, const int32 &colorSpace,
|
||||
const int32 &flags, const void *data, const int32 &length)
|
||||
PictureDataWriter::WriteDrawBitmap(const BRect& srcRect, const BRect& dstRect,
|
||||
const int32& width, const int32& height, const int32& bytesPerRow,
|
||||
const int32& colorSpace, const int32& flags, const void* data,
|
||||
const int32& length)
|
||||
{
|
||||
if (length != height * bytesPerRow)
|
||||
debugger("PictureDataWriter::WriteDrawBitmap: invalid length");
|
||||
@@ -432,13 +451,13 @@ PictureDataWriter::WriteDrawBitmap(const BRect &srcRect,
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
|
||||
status_t
|
||||
PictureDataWriter::WriteDrawPicture(const BPoint &where,
|
||||
const int32 &token)
|
||||
PictureDataWriter::WriteDrawPicture(const BPoint& where, const int32& token)
|
||||
{
|
||||
// TODO: I'm not sure about this function. I think we need
|
||||
// to attach the picture data too.
|
||||
@@ -452,6 +471,7 @@ PictureDataWriter::WriteDrawPicture(const BPoint &where,
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
@@ -467,6 +487,7 @@ PictureDataWriter::WriteSetFontFamily(const font_family family)
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
@@ -482,6 +503,7 @@ PictureDataWriter::WriteSetFontStyle(const font_style style)
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
@@ -496,6 +518,7 @@ PictureDataWriter::WriteSetFontSpacing(const int32 &spacing)
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
@@ -510,6 +533,7 @@ PictureDataWriter::WriteSetFontSize(const float &size)
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
@@ -524,6 +548,7 @@ PictureDataWriter::WriteSetFontRotation(const float &rotation)
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
@@ -538,6 +563,7 @@ PictureDataWriter::WriteSetFontEncoding(const int32 &encoding)
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
@@ -552,6 +578,7 @@ PictureDataWriter::WriteSetFontFlags(const int32 &flags)
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
@@ -566,6 +593,7 @@ PictureDataWriter::WriteSetFontShear(const float &shear)
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
@@ -580,6 +608,7 @@ PictureDataWriter::WriteSetFontFace(const int32 &face)
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
@@ -593,6 +622,7 @@ PictureDataWriter::WritePushState()
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
@@ -606,6 +636,7 @@ PictureDataWriter::WritePopState()
|
||||
} catch (status_t& status) {
|
||||
return status;
|
||||
}
|
||||
|
||||
return B_OK;
|
||||
}
|
||||
|
||||
@@ -656,6 +687,7 @@ PictureDataWriter::WriteData(const void *data, size_t size)
|
||||
ssize_t result = fData->Write(data, size);
|
||||
if (result < 0)
|
||||
THROW_ERROR(result);
|
||||
|
||||
if ((size_t)result != size)
|
||||
THROW_ERROR(B_IO_ERROR);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user