haiku/headers/private/app/ServerProtocolStructs.h
Stephan Aßmus a6db6bd40f Added WIP support for affine transformations to BViews.
Everything untested, but compiles, so it must work. The idea is to introduce
BAffineTransform additionally to the existing Origin and Scale properties of
BViews. One may use it in parallel or as an alternative. Painter in app_server
is not yet aware of the additional transformation. It is however already used
to transform drawing coordinates. It probably needs to work differently,
perhaps only in Painter and AGGTextRenderer.
2014-02-04 22:53:06 +01:00

113 lines
1.9 KiB
C

/*
* Copyright 2009, Haiku. All rights reserved.
* Distributed under the terms of the MIT License.
*
* Authors:
* Stephan Aßmus, <superstippi@gmx.de>
*/
#ifndef APP_SERVER_PROTOCOL_STRUCTS_H
#define APP_SERVER_PROTOCOL_STRUCTS_H
#include <AffineTransform.h>
#include <Rect.h>
struct ViewSetStateInfo {
BPoint penLocation;
float penSize;
rgb_color highColor;
rgb_color lowColor;
::pattern pattern;
drawing_mode drawingMode;
BPoint origin;
float scale;
BAffineTransform transform;
join_mode lineJoin;
cap_mode lineCap;
float miterLimit;
source_alpha alphaSourceMode;
alpha_function alphaFunctionMode;
bool fontAntialiasing;
};
struct ViewGetStateInfo {
int32 fontID;
float fontSize;
float fontShear;
float fontRotation;
float fontFalseBoldWidth;
int8 fontSpacing;
int8 fontEncoding;
int16 fontFace;
int32 fontFlags;
ViewSetStateInfo viewStateInfo;
};
struct ViewDragImageInfo {
int32 bitmapToken;
int32 dragMode;
BPoint offset;
int32 bufferSize;
};
struct ViewSetViewCursorInfo {
int32 cursorToken;
int32 viewToken;
bool sync;
};
struct ViewBeginRectTrackingInfo {
BRect rect;
uint32 style;
};
struct ViewSetLineModeInfo {
join_mode lineJoin;
cap_mode lineCap;
float miterLimit;
};
struct ViewBlendingModeInfo {
source_alpha sourceAlpha;
alpha_function alphaFunction;
};
struct ViewDrawBitmapInfo {
int32 bitmapToken;
uint32 options;
BRect viewRect;
BRect bitmapRect;
};
struct ViewDrawStringInfo {
int32 stringLength;
BPoint location;
escapement_delta delta;
};
struct ViewStrokeLineInfo {
BPoint startPoint;
BPoint endPoint;
};
struct ViewLineArrayInfo {
BPoint startPoint;
BPoint endPoint;
rgb_color color;
};
#endif // APP_SERVER_PROTOCOL_STRUCTS_H