1/*
2 * Copyright 2009, Haiku. All rights reserved.
3 * Distributed under the terms of the MIT License.
4 *
5 * Authors:
6 *		Stephan A��mus, <superstippi@gmx.de>
7 */
8#ifndef APP_SERVER_PROTOCOL_STRUCTS_H
9#define APP_SERVER_PROTOCOL_STRUCTS_H
10
11
12#include <AffineTransform.h>
13#include <Rect.h>
14
15
16struct ViewSetStateInfo {
17	BPoint						penLocation;
18	float						penSize;
19	rgb_color					highColor;
20	rgb_color					lowColor;
21	color_which					whichHighColor;
22	color_which					whichLowColor;
23	float						whichHighColorTint;
24	float						whichLowColorTint;
25	::pattern					pattern;
26	drawing_mode				drawingMode;
27	BPoint						origin;
28	float						scale;
29	join_mode					lineJoin;
30	cap_mode					lineCap;
31	float						miterLimit;
32	int32						fillRule;
33	source_alpha				alphaSourceMode;
34	alpha_function				alphaFunctionMode;
35	bool						fontAntialiasing;
36};
37
38
39struct ViewGetStateInfo {
40	int32						fontID;
41	float						fontSize;
42	float						fontShear;
43	float						fontRotation;
44	float						fontFalseBoldWidth;
45	int8						fontSpacing;
46	int8						fontEncoding;
47	int16						fontFace;
48	int32						fontFlags;
49
50	ViewSetStateInfo			viewStateInfo;
51};
52
53
54struct ViewDragImageInfo {
55	int32						bitmapToken;
56	int32						dragMode;
57	BPoint						offset;
58	int32						bufferSize;
59};
60
61
62struct ViewSetViewCursorInfo {
63	int32						cursorToken;
64	int32						viewToken;
65	bool						sync;
66};
67
68
69struct ViewBeginRectTrackingInfo {
70	BRect						rect;
71	uint32						style;
72};
73
74
75struct ViewSetLineModeInfo {
76	join_mode					lineJoin;
77	cap_mode					lineCap;
78	float						miterLimit;
79};
80
81
82struct ViewBlendingModeInfo {
83	source_alpha				sourceAlpha;
84	alpha_function				alphaFunction;
85};
86
87
88struct ViewDrawBitmapInfo {
89	int32						bitmapToken;
90	uint32						options;
91	BRect						viewRect;
92	BRect						bitmapRect;
93};
94
95
96struct ViewDrawStringInfo {
97	int32						stringLength;
98	BPoint						location;
99	escapement_delta			delta;
100};
101
102
103struct ViewStrokeLineInfo {
104	BPoint						startPoint;
105	BPoint						endPoint;
106};
107
108
109struct ViewLineArrayInfo {
110	BPoint						startPoint;
111	BPoint						endPoint;
112	rgb_color					color;
113};
114
115
116#endif	// APP_SERVER_PROTOCOL_STRUCTS_H
117