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 16 struct ViewSetStateInfo { 17 BPoint penLocation; 18 float penSize; 19 rgb_color highColor; 20 rgb_color lowColor; 21 ::pattern pattern; 22 drawing_mode drawingMode; 23 BPoint origin; 24 float scale; 25 BAffineTransform transform; 26 join_mode lineJoin; 27 cap_mode lineCap; 28 float miterLimit; 29 source_alpha alphaSourceMode; 30 alpha_function alphaFunctionMode; 31 bool fontAntialiasing; 32 }; 33 34 35 struct ViewGetStateInfo { 36 int32 fontID; 37 float fontSize; 38 float fontShear; 39 float fontRotation; 40 float fontFalseBoldWidth; 41 int8 fontSpacing; 42 int8 fontEncoding; 43 int16 fontFace; 44 int32 fontFlags; 45 46 ViewSetStateInfo viewStateInfo; 47 }; 48 49 50 struct ViewDragImageInfo { 51 int32 bitmapToken; 52 int32 dragMode; 53 BPoint offset; 54 int32 bufferSize; 55 }; 56 57 58 struct ViewSetViewCursorInfo { 59 int32 cursorToken; 60 int32 viewToken; 61 bool sync; 62 }; 63 64 65 struct ViewBeginRectTrackingInfo { 66 BRect rect; 67 uint32 style; 68 }; 69 70 71 struct ViewSetLineModeInfo { 72 join_mode lineJoin; 73 cap_mode lineCap; 74 float miterLimit; 75 }; 76 77 78 struct ViewBlendingModeInfo { 79 source_alpha sourceAlpha; 80 alpha_function alphaFunction; 81 }; 82 83 84 struct ViewDrawBitmapInfo { 85 int32 bitmapToken; 86 uint32 options; 87 BRect viewRect; 88 BRect bitmapRect; 89 }; 90 91 92 struct ViewDrawStringInfo { 93 int32 stringLength; 94 BPoint location; 95 escapement_delta delta; 96 }; 97 98 99 struct ViewStrokeLineInfo { 100 BPoint startPoint; 101 BPoint endPoint; 102 }; 103 104 105 struct ViewLineArrayInfo { 106 BPoint startPoint; 107 BPoint endPoint; 108 rgb_color color; 109 }; 110 111 112 #endif // APP_SERVER_PROTOCOL_STRUCTS_H 113