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