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