Skip to content

Instantly share code, notes, and snippets.

@X547
Last active November 10, 2024 23:58
Show Gist options
  • Save X547/9c85dbd2f26e7df8dc20145c1c6756d4 to your computer and use it in GitHub Desktop.
Save X547/9c85dbd2f26e7df8dc20145c1c6756d4 to your computer and use it in GitHub Desktop.
<protocol>
<types>
<token name="handler_token" type="int32"/>
<token name="window_token" type="int32"/>
<token name="bitmap_token" type="int32"/>
<token name="picture_token" type="int32"/>
<token name="cursor_token" type="int32"/>
<struct name="rgb_color" header="GraphicsDefs.h">
<field name="red" type="uint8"/>
<field name="green" type="uint8"/>
<field name="blue" type="uint8"/>
<field name="alpha" type="uint8"/>
</struct>
<struct name="BPoint" header="Point.h">
<field name="x" type="float"/>
<field name="y" type="float"/>
</struct>
<struct name="BRect" header="Rect.h">
<field name="left" type="float"/>
<field name="top" type="float"/>
<field name="right" type="float"/>
<field name="bottom" type="float"/>
</struct>
<!--
<struct name="clipping_rect" header="Region.h">
<field name="left" type="int32"/>
<field name="top" type="int32"/>
<field name="right" type="int32"/>
<field name="bottom" type="int32"/>
</struct>
<struct name="BRegion" header="Region.h">
<field name="fCount" type="int32"/>
<field name="fDataSize" type="int32"/>
<field name="fBounds" type="clipping_rect"/>
<field name="fData" type="clipping_rect" length="fCount"/>
</struct>
<struct name="BAffineTransform" header="AffineTransform.h">
<field name="sx" type="double"/>
<field name="shy" type="double"/>
<field name="shx" type="double"/>
<field name="sy" type="double"/>
<field name="tx" type="double"/>
<field name="ty" type="double"/>
</struct>
-->
<struct name="color_map" header="GraphicsDefs.h">
<field name="id" type="int32"/>
<field name="color_list" type="rgb_color" length="256"/>
<field name="inversion_map" type="uint8" length="256"/>
<field name="index_map" type="uint8" length="32768"/>
</struct>
<struct name="overlay_rect_limits" header="GraphicsDefs.h">
<field name="horizontal_alignment" type="uint16"/>
<field name="vertical_alignment" type="uint16"/>
<field name="width_alignment" type="uint16"/>
<field name="height_alignment" type="uint16"/>
<field name="min_width" type="uint16"/>
<field name="max_width" type="uint16"/>
<field name="min_height" type="uint16"/>
<field name="max_height" type="uint16"/>
<field name="reserved" type="uint32" length="8"/>
</struct>
<struct name="overlay_restrictions" header="GraphicsDefs.h">
<field name="source" type="overlay_rect_limits"/>
<field name="destination" type="overlay_rect_limits"/>
<field name="min_width_scale" type="float"/>
<field name="max_width_scale" type="float"/>
<field name="min_height_scale" type="float"/>
<field name="max_height_scale" type="float"/>
<field name="reserved" type="uint32" length="8"/>
</struct>
<enum name="color_space" type="int32" header="GraphicsDefs.h">
<item name="B_NO_COLOR_SPACE" value="0"/>
</enum>
<enum name="fill_rule" type="int32" header="InterfaceDefs.h" headerValuesOnly="true">
<item name="B_EVEN_ODD"/>
<item name="B_NONZERO"/>
</enum>
<enum name="join_mode" type="int32" header="InterfaceDefs.h">
<item name="B_ROUND_JOIN"/>
<item name="B_MITER_JOIN"/>
<item name="B_BEVEL_JOIN"/>
<item name="B_BUTT_JOIN"/>
<item name="B_SQUARE_JOIN"/>
</enum>
<enum name="cap_mode" type="int32" header="InterfaceDefs.h">
<item name="B_ROUND_CAP" value="0"/>
<item name="B_BUTT_CAP" value="3"/>
<item name="B_SQUARE_CAP" value="4"/>
</enum>
<enum name="drawing_mode" type="int32" header="GraphicsDefs.h">
<item name="B_OP_COPY"/>
<item name="B_OP_OVER"/>
<item name="B_OP_ERASE"/>
<item name="B_OP_INVERT"/>
<item name="B_OP_ADD"/>
<item name="B_OP_SUBTRACT"/>
<item name="B_OP_BLEND"/>
<item name="B_OP_MIN"/>
<item name="B_OP_MAX"/>
<item name="B_OP_SELECT"/>
<item name="B_OP_ALPHA"/>
</enum>
<enum name="source_alpha" type="int32" header="GraphicsDefs.h">
<item name="B_PIXEL_ALPHA"/>
<item name="B_CONSTANT_ALPHA"/>
</enum>
<enum name="alpha_function" type="int32" header="GraphicsDefs.h">
<item name="B_ALPHA_OVERLAY"/>
<item name="B_ALPHA_COMPOSITE"/>
<item name="B_ALPHA_COMPOSITE_SOURCE_IN"/>
<item name="B_ALPHA_COMPOSITE_SOURCE_OUT"/>
<item name="B_ALPHA_COMPOSITE_SOURCE_ATOP"/>
<item name="B_ALPHA_COMPOSITE_DESTINATION_OVER"/>
<item name="B_ALPHA_COMPOSITE_DESTINATION_IN"/>
<item name="B_ALPHA_COMPOSITE_DESTINATION_OUT"/>
<item name="B_ALPHA_COMPOSITE_DESTINATION_ATOP"/>
<item name="B_ALPHA_COMPOSITE_XOR"/>
<item name="B_ALPHA_COMPOSITE_CLEAR"/>
<item name="B_ALPHA_COMPOSITE_DIFFERENCE"/>
<item name="B_ALPHA_COMPOSITE_LIGHTEN"/>
<item name="B_ALPHA_COMPOSITE_DARKEN"/>
</enum>
<bitfield name="bitmap_drawing_options" type="uint32" header="InterfaceDefs.h">
<item name="B_FILTER_BITMAP_BILINEAR" value="0x00000100"/>
<item name="B_WAIT_FOR_RETRACE" value="0x00000800"/>
</bitfield>
<!--
<enum name="xxx" type="int32">
<item name=""/>
</enum>
-->
<enum name="window_look" type="int32" header="Window.h">
<item name="B_TITLED_WINDOW_LOOK" value="1"/>
<item name="B_MODAL_WINDOW_LOOK" value="3"/>
<item name="B_FLOATING_WINDOW_LOOK" value="7"/>
<item name="B_DOCUMENT_WINDOW_LOOK" value="11"/>
<item name="B_NO_BORDER_WINDOW_LOOK" value="19"/>
<item name="B_BORDERED_WINDOW_LOOK" value="20"/>
<item name="kDesktopWindowLook" value="4"/>
<item name="kLeftTitledWindowLook" value="25"/>
</enum>
<enum name="window_feel" type="int32" header="Window.h">
<item name="B_NORMAL_WINDOW_FEEL" value="0"/>
<item name="B_MODAL_APP_WINDOW_FEEL" value="1"/>
<item name="B_MODAL_SUBSET_WINDOW_FEEL" value="2"/>
<item name="B_MODAL_ALL_WINDOW_FEEL" value="3"/>
<item name="B_FLOATING_APP_WINDOW_FEEL" value="4"/>
<item name="B_FLOATING_SUBSET_WINDOW_FEEL" value="5"/>
<item name="B_FLOATING_ALL_WINDOW_FEEL" value="6"/>
<item name="kDesktopWindowFeel" value="1024"/>
<item name="kMenuWindowFeel" value="1025"/>
<item name="kWindowScreenFeel" value="1026"/>
<item name="kPasswordWindowFeel" value="1027"/>
<item name="kOffscreenWindowFeel" value="1028"/>
</enum>
<enum name="window_alignment" type="int32" header="Window.h">
<item name="B_BYTE_ALIGNMENT" value="0"/>
<item name="B_PIXEL_ALIGNMENT" value="1"/>
</enum>
<bitfield name="window_flags" type="uint32" header="Window.h" headerValuesOnly="true">
<item name="B_NOT_MOVABLE" value="0x00000001"/>
<item name="B_NOT_CLOSABLE" value="0x00000020"/>
<item name="B_NOT_ZOOMABLE" value="0x00000040"/>
<item name="B_NOT_MINIMIZABLE" value="0x00004000"/>
<item name="B_NOT_RESIZABLE" value="0x00000002"/>
<item name="B_NOT_H_RESIZABLE" value="0x00000004"/>
<item name="B_NOT_V_RESIZABLE" value="0x00000008"/>
<item name="B_AVOID_FRONT" value="0x00000080"/>
<item name="B_AVOID_FOCUS" value="0x00002000"/>
<item name="B_WILL_ACCEPT_FIRST_CLICK" value="0x00000010"/>
<item name="B_OUTLINE_RESIZE" value="0x00001000"/>
<item name="B_NO_WORKSPACE_ACTIVATION" value="0x00000100"/>
<item name="B_NOT_ANCHORED_ON_ACTIVATE" value="0x00020000"/>
<item name="B_ASYNCHRONOUS_CONTROLS" value="0x00080000"/>
<item name="B_QUIT_ON_WINDOW_CLOSE" value="0x00100000"/>
<item name="B_SAME_POSITION_IN_ALL_WORKSPACES" value="0x00200000"/>
<item name="B_AUTO_UPDATE_SIZE_LIMITS" value="0x00400000"/>
<item name="B_CLOSE_ON_ESCAPE" value="0x00800000"/>
<item name="B_NO_SERVER_SIDE_WINDOW_MODIFIERS" value="0x00000200"/>
<item name="kWindowScreenFlag" value="0x10000"/>
<item name="kAcceptKeyboardFocusFlag" value="0x40000"/>
</bitfield>
<bitfield name="set_font_mask" type="uint16" header="View.h">
<item name="B_FONT_FAMILY_AND_STYLE" value="0x00000001"/>
<item name="B_FONT_SIZE" value="0x00000002"/>
<item name="B_FONT_SHEAR" value="0x00000004"/>
<item name="B_FONT_ROTATION" value="0x00000008"/>
<item name="B_FONT_SPACING" value="0x00000010"/>
<item name="B_FONT_ENCODING" value="0x00000020"/>
<item name="B_FONT_FACE" value="0x00000040"/>
<item name="B_FONT_FLAGS" value="0x00000080"/>
<item name="B_FONT_FALSE_BOLD_WIDTH" value="0x00000100"/>
</bitfield>
<bitfield name="font_flags" type="uint32" header="Font.h" headerValuesOnly="true">
<item name="B_DISABLE_ANTIALIASING" value="0x00000001"/>
<item name="B_FORCE_ANTIALIASING" value="0x00000002"/>
</bitfield>
<bitfield name="bitmap_flags" type="uint32" header="Bitmap.h" headerValuesOnly="true">
<item name="B_BITMAP_CLEAR_TO_WHITE" value="0x00000001"/>
<item name="B_BITMAP_ACCEPTS_VIEWS" value="0x00000002"/>
<item name="B_BITMAP_IS_AREA" value="0x00000004"/>
<item name="B_BITMAP_IS_LOCKED" value="0x0000000C"/>
<item name="B_BITMAP_IS_CONTIGUOUS" value="0x0000001C"/>
<item name="B_BITMAP_IS_OFFSCREEN" value="0x00000020"/>
<item name="B_BITMAP_WILL_OVERLAY" value="0x00000060"/>
<item name="B_BITMAP_RESERVE_OVERLAY_CHANNEL" value="0x00000080"/>
<item name="B_BITMAP_NO_SERVER_LINK" value="0x00000100"/>
</bitfield>
<bitfield name="bitmap_allocation_flags" type="uint8" header="ServerProtocol.h" headerValuesOnly="true">
<item name="kAllocator" value="0x1"/>
<item name="kFramebuffer" value="0x2"/>
<item name="kHeap" value="0x4"/>
<item name="kNewAllocatorArea" value="0x8"/>
</bitfield>
<bitfield name="bitmap_support_flags" type="uint32" header="GraphicsDefs.h" headerValuesOnly="true">
<item name="B_VIEWS_SUPPORT_DRAW_BITMAP" value="0x1"/>
<item name="B_BITMAPS_SUPPORT_ATTACHED_VIEWS" value="0x2"/>
<item name="B_BITMAPS_SUPPORT_OVERLAY" value="0x4"/>
</bitfield>
<bitfield name="input_event_mask" type="uint32" header="View.h" headerValuesOnly="true">
<item name="B_POINTER_EVENTS" value="0x1"/>
<item name="B_KEYBOARD_EVENTS" value="0x2"/>
</bitfield>
<bitfield name="input_event_mask_options" type="uint32" header="View.h" headerValuesOnly="true">
<item name="B_LOCK_WINDOW_FOCUS" value="1"/>
<item name="B_SUSPEND_VIEW_FOCUS" value="2"/>
<item name="B_NO_POINTER_HISTORY" value="4"/>
<item name="B_FULL_POINTER_HISTORY" value="8"/>
</bitfield>
<bitfield name="view_flags" type="uint32" header="View.h" headerValuesOnly="true">
<item name="B_FULL_UPDATE_ON_RESIZE" value="0x80000000"/>
<item name="B_WILL_DRAW" value="0x20000000"/>
<item name="B_PULSE_NEEDED" value="0x10000000"/>
<item name="B_NAVIGABLE_JUMP" value="0x08000000"/>
<item name="B_FRAME_EVENTS" value="0x04000000"/>
<item name="B_NAVIGABLE" value="0x02000000"/>
<item name="B_SUBPIXEL_PRECISE" value="0x01000000"/>
<item name="B_DRAW_ON_CHILDREN" value="0x00800000"/>
<item name="B_INPUT_METHOD_AWARE" value="0x00400000"/>
<item name="B_SCROLL_VIEW_AWARE" value="0x00200000"/>
<item name="B_SUPPORTS_LAYOUT" value="0x00100000"/>
<item name="B_INVALIDATE_AFTER_LAYOUT" value="0x00080000"/>
<item name="B_TRANSPARENT_BACKGROUND" value="0x00040000"/>
</bitfield>
<bitfield name="view_resize_flags" type="uint32" header="View.h" headerValuesOnly="true">
<item name="B_FOLLOW_LEFT" value="0x202"/>
<item name="B_FOLLOW_RIGHT" value="0x404"/>
<item name="B_FOLLOW_LEFT_RIGHT" value="0x204"/>
<item name="B_FOLLOW_H_CENTER" value="0x505"/>
<item name="B_FOLLOW_TOP" value="0x1010"/>
<item name="B_FOLLOW_BOTTOM" value="0x3030"/>
<item name="B_FOLLOW_TOP_BOTTOM" value="0x1030"/>
<item name="B_FOLLOW_V_CENTER" value="0x5050"/>
</bitfield>
<enum name="window_action" type="int32">
<item name="B_MINIMIZE_WINDOW"/>
<item name="B_BRING_TO_FRONT"/>
</enum>
<enum name="color_which" type="int32" header="InterfaceDefs.h">
<item name="B_NO_COLOR" value="0"/>
<item name="B_PANEL_BACKGROUND_COLOR" value="1"/>
<item name="B_MENU_BACKGROUND_COLOR" value="2"/>
<item name="B_WINDOW_TAB_COLOR" value="3"/>
<item name="B_NAVIGATION_BASE_COLOR" value="4"/>
<item name="B_DESKTOP_COLOR" value="5"/>
<item name="B_MENU_SELECTED_BACKGROUND_COLOR" value="6"/>
<item name="B_MENU_ITEM_TEXT_COLOR" value="7"/>
<item name="B_MENU_SELECTED_ITEM_TEXT_COLOR" value="8"/>
<item name="B_MENU_SELECTED_BORDER_COLOR" value="9"/>
<item name="B_PANEL_TEXT_COLOR" value="10"/>
<item name="B_DOCUMENT_BACKGROUND_COLOR" value="11"/>
<item name="B_DOCUMENT_TEXT_COLOR" value="12"/>
<item name="B_CONTROL_BACKGROUND_COLOR" value="13"/>
<item name="B_CONTROL_TEXT_COLOR" value="14"/>
<item name="B_CONTROL_BORDER_COLOR" value="15"/>
<item name="B_CONTROL_HIGHLIGHT_COLOR" value="16"/>
<item name="B_NAVIGATION_PULSE_COLOR" value="17"/>
<item name="B_SHINE_COLOR" value="18"/>
<item name="B_SHADOW_COLOR" value="19"/>
<item name="B_TOOL_TIP_BACKGROUND_COLOR" value="20"/>
<item name="B_TOOL_TIP_TEXT_COLOR" value="21"/>
<item name="B_WINDOW_TEXT_COLOR" value="22"/>
<item name="B_WINDOW_INACTIVE_TAB_COLOR" value="23"/>
<item name="B_WINDOW_INACTIVE_TEXT_COLOR" value="24"/>
<item name="B_WINDOW_BORDER_COLOR" value="25"/>
<item name="B_WINDOW_INACTIVE_BORDER_COLOR" value="26"/>
<item name="B_CONTROL_MARK_COLOR" value="27"/>
<item name="B_LIST_BACKGROUND_COLOR" value="28"/>
<item name="B_LIST_SELECTED_BACKGROUND_COLOR" value="29"/>
<item name="B_LIST_ITEM_TEXT_COLOR" value="30"/>
<item name="B_LIST_SELECTED_ITEM_TEXT_COLOR" value="31"/>
<item name="B_SCROLL_BAR_THUMB_COLOR" value="32"/>
<item name="B_LINK_TEXT_COLOR" value="33"/>
<item name="B_LINK_HOVER_COLOR" value="34"/>
<item name="B_LINK_VISITED_COLOR" value="35"/>
<item name="B_LINK_ACTIVE_COLOR" value="36"/>
<item name="B_STATUS_BAR_COLOR" value="37"/>
<item name="B_SUCCESS_COLOR" value="100"/>
<item name="B_FAILURE_COLOR" value="101"/>
</enum>
<enum name="mode_mouse" type="int32" header="InterfaceDefs.h">
<item name="B_NORMAL_MOUSE" value="0"/>
<item name="B_CLICK_TO_FOCUS_MOUSE" value="-1"/>
<item name="B_FOCUS_FOLLOWS_MOUSE" value="1"/>
</enum>
<enum name="mode_focus_follows_mouse" type="int32" header="InterfaceDefs.h">
<item name="B_NORMAL_FOCUS_FOLLOWS_MOUSE" value="0"/>
<item name="B_WARP_FOCUS_FOLLOWS_MOUSE" value="1"/>
<item name="B_INSTANT_WARP_FOCUS_FOLLOWS_MOUSE" value="2"/>
</enum>
<struct name="scroll_bar_info" header="InterfaceDefs.h">
<field name="proportional" type="bool"/>
<field name="double_arrows" type="bool"/>
<field name="knob" type="int32"/>
<field name="min_knob_size" type="int32"/>
</struct>
<struct name="window_info">
<field name="team" type="team_id"/>
<field name="server_token" type="window_token"/>
<field name="thread" type="thread_id"/>
<field name="client_token" type="handler_token"/>
<field name="client_port" type="port_id"/>
<field name="workspaces" type="uint32"/>
<field name="layer" type="int32"/>
<field name="feel" type="window_feel"/>
<field name="flags" type="window_flags"/>
<field name="window_left" type="int32"/>
<field name="window_top" type="int32"/>
<field name="window_right" type="int32"/>
<field name="window_bottom" type="int32"/>
<field name="show_hide_level" type="int32"/>
<field name="is_mini" type="bool"/>
</struct>
<struct name="client_window_info" base="window_info">
<field name="tab_height" type="float"/>
<field name="border_size" type="float"/>
<field name="name" type="string"/>
</struct>
<struct name="direct_window_sync_data">
<field name="area" type="area_id"/>
<field name="disable_sem" type="sem_id"/>
<field name="disable_sem_ack" type="sem_id"/>
</struct>
<struct name="menu_info" header="Menu.h">
<field name="font_size" type="float"/>
<field name="f_family" type="char" length="64"/>
<field name="f_style" type="char" length="64"/>
<field name="background_color" type="rgb_color"/>
<field name="separator" type="int32"/>
<field name="click_to_open" type="bool"/>
<field name="triggers_always_shown" type="bool"/>
</struct>
<enum name="font_metric_mode" type="int32" header="Font.h">
<item name="B_SCREEN_METRIC" value="0"/>
<item name="B_PRINTING_METRIC" value="1"/>
</enum>
<enum name="font_file_format" type="int16" header="Font.h">
<item name="B_TRUETYPE_WINDOWS" value="0"/>
<item name="B_POSTSCRIPT_TYPE1_WINDOWS" value="1"/>
</enum>
<struct name="unicode_block" header="Font.h">
<field name="fData" type="uint64" length="2"/>
</struct>
<struct name="edge_info" header="Font.h">
<field name="left" type="float"/>
<field name="right" type="float"/>
</struct>
<struct name="font_height" header="Font.h">
<field name="ascent" type="float"/>
<field name="descent" type="float"/>
<field name="leading" type="float"/>
</struct>
<struct name="escapement_delta" header="Font.h">
<field name="nonspace" type="float"/>
<field name="space" type="float"/>
</struct>
<struct name="tuned_font_info" header="Font.h">
<field name="size" type="float"/>
<field name="shear" type="float"/>
<field name="rotation" type="float"/>
<field name="flags" type="uint32"/>
<field name="face" type="uint16"/>
</struct>
<struct name="accelerant_device_info" header="Accelerant.h">
<field name="version" type="uint32"/>
<field name="name" type="char" length="32"/>
<field name="chipset" type="char" length="32"/>
<field name="serial_no" type="char" length="32"/>
<field name="memory" type="uint32"/>
<field name="dac_speed" type="uint32"/>
</struct>
<struct name="display_timing" header="Accelerant.h">
<field name="pixel_clock" type="uint32"/>
<field name="h_display" type="uint16"/>
<field name="h_sync_start" type="uint16"/>
<field name="h_sync_end" type="uint16"/>
<field name="h_total" type="uint16"/>
<field name="v_display" type="uint16"/>
<field name="v_sync_start" type="uint16"/>
<field name="v_sync_end" type="uint16"/>
<field name="v_total" type="uint16"/>
<field name="flags" type="uint32"/>
</struct>
<struct name="display_mode" header="Accelerant.h">
<field name="timing" type="display_timing"/>
<field name="space" type="uint32"/>
<field name="virtual_width" type="uint16"/>
<field name="virtual_height" type="uint16"/>
<field name="h_display_start" type="uint16"/>
<field name="v_display_start" type="uint16"/>
<field name="flags" type="uint32"/>
</struct>
<struct name="frame_buffer_config" header="Accelerant.h">
<field name="frame_buffer" type="addr_t"/>
<field name="frame_buffer_dma" type="addr_t"/>
<field name="bytes_per_row" type="uint32"/>
</struct>
<struct name="display_timing_constraints" header="Accelerant.h">
<field name="h_res" type="uint16"/>
<field name="h_sync_min" type="uint16"/>
<field name="h_sync_max" type="uint16"/>
<field name="h_blank_min" type="uint16"/>
<field name="h_blank_max" type="uint16"/>
<field name="v_res" type="uint16"/>
<field name="v_sync_min" type="uint16"/>
<field name="v_sync_max" type="uint16"/>
<field name="v_blank_min" type="uint16"/>
<field name="v_blank_max" type="uint16"/>
</struct>
<struct name="monitor_info" header="Accelerant.h">
<field name="version" type="uint32"/>
<field name="vendor" type="char" length="128"/>
<field name="name" type="char" length="128"/>
<field name="serial_number" type="char" length="128"/>
<field name="product_id" type="uint32"/>
<field name="produced_week" type="uint16"/>
<field name="produced?_year" type="uint16"/>
<field name="width" type="float"/>
<field name="height" type="float"/>
<field name="min_horizontal_frequency" type="uint32"/>
<field name="max_horizontal_frequency" type="uint32"/>
<field name="min_vertical_frequency" type="uint32"/>
<field name="max_vertical_frequency" type="uint32"/>
<field name="max_pixel_clock" type="uint32"/>
</struct>
<struct name="ViewLineArrayInfo">
<field name="startPoint" type="BPoint"/>
<field name="endPoint" type="BPoint"/>
<field name="color" type="rgb_color"/>
</struct>
<struct name="ViewDrawStringInfo">
<field name="stringLength" type="int32"/>
<field name="location" type="BPoint"/>
<field name="delta" type="escapement_delta"/>
</struct>
<struct name="ViewSetStateInfo">
<field name="penLocation" type="BPoint"/>
<field name="penSize" type="float"/>
<field name="highColor" type="rgb_color"/>
<field name="lowColor" type="rgb_color"/>
<field name="whichHighColor" type="color_which"/>
<field name="whichLowColor" type="color_which"/>
<field name="whichHighColorTint" type="float"/>
<field name="whichLowColorTint" type="float"/>
<field name="pattern" type="pattern"/>
<field name="drawingMode" type="drawing_mode"/>
<field name="origin" type="BPoint"/>
<field name="scale" type="float"/>
<field name="lineJoin" type="join_mode"/>
<field name="lineCap" type="cap_mode"/>
<field name="miterLimit" type="float"/>
<field name="fillRule" type="fill_rule"/>
<field name="alphaSourceMode" type="source_alpha"/>
<field name="alphaFunctionMode" type="alpha_function"/>
<field name="fontAntialiasing" type="bool"/>
</struct>
<struct name="ViewGetStateInfo">
<field name="fontID" type="int32"/>
<field name="fontSize" type="float"/>
<field name="fontShear" type="float"/>
<field name="fontRotation" type="float"/>
<field name="fontFalseBoldWidth" type="float"/>
<field name="fontSpacing" type="int8"/>
<field name="fontEncoding" type="int8"/>
<field name="fontFace" type="int16"/>
<field name="fontFlags" type="font_flags"/>
<field name="viewStateInfo" type="ViewSetStateInfo"/>
</struct>
<struct name="SetUIColorInfo">
<field name="which" type="color_which" arrayTerminator="B_NO_COLOR"/>
<field name="color" type="rgb_color"/>
</struct>
<struct name="ViewSetLineModeInfo">
<field name="lineJoin" type="join_mode"/>
<field name="lineCap" type="cap_mode"/>
<field name="miterLimit" type="float"/>
</struct>
<struct name="ViewBlendingModeInfo">
<field name="sourceAlpha" type="source_alpha"/>
<field name="alphaFunction" type="alpha_function"/>
</struct>
<struct name="GetSystemFontsInfo">
<field name="type" type="char" length="32" arrayTerminator="&quot;&quot;"/>
<field name="familyId" type="uint16"/>
<field name="styleId" type="uint16"/>
<field name="size" type="float"/>
<field name="face" type="uint16"/>
<field name="flags" type="font_flags"/>
</struct>
<struct name="GetFamilyStylesInfo">
<field name="name" type="string"/>
<field name="face" type="uint16"/>
<field name="flags" type="uint32"/> <!-- TODO: define bitfield -->
</struct>
<struct name="ViewUpdateInfo">
<field name="token" type="int32" arrayTerminator="-1"/>
<field name="updateRect" type="BRect"/>
</struct>
</types>
<messages>
<target name="Desktop">
<!-- Private -->
<message name="B_QUIT_REQUESTED" scope="private"/>
<message name="kMsgJoinLooper" scope="private">
<request>
<param name="looper" type="MessageLooper" pointer="true"/>
</request>
</message>
<message name="AS_DELETE_APP" scope="private">
<request>
<param name="thread" type="thread_id"/>
</request>
</message>
<message name="AS_CREATE_APP">
<request>
<param name="receiverPort" type="port_id" receiverPort="true"/>
<param name="looperPort" type="port_id"/>
<param name="team" type="team_id"/>
<param name="handlerToken" type="handler_token"/>
<param name="mimeSignature" type="string"/>
</request>
<reply>
<param name="senderPort" type="port_id"/>
<param name="sharedReadOnlyArea" type="area_id"/>
<param name="serverTeam" type="team_id"/>
</reply>
</message>
<message name="AS_ACTIVATE_APP">
<request>
<param name="receiverPort" type="port_id"/>
<param name="team" type="team_id"/>
</request>
<reply/>
</message>
<message name="AS_APP_CRASHED">
<request>
<param name="team" type="team_id"/>
</request>
</message>
<message name="AS_DUMP_ALLOCATOR"/>
<message name="AS_DUMP_BITMAPS"/>
<message name="AS_EVENT_STREAM_CLOSED"/>
<message name="AS_ACTIVATE_WORKSPACE">
<request>
<param name="workspace" type="int32"/>
<param name="moveFocusWindow" type="bool"/>
</request>
</message>
<!--
<message name="AS_TALK_TO_DESKTOP_LISTENER">
<request>
<param name="identifier" type="int32"/>
</request>
</message>
-->
<!-- Settings -->
<message name="AS_SET_UI_COLOR">
<request>
<param name="which" type="color_which"/>
<param name="color" type="rgb_color"/>
</request>
</message>
<message name="AS_SET_UI_COLORS">
<request>
<param name="flushPendingOnly" type="bool"/>
<param name="colors" type="SetUIColorInfo" length="*"/>
</request>
</message>
</target>
<target name="Application">
<!-- Sent by input_server when it starts. -->
<message name="AS_REGISTER_INPUT_SERVER"/>
<!-- Debug -->
<message name="AS_DUMP_ALLOCATOR"/>
<message name="AS_DUMP_BITMAPS"/>
<!-- Sent by BApplication destructor. -->
<message name="B_QUIT_REQUESTED"/>
<!-- Window -->
<message name="AS_CREATE_WINDOW" structName="CreateWindow" reference="true">
<request>
<param name="frame" type="BRect"/>
<param name="look" type="window_look"/>
<param name="feel" type="window_feel"/>
<param name="flags" type="window_flags"/>
<param name="workspace" type="uint32"/>
<param name="windowToken" type="handler_token"/>
<param name="receiverPort" type="port_id" receiverPort="true"/>
<param name="msgPort" type="port_id"/>
<param name="title" type="string"/>
</request>
<reply>
<param name="senderPort" type="port_id"/>
<param name="frame" type="BRect"/>
<param name="minWidth" type="float"/>
<param name="maxWidth" type="float"/>
<param name="minHeight" type="float"/>
<param name="maxHeight" type="float"/>
</reply>
</message>
<message name="AS_CREATE_OFFSCREEN_WINDOW" structName="CreateWindow">
<request>
<param name="bitmapToken" type="bitmap_token"/>
<param name="frame" type="BRect"/>
<param name="look" type="window_look"/>
<param name="feel" type="window_feel"/>
<param name="flags" type="window_flags"/>
<param name="workspace" type="uint32"/>
<param name="windowToken" type="handler_token"/>
<param name="receiverPort" type="port_id" receiverPort="true"/>
<param name="msgPort" type="port_id"/>
<param name="title" type="string"/>
</request>
<reply>
<param name="senderPort" type="port_id"/>
<param name="frame" type="BRect"/>
<param name="minWidth" type="float"/>
<param name="maxWidth" type="float"/>
<param name="minHeight" type="float"/>
<param name="maxHeight" type="float"/>
</reply>
</message>
<!-- Bitmap -->
<message name="AS_CREATE_BITMAP">
<request>
<param name="bounds" type="BRect"/>
<param name="colorSpace" type="color_space"/>
<param name="flags" type="bitmap_flags"/>
<param name="bytesPerRow" type="int32"/>
<param name="screenId" type="int32"/>
</request>
<reply>
<param name="bitmapToken" type="bitmap_token"/>
<param name="allocationFlags" type="bitmap_allocation_flags"/>
<param name="serverArea" type="area_id"/>
<param name="areaOffset" type="int32"/>
</reply>
</message>
<message name="AS_DELETE_BITMAP">
<request>
<param name="bitmapToken" type="bitmap_token"/>
</request>
</message>
<message name="AS_GET_BITMAP_OVERLAY_RESTRICTIONS">
<request>
<param name="bitmapToken" type="bitmap_token"/>
</request>
<reply>
<param name="restrictions" type="overlay_restrictions"/>
</reply>
</message>
<message name="AS_GET_BITMAP_SUPPORT_FLAGS">
<request>
<param name="space" type="color_space"/>
</request>
<reply>
<param name="flags" type="bitmap_support_flags"/>
</reply>
</message>
<message name="AS_RECONNECT_BITMAP">
<request>
<param name="bounds" type="BRect"/>
<param name="colorSpace" type="color_space"/>
<param name="flags" type="bitmap_flags"/>
<param name="bytesPerRow" type="int32"/>
<param name="screenId" type="int32"/>
<param name="area" type="area_id"/>
<param name="areaOffset" type="int32"/>
</request>
<reply>
<param name="bitmapToken" type="bitmap_token"/>
<param name="serverArea" type="area_id"/>
</reply>
</message>
<!-- Picture -->
<message name="AS_CREATE_PICTURE">
<request>
<param name="subPictureCount" type="int32"/>
<param name="subPictureTokens" type="picture_token" length="subPictureCount"/>
<param name="size" type="int32"/>
<param name="data" type="uint8" length="size"/>
</request>
<reply>
<param name="pictureToken" type="picture_token"/>
</reply>
</message>
<message name="AS_DELETE_PICTURE">
<request>
<param name="pictureToken" type="picture_token"/>
</request>
</message>
<message name="AS_CLONE_PICTURE">
<request>
<param name="pictureToken" type="picture_token"/>
</request>
<reply>
<param name="pictureToken" type="picture_token"/>
</reply>
</message>
<message name="AS_DOWNLOAD_PICTURE">
<request>
<param name="pictureToken" type="picture_token"/>
</request>
<reply>
<param name="subPictureCount" type="int32"/>
<param name="subPictureTokens" type="picture_token" length="subPictureCount"/>
<param name="size" type="int32"/>
<param name="data" type="uint8" length="size"/>
</reply>
</message>
<!-- Cursor -->
<message name="AS_SHOW_CURSOR"/>
<message name="AS_HIDE_CURSOR"/>
<message name="AS_OBSCURE_CURSOR"/>
<message name="AS_QUERY_CURSOR_HIDDEN">
<reply/>
</message>
<message name="AS_SET_CURSOR">
<request>
<param name="sync" type="bool"/>
<param name="cursorToken" type="cursor_token"/>
</request>
<reply optional="true"/>
</message>
<message name="AS_SET_VIEW_CURSOR">
<request>
<param name="cursorToken" type="cursor_token"/>
<param name="viewToken" type="handler_token"/>
<param name="sync" type="bool"/>
</request>
<reply optional="true"/>
</message>
<message name="AS_CREATE_CURSOR">
<request>
<param name="data" type="uint8" length="68"/>
</request>
<reply>
<param name="cursorToken" type="cursor_token"/>
</reply>
</message>
<message name="AS_CREATE_CURSOR_BITMAP">
<request>
<param name="bounds" type="BRect"/>
<param name="hotspot" type="BPoint"/>
<param name="colorspace" type="color_space"/>
<param name="bytesPerRow" type="int32"/>
<param name="size" type="int32"/>
<param name="bits" type="uint8" length="size"/>
</request>
<reply>
<param name="cursorToken" type="cursor_token"/>
</reply>
</message>
<message name="AS_CLONE_CURSOR">
<request>
<param name="cursorToken" type="cursor_token"/>
</request>
<reply>
<param name="cursorToken" type="cursor_token"/>
</reply>
</message>
<message name="AS_DELETE_CURSOR">
<request>
<param name="cursorToken" type="cursor_token"/>
</request>
</message>
<message name="AS_GET_CURSOR_POSITION">
<reply>
<param name="screenWhere" type="BPoint"/>
<param name="buttons" type="uint32"/>
</reply>
</message>
<message name="AS_GET_CURSOR_BITMAP">
<reply>
<param name="size" type="int32"/>
<param name="width" type="uint32"/>
<param name="height" type="uint32"/>
<param name="colorspace" type="color_space"/>
<param name="hotspot" type="BPoint"/>
<param name="bits" type="uint8" length="size"/>
</reply>
</message>
<!-- Font -->
<message name="AS_ADD_FONT_FILE">
<request>
<param name="path" type="string"/>
<param name="index" type="uint16"/>
<param name="instance" type="uint16"/>
</request>
<reply>
<param name="familyId" type="uint16"/>
<param name="styleId" type="uint16"/>
<param name="face" type="uint16"/>
</reply>
</message>
<message name="AS_ADD_FONT_MEMORY">
<request>
<param name="fontAreaID" type="area_id"/>
<param name="size" type="size_t"/>
<param name="offset" type="size_t"/>
<param name="index" type="uint16"/>
<param name="instance" type="uint16"/>
</request>
<reply>
<param name="familyId" type="uint16"/>
<param name="styleId" type="uint16"/>
<param name="face" type="uint16"/>
</reply>
</message>
<message name="AS_REMOVE_FONT">
<request>
<param name="familyId" type="uint16"/>
<param name="styleId" type="uint16"/>
</request>
<reply/>
</message>
<message name="AS_SET_SYSTEM_FONT">
<request>
<param name="which" type="char" length="32"/>
<param name="family" type="char" length="64"/>
<param name="style" type="char" length="64"/>
<param name="size" type="float"/>
</request>
</message>
<message name="AS_GET_SYSTEM_DEFAULT_FONT">
<request>
<param name="which" type="char" length="32"/>
</request>
<reply>
<param name="family" type="char" length="64"/>
<param name="style" type="char" length="64"/>
<param name="size" type="float"/>
</reply>
</message>
<message name="AS_GET_SYSTEM_FONTS">
<reply>
<param name="fonts" type="GetSystemFontsInfo" length="*"/>
</reply>
</message>
<message name="AS_GET_FONT_LIST_REVISION">
<reply>
<param name="revision" type="uint32"/>
</reply>
</message>
<message name="AS_GET_FAMILY_AND_STYLES">
<request>
<param name="index" type="int32"/>
</request>
<reply>
<param name="familyName" type="string"/>
<param name="familyFlags" type="uint32"/> <!-- TODO: define bitfield -->
<param name="styleCount" type="int32"/>
<param name="styles" type="GetFamilyStylesInfo" length="styleCount"/>
</reply>
</message>
<message name="AS_GET_FAMILY_AND_STYLE">
<request>
<param name="familyId" type="uint16"/>
<param name="styleId" type="uint16"/>
</request>
<reply>
<param name="family" type="char" length="64"/>
<param name="style" type="char" length="64"/>
</reply>
</message>
<message name="AS_GET_FAMILY_AND_STYLE_IDS">
<request>
<param name="family" type="string"/>
<param name="style" type="string"/>
<param name="familyId" type="uint16"/>
<param name="styleId" type="uint16"/>
<param name="face" type="uint16"/>
</request>
<reply>
<param name="familyId" type="uint16"/>
<param name="styleId" type="uint16"/>
<param name="face" type="uint16"/>
</reply>
</message>
<message name="AS_GET_FONT_FILE_FORMAT">
<request>
<param name="familyId" type="uint16"/>
<param name="styleId" type="uint16"/>
</request>
<reply>
<param name="format" type="font_file_format" size="2"/>
</reply>
</message>
<message name="AS_GET_STRING_WIDTHS">
<request>
<param name="familyId" type="uint16"/>
<param name="styleId" type="uint16"/>
<param name="size" type="float"/>
<param name="spacing" type="uint8"/>
<param name="numStrings" type="int32"/>
<param name="strings" type="string" length="numStrings"/>
</request>
<reply>
<param name="widths" type="float" length="$req.numStrings"/>
</reply>
</message>
<message name="AS_GET_FONT_BOUNDING_BOX">
<request>
<param name="familyId" type="uint16"/>
<param name="styleId" type="uint16"/>
<param name="size" type="float"/>
</request>
<reply>
<param name="box" type="BRect"/>
</reply>
</message>
<message name="AS_GET_TUNED_COUNT">
<request>
<param name="familyId" type="uint16"/>
<param name="styleId" type="uint16"/>
</request>
<reply>
<param name="count" type="int32"/>
</reply>
</message>
<message name="AS_GET_TUNED_INFO">
<request>
<param name="familyId" type="uint16"/>
<param name="styleId" type="uint16"/>
<param name="index" type="uint32"/>
</request>
<reply>
<param name="info" type="tuned_font_info"/>
</reply>
</message>
<message name="AS_GET_EXTRA_FONT_FLAGS">
<request>
<param name="familyId" type="uint16"/>
<param name="styleId" type="uint16"/>
</request>
<reply>
<param name="extraFlags" type="uint32"/> <!-- TODO: declare bitfield -->
</reply>
</message>
<message name="AS_GET_FONT_HEIGHT">
<request>
<param name="familyId" type="uint16"/>
<param name="styleId" type="uint16"/>
<param name="size" type="float"/>
</request>
<reply>
<param name="height" type="font_height"/>
</reply>
</message>
<message name="AS_GET_UNICODE_BLOCKS">
<request>
<param name="familyId" type="uint16"/>
<param name="styleId" type="uint16"/>
</request>
<reply>
<param name="blocksForFont" type="unicode_block"/>
</reply>
</message>
<message name="AS_GET_HAS_UNICODE_BLOCK">
<request>
<param name="familyId" type="uint16"/>
<param name="styleId" type="uint16"/>
<param name="start" type="uint32"/>
<param name="end" type="uint32"/>
</request>
<reply>
<param name="hasBlock" type="bool"/>
</reply>
</message>
<message name="AS_GET_GLYPH_SHAPES">
<request>
<param name="familyId" type="uint16"/>
<param name="styleId" type="uint16"/>
<param name="size" type="float"/>
<param name="shear" type="float"/>
<param name="rotation" type="float"/>
<param name="falseBoldWidth" type="float"/>
<param name="flags" type="uint32"/> <!-- TODO: define bitfield -->
<param name="numChars" type="int32"/>
<param name="bytesInBuffer" type="int32"/>
<param name="charArray" type="char" length="bytesInBuffer"/>
</request>
<reply>
<param name="glyphShapeArray" type="BShape" length="$req.numChars"/>
</reply>
</message>
<message name="AS_GET_HAS_GLYPHS">
<request>
<param name="familyId" type="uint16"/>
<param name="styleId" type="uint16"/>
<param name="numChars" type="int32"/>
<param name="bytesInBuffer" type="int32"/>
<param name="charArray" type="char" length="bytesInBuffer"/>
<param name="useFallbacks" type="bool"/>
</request>
<reply>
<param name="hasArray" type="bool" length="$req.numChars"/>
</reply>
</message>
<message name="AS_GET_EDGES">
<request>
<param name="familyId" type="uint16"/>
<param name="styleId" type="uint16"/>
<param name="numChars" type="int32"/>
<param name="bytesInBuffer" type="int32"/>
<param name="charArray" type="char" length="bytesInBuffer"/>
</request>
<reply>
<param name="edgeArray" type="edge_info" length="$req.numChars"/>
</reply>
</message>
<message name="AS_GET_ESCAPEMENTS">
<request>
<param name="familyId" type="uint16"/>
<param name="styleId" type="uint16"/>
<param name="size" type="float"/>
<param name="spacing" type="uint8"/>
<param name="rotation" type="float"/>
<param name="flags" type="uint32"/> <!-- TODO: define bitfield -->
<param name="delta" type="escapement_delta"/>
<param name="hasOffsetArray" type="bool"/>
<param name="numChars" type="int32"/>
<param name="bytesInBuffer" type="int32"/>
<param name="charArray" type="char" length="bytesInBuffer"/>
</request>
<reply>
<param name="escapementArray" type="BPoint" length="$req.numChars"/>
<if field="$req.hasOffsetArray">
<param name="offsetArray" type="BPoint" length="$req.numChars"/>
</if>
</reply>
</message>
<message name="AS_GET_ESCAPEMENTS_AS_FLOATS">
<request>
<param name="familyId" type="uint16"/>
<param name="styleId" type="uint16"/>
<param name="size" type="float"/>
<param name="spacing" type="uint8"/>
<param name="rotation" type="float"/>
<param name="flags" type="uint32"/> <!-- TODO: define bitfield -->
<param name="delta" type="escapement_delta"/>
<param name="numChars" type="int32"/>
<param name="bytesInBuffer" type="int32"/>
<param name="charArray" type="char" length="bytesInBuffer"/>
</request>
<reply>
<param name="escapementArray" type="float" length="$req.numChars"/>
</reply>
</message>
<message name="AS_GET_BOUNDINGBOXES_CHARS">
<request>
<param name="familyId" type="uint16"/>
<param name="styleId" type="uint16"/>
<param name="size" type="float"/>
<param name="rotation" type="float"/>
<param name="shear" type="float"/>
<param name="falseBoldWidth" type="float"/>
<param name="spacing" type="uint8"/>
<param name="flags" type="uint32"/> <!-- TODO: define bitfield -->
<param name="mode" type="font_metric_mode"/>
<param name="stringEscapement" type="bool"/>
<param name="delta" type="escapement_delta"/>
<param name="numChars" type="int32"/>
<param name="bytesInBuffer" type="int32"/>
<param name="charArray" type="char" length="bytesInBuffer"/>
</request>
<reply>
<param name="boundingBoxArray" type="BRect" length="$req.numChars"/>
</reply>
</message>
<message name="AS_GET_BOUNDINGBOXES_STRING">
<request>
<param name="familyId" type="uint16"/>
<param name="styleId" type="uint16"/>
<param name="size" type="float"/>
<param name="rotation" type="float"/>
<param name="shear" type="float"/>
<param name="falseBoldWidth" type="float"/>
<param name="spacing" type="uint8"/>
<param name="flags" type="uint32"/> <!-- TODO: define bitfield -->
<param name="mode" type="font_metric_mode"/>
<param name="stringEscapement" type="bool"/>
<param name="delta" type="escapement_delta"/>
<param name="numChars" type="int32"/>
<param name="bytesInBuffer" type="int32"/>
<param name="charArray" type="char" length="bytesInBuffer"/>
</request>
<reply>
<param name="boundingBoxArray" type="BRect" length="$req.numChars"/>
</reply>
</message>
<message name="AS_GET_BOUNDINGBOXES_STRINGS">
<request>
<param name="familyId" type="uint16"/>
<param name="styleId" type="uint16"/>
<param name="size" type="float"/>
<param name="rotation" type="float"/>
<param name="shear" type="float"/>
<param name="falseBoldWidth" type="float"/>
<param name="spacing" type="uint8"/>
<param name="flags" type="uint32"/> <!-- TODO: define bitfield -->
<param name="mode" type="font_metric_mode"/>
<param name="numStrings" type="int32"/>
<interleavedArrays length="numStrings">
<param name="stringArray" type="string"/>
<param name="deltas" type="escapement_delta"/>
</interleavedArrays>
</request>
<reply>
<param name="boundingBoxArray" type="BRect" length="$req.numStrings"/>
</reply>
</message>
<!-- Screen -->
<message name="AS_VALID_SCREEN_ID">
<request>
<param name="id" type="int32"/>
</request>
<reply/>
</message>
<message name="AS_GET_NEXT_SCREEN_ID">
<request>
<param name="id" type="int32"/>
</request>
<reply>
<param name="id" type="int32"/>
</reply>
</message>
<message name="AS_GET_SCREEN_ID_FROM_WINDOW">
<request>
<param name="windowToken" type="handler_token"/>
</request>
<reply>
<param name="id" type="int32"/>
</reply>
</message>
<message name="AS_SCREEN_GET_MODE">
<request>
<param name="screenId" type="int32"/>
<param name="workspace" type="uint32"/>
</request>
<reply>
<param name="mode" type="display_mode"/>
</reply>
</message>
<message name="AS_SCREEN_SET_MODE">
<request>
<param name="screenId" type="int32"/>
<param name="workspace" type="uint32"/>
<param name="mode" type="display_mode"/>
<param name="makeDefault" type="bool"/>
</request>
<reply/>
</message>
<message name="AS_PROPOSE_MODE">
<request>
<param name="screenId" type="int32"/>
<param name="target" type="display_mode"/>
<param name="low" type="display_mode"/>
<param name="high" type="display_mode"/>
</request>
<reply>
<param name="target" type="display_mode"/>
<param name="withinLimits" type="bool"/>
</reply>
</message>
<message name="AS_GET_MODE_LIST">
<request>
<param name="screenId" type="int32"/>
</request>
<reply>
<param name="count" type="uint32"/>
<param name="modeList" type="display_mode" length="count"/>
</reply>
</message>
<message name="AS_GET_SCREEN_FRAME">
<request>
<param name="screenId" type="int32"/>
<param name="workspace" type="uint32"/>
</request>
<reply>
<param name="frame" type="BRect"/>
</reply>
</message>
<message name="AS_SCREEN_GET_COLORMAP">
<request>
<param name="id" type="int32"/>
</request>
<reply>
<param name="colorMap" type="color_map"/>
</reply>
</message>
<message name="AS_GET_DESKTOP_COLOR">
<request>
<param name="workspace" type="uint32"/>
</request>
<reply>
<param name="color" type="rgb_color"/>
</reply>
</message>
<message name="AS_SET_DESKTOP_COLOR">
<request>
<param name="color" type="rgb_color"/>
<param name="workspace" type="uint32"/>
<param name="makeDefault" type="bool"/>
</request>
</message>
<message name="AS_GET_ACCELERANT_INFO">
<request>
<param name="screenId" type="int32"/>
</request>
<reply>
<param name="info" type="accelerant_device_info"/>
</reply>
</message>
<message name="AS_GET_MONITOR_INFO">
<request>
<param name="screenId" type="int32"/>
</request>
<reply>
<param name="info" type="monitor_info"/>
</reply>
</message>
<message name="AS_GET_FRAME_BUFFER_CONFIG">
<request>
<param name="screenId" type="int32"/>
</request>
<reply>
<param name="config" type="frame_buffer_config"/>
</reply>
</message>
<message name="AS_GET_RETRACE_SEMAPHORE">
<request>
<param name="screenId" type="int32"/>
</request>
<reply>
<param name="semId" type="sem_id"/>
</reply>
</message>
<message name="AS_GET_TIMING_CONSTRAINTS">
<request>
<param name="screenId" type="int32"/>
</request>
<reply>
<param name="constraints" type="display_timing_constraints"/>
</reply>
</message>
<message name="AS_GET_PIXEL_CLOCK_LIMITS">
<request>
<param name="screenId" type="int32"/>
<param name="mode" type="display_mode"/>
</request>
<reply>
<param name="low" type="uint32"/>
<param name="high" type="uint32"/>
</reply>
</message>
<message name="AS_SET_DPMS">
<request>
<param name="screenId" type="int32"/>
<param name="dpmsState" type="uint32"/> <!-- TODO: define enum -->
</request>
<reply/>
</message>
<message name="AS_GET_DPMS_STATE">
<request>
<param name="screenId" type="int32"/>
</request>
<reply>
<param name="dpmsState" type="uint32"/> <!-- TODO: define enum -->
</reply>
</message>
<message name="AS_GET_DPMS_CAPABILITIES">
<request>
<param name="screenId" type="int32"/>
</request>
<reply>
<param name="capabilities" type="uint32"/> <!-- TODO -->
</reply>
</message>
<message name="AS_SCREEN_SET_BRIGHTNESS">
<request>
<param name="screenId" type="int32"/>
<param name="brightness" type="float"/>
</request>
<reply/>
</message>
<message name="AS_SCREEN_GET_BRIGHTNESS">
<request>
<param name="screenId" type="int32"/>
</request>
<reply>
<param name="brightness" type="float"/>
</reply>
</message>
<message name="AS_READ_BITMAP">
<request>
<param name="bitmapToken" type="bitmap_token"/>
<param name="drawCursor" type="bool"/>
<param name="rect" type="BRect"/>
</request>
<reply/>
</message>
<message name="AS_GET_ACCELERANT_PATH">
<request>
<param name="screenId" type="int32"/>
</request>
<reply>
<param name="accelerantPath" type="string"/>
</reply>
</message>
<message name="AS_GET_DRIVER_PATH">
<request>
<param name="screenId" type="int32"/>
</request>
<reply>
<param name="driverPath" type="string"/>
</reply>
</message>
<message name="AS_DIRECT_SCREEN_LOCK">
<request>
<param name="lock" type="bool"/>
</request>
<reply/>
</message>
<!-- Global management -->
<message name="AS_APP_CRASHED"/>
<message name="AS_CURRENT_WORKSPACE">
<reply>
<param name="index" type="int32"/>
</reply>
</message>
<message name="AS_ACTIVATE_WORKSPACE" reference="true">
<request>
<param name="workspace" type="int32"/>
<param name="moveFocusWindow" type="bool"/>
</request>
</message>
<message name="AS_GET_WINDOW_LIST">
<request>
<param name="team" type="team_id"/>
</request>
<reply>
<param name="count" type="int32"/>
<param name="tokens" type="window_token" length="count"/>
</reply>
</message>
<message name="AS_GET_WINDOW_INFO">
<request>
<param name="windowToken" type="window_token"/>
</request>
<reply>
<param name="size" type="int32"/>
<param name="info" type="client_window_info" size="size"/>
</reply>
</message>
<message name="AS_GET_WINDOW_ORDER">
<request>
<param name="workspace" type="int32"/>
</request>
<reply>
<param name="count" type="int32"/>
<param name="tokens" type="window_token" length="count"/>
</reply>
</message>
<message name="AS_GET_APPLICATION_ORDER">
<request>
<param name="workspace" type="int32"/>
</request>
<reply>
<param name="count" type="int32"/>
<param name="applications" type="team_id" length="count"/>
</reply>
</message>
<message name="AS_MINIMIZE_TEAM">
<request>
<param name="team" type="team_id"/>
</request>
</message>
<message name="AS_BRING_TEAM_TO_FRONT">
<request>
<param name="team" type="team_id"/>
</request>
</message>
<message name="AS_WINDOW_ACTION">
<request>
<param name="windowToken" type="window_token"/>
<param name="action" type="window_action"/>
</request>
</message>
<!-- Settings -->
<message name="AS_SET_DECORATOR">
<request>
<param name="path" type="string"/>
</request>
<!-- TODO: check is this correct -->
<reply/>
</message>
<message name="AS_GET_DECORATOR">
<reply>
<param name="path" type="string"/>
</reply>
</message>
<message name="AS_SET_CONTROL_LOOK">
<request>
<param name="path" type="string"/>
</request>
<reply/>
</message>
<message name="AS_GET_CONTROL_LOOK">
<reply>
<param name="path" type="string"/>
</reply>
</message>
<message name="AS_SET_WORKSPACE_LAYOUT">
<request>
<param name="columns" type="int32"/>
<param name="rows" type="int32"/>
</request>
</message>
<message name="AS_GET_WORKSPACE_LAYOUT">
<reply>
<param name="columns" type="int32"/>
<param name="rows" type="int32"/>
</reply>
</message>
<message name="AS_IDLE_TIME">
<reply>
<param name="idletime" type="int64"/>
</reply>
</message>
<message name="AS_GET_SCROLLBAR_INFO">
<reply>
<param name="info" type="scroll_bar_info"/>
</reply>
</message>
<message name="AS_SET_SCROLLBAR_INFO">
<request>
<param name="info" type="scroll_bar_info"/>
</request>
<reply/>
</message>
<message name="AS_GET_MENU_INFO">
<reply>
<param name="info" type="menu_info"/>
</reply>
</message>
<message name="AS_SET_MENU_INFO">
<request>
<param name="info" type="menu_info"/>
</request>
<reply/>
</message>
<message name="AS_SET_MOUSE_MODE">
<request>
<param name="mode" type="mode_mouse"/>
</request>
</message>
<message name="AS_GET_MOUSE_MODE">
<reply>
<param name="mode" type="mode_mouse"/>
</reply>
</message>
<message name="AS_SET_FOCUS_FOLLOWS_MOUSE_MODE">
<request>
<param name="mode" type="mode_focus_follows_mouse"/>
</request>
</message>
<message name="AS_GET_FOCUS_FOLLOWS_MOUSE_MODE">
<reply>
<param name="mode" type="mode_focus_follows_mouse"/>
</reply>
</message>
<message name="AS_SET_ACCEPT_FIRST_CLICK">
<request>
<param name="acceptFirstClick" type="bool"/>
</request>
</message>
<message name="AS_GET_ACCEPT_FIRST_CLICK">
<reply>
<param name="acceptFirstClick" type="bool"/>
</reply>
</message>
<message name="AS_GET_SHOW_ALL_DRAGGERS">
<reply>
<param name="areDraggersDrawn" type="bool"/>
</reply>
</message>
<message name="AS_SET_SHOW_ALL_DRAGGERS">
<request>
<param name="areDraggersDrawn" type="bool"/>
</request>
</message>
<message name="AS_SET_SUBPIXEL_ANTIALIASING">
<request>
<param name="subpix" type="bool"/>
</request>
</message>
<message name="AS_GET_SUBPIXEL_ANTIALIASING">
<reply>
<param name="subpix" type="bool"/>
</reply>
</message>
<message name="AS_SET_HINTING">
<request>
<param name="hinting" type="uint8"/>
</request>
</message>
<message name="AS_GET_HINTING">
<reply>
<param name="hinting" type="uint8"/>
</reply>
</message>
<message name="AS_SET_SUBPIXEL_AVERAGE_WEIGHT">
<request>
<param name="averageWeight" type="uint8"/>
</request>
</message>
<message name="AS_GET_SUBPIXEL_AVERAGE_WEIGHT">
<reply>
<param name="averageWeight" type="uint8"/>
</reply>
</message>
<message name="AS_SET_SUBPIXEL_ORDERING">
<request>
<param name="subpixelOrdering" type="bool"/>
</request>
</message>
<message name="AS_GET_SUBPIXEL_ORDERING">
<reply>
<param name="subpixelOrdering" type="bool"/>
</reply>
</message>
<!-- Private -->
<message name="kMsgJoinLooper" scope="private" reference="true">
<request>
<param name="looper" type="MessageLooper" pointer="true"/>
</request>
</message>
<message name="kMsgUpdateShowAllDraggers" scope="private"/>
</target>
<target name="Window">
<!-- Private -->
<message name="AS_INTERNAL_HIDE_WINDOW" scope="private"/>
<message name="AS_SYSTEM_FONT_CHANGED" scope="private"/>
<message name="B_FONTS_UPDATED" scope="private"/>
<message name="AS_REDRAW" scope="private"/>
<message name="B_QUIT_REQUESTED" scope="private"/>
<message name="AS_DELETE_WINDOW">
<reply/>
</message>
<message name="AS_SHOW_OR_HIDE_WINDOW">
<request>
<param name="showLevel" type="int32"/>
</request>
</message>
<message name="AS_MINIMIZE_WINDOW">
<request>
<param name="minimize" type="bool"/>
</request>
</message>
<message name="AS_ACTIVATE_WINDOW">
<request>
<param name="active" type="bool"/>
</request>
</message>
<message name="AS_SEND_BEHIND">
<request>
<param name="window" type="handler_token"/>
</request>
<reply/>
</message>
<message name="AS_ENABLE_UPDATES"/>
<message name="AS_DISABLE_UPDATES"/>
<message name="AS_NEEDS_UPDATE">
<reply/>
</message>
<message name="AS_SET_WINDOW_TITLE">
<request>
<param name="title" type="string"/>
</request>
</message>
<message name="AS_ADD_TO_SUBSET">
<request>
<param name="window" type="handler_token"/>
</request>
<reply/>
</message>
<message name="AS_REMOVE_FROM_SUBSET">
<request>
<param name="window" type="handler_token"/>
</request>
<reply/>
</message>
<message name="AS_SET_LOOK">
<request>
<param name="look" type="window_look"/>
</request>
<reply/>
</message>
<message name="AS_SET_FEEL">
<request>
<param name="feel" type="window_feel"/>
</request>
<reply/>
</message>
<message name="AS_SET_FLAGS">
<request>
<param name="flags" type="window_flags"/>
</request>
<reply/>
</message>
<message name="AS_SET_ALIGNMENT">
<request>
<param name="mode" type="window_alignment"/>
<param name="h" type="int32"/>
<param name="hOffset" type="int32"/>
<param name="width" type="int32"/>
<param name="widthOffset" type="int32"/>
<param name="v" type="int32"/>
<param name="vOffset" type="int32"/>
<param name="height" type="int32"/>
<param name="heightOffset" type="int32"/>
</request>
<reply/>
</message>
<message name="AS_GET_ALIGNMENT">
<reply>
<param name="mode" type="window_alignment"/>
<param name="h" type="int32"/>
<param name="hOffset" type="int32"/>
<param name="width" type="int32"/>
<param name="widthOffset" type="int32"/>
<param name="v" type="int32"/>
<param name="vOffset" type="int32"/>
<param name="height" type="int32"/>
<param name="heightOffset" type="int32"/>
</reply>
</message>
<message name="AS_IS_FRONT_WINDOW">
<reply/>
</message>
<message name="AS_GET_WORKSPACES">
<reply>
<param name="workspaces" type="uint32"/>
</reply>
</message>
<message name="AS_SET_WORKSPACES">
<request>
<param name="workspaces" type="uint32"/>
</request>
</message>
<message name="AS_WINDOW_RESIZE">
<request>
<param name="width" type="float"/>
<param name="height" type="float"/>
</request>
<reply/>
</message>
<message name="AS_WINDOW_MOVE">
<request>
<param name="x" type="float"/>
<param name="y" type="float"/>
</request>
<reply/>
</message>
<message name="AS_SET_SIZE_LIMITS">
<request>
<param name="minWidth" type="float"/>
<param name="maxWidth" type="float"/>
<param name="minHeight" type="float"/>
<param name="maxHeight" type="float"/>
</request>
<reply>
<param name="frame" type="BRect"/>
<param name="minWidth" type="float"/>
<param name="maxWidth" type="float"/>
<param name="minHeight" type="float"/>
<param name="maxHeight" type="float"/>
</reply>
</message>
<message name="AS_SET_DECORATOR_SETTINGS">
<request>
<param name="settings" type="BMessage"/>
</request>
</message>
<message name="AS_GET_DECORATOR_SETTINGS">
<reply>
<param name="settings" type="BMessage"/>
</reply>
</message>
<message name="AS_SYNC">
<reply/>
</message>
<message name="AS_BEGIN_UPDATE">
<reply>
<param name="origin" type="BPoint"/>
<param name="width" type="float"/>
<param name="height" type="float"/>
<param name="infos" type="ViewUpdateInfo" length="*"/>
</reply>
</message>
<message name="AS_END_UPDATE"/>
<message name="AS_GET_MOUSE">
<reply>
<param name="location" type="BPoint"/>
<param name="buttons" type="uint32"/>
</reply>
</message>
<message name="AS_DIRECT_WINDOW_GET_SYNC_DATA">
<reply>
<param name="syncData" type="direct_window_sync_data"/>
</reply>
</message>
<message name="AS_DIRECT_WINDOW_SET_FULLSCREEN">
<request>
<param name="enable" type="bool"/>
</request>
<reply/>
</message>
<message name="AS_SET_CURRENT_VIEW">
<request>
<param name="viewToken" type="handler_token"/>
</request>
</message>
<message name="AS_VIEW_CREATE_ROOT" structName="ViewCreate" reference="true">
<request>
<param name="viewToken" type="handler_token"/>
<param name="name" type="string"/>
<param name="frame" type="BRect"/>
<param name="position" type="BPoint"/>
<param name="resizingMode" type="view_resize_flags"/>
<param name="eventMask" type="input_event_mask"/>
<param name="eventOptions" type="input_event_mask_options"/>
<param name="flags" type="view_flags"/>
<param name="isHidden" type="bool"/>
<param name="viewColor" type="rgb_color"/>
<param name="parentViewToken" type="handler_token"/>
</request>
</message>
<message name="AS_VIEW_CREATE">
<request>
<param name="viewToken" type="handler_token"/>
<param name="name" type="string"/>
<param name="frame" type="BRect"/>
<param name="position" type="BPoint"/>
<param name="resizingMode" type="view_resize_flags"/>
<param name="eventMask" type="input_event_mask"/>
<param name="eventOptions" type="input_event_mask_options"/>
<param name="flags" type="view_flags"/>
<param name="isHidden" type="bool"/>
<param name="viewColor" type="rgb_color"/>
<param name="parentViewToken" type="handler_token"/>
</request>
</message>
<message name="AS_TALK_TO_DESKTOP_LISTENER">
<request>
<param name="identifier" type="int32"/>
<param name="target" type="int32"/>
</request>
</message>
</target>
<target name="View">
<message name="AS_VIEW_SCROLL">
<request>
<param name="xDiff" type="float"/>
<param name="yDiff" type="float"/>
</request>
</message>
<message name="AS_VIEW_COPY_BITS">
<request>
<param name="src" type="BRect"/>
<param name="dst" type="BRect"/>
</request>
</message>
<message name="AS_VIEW_DELETE">
<request>
<param name="viewToken" type="handler_token"/>
</request>
</message>
<message name="AS_VIEW_SET_STATE">
<request>
<param name="info" type="ViewSetStateInfo"/>
<param name="transform" type="BAffineTransform"/>
<param name="clippingRegionRectCount" type="int32"/>
<ifNonNegative field="clippingRegionRectCount">
<param name="clippingRegionRects" type="BRect" length="clippingRegionRectCount"/>
</ifNonNegative>
</request>
</message>
<message name="AS_VIEW_SET_FONT_STATE">
<request>
<param name="fontFlags" type="set_font_mask"/>
<ifMemberOf field="fontFlags" value="B_FONT_FAMILY_AND_STYLE">
<param name="familyAndStyle" type="uint32"/>
</ifMemberOf>
<ifMemberOf field="fontFlags" value="B_FONT_SIZE">
<param name="size" type="float"/>
</ifMemberOf>
<ifMemberOf field="fontFlags" value="B_FONT_SHEAR">
<param name="shear" type="float"/>
</ifMemberOf>
<ifMemberOf field="fontFlags" value="B_FONT_ROTATION">
<param name="rotation" type="float"/>
</ifMemberOf>
<ifMemberOf field="fontFlags" value="B_FONT_FALSE_BOLD_WIDTH">
<param name="falseBoldWidth" type="float"/>
</ifMemberOf>
<ifMemberOf field="fontFlags" value="B_FONT_SPACING">
<param name="spacing" type="uint8"/>
</ifMemberOf>
<ifMemberOf field="fontFlags" value="B_FONT_ENCODING">
<param name="encoding" type="uint8"/>
</ifMemberOf>
<ifMemberOf field="fontFlags" value="B_FONT_FACE">
<param name="face" type="uint16"/>
</ifMemberOf>
<ifMemberOf field="fontFlags" value="B_FONT_FLAGS">
<param name="flags" type="font_flags"/>
</ifMemberOf>
</request>
</message>
<message name="AS_VIEW_GET_STATE">
<reply>
<param name="info" type="ViewGetStateInfo"/>
<param name="transform" type="BAffineTransform"/>
<param name="clippingRegionRectCount" type="int32"/>
<ifNonNegative field="clippingRegionRectCount">
<param name="clippingRegionRects" type="BRect" length="clippingRegionRectCount"/>
</ifNonNegative>
</reply>
</message>
<message name="AS_VIEW_SET_EVENT_MASK">
<request>
<param name="mask" type="input_event_mask"/>
<param name="options" type="input_event_mask_options"/>
</request>
</message>
<message name="AS_VIEW_SET_MOUSE_EVENT_MASK">
<request>
<param name="mask" type="input_event_mask"/>
<param name="options" type="input_event_mask_options"/>
</request>
</message>
<message name="AS_VIEW_MOVE_TO">
<request>
<param name="pos" type="BPoint"/>
</request>
</message>
<message name="AS_VIEW_RESIZE_TO">
<request>
<param name="width" type="float"/>
<param name="height" type="float"/>
</request>
</message>
<message name="AS_VIEW_GET_COORD">
<reply>
<param name="parentOffset" type="BPoint"/>
<param name="bounds" type="BRect"/>
</reply>
</message>
<message name="AS_VIEW_SET_ORIGIN">
<request>
<param name="origin" type="BPoint"/>
</request>
</message>
<message name="AS_VIEW_GET_ORIGIN">
<reply>
<param name="origin" type="BPoint"/>
</reply>
</message>
<message name="AS_VIEW_RESIZE_MODE">
<request>
<param name="mode" type="uint32"/> <!-- TODO: define flags -->
</request>
</message>
<message name="AS_VIEW_SET_FLAGS">
<request>
<param name="flags" type="uint32"/> <!-- TODO: define flags -->
</request>
</message>
<message name="AS_VIEW_HIDE"/>
<message name="AS_VIEW_SHOW"/>
<message name="AS_VIEW_SET_LINE_MODE">
<request>
<param name="info" type="ViewSetLineModeInfo"/>
</request>
</message>
<message name="AS_VIEW_GET_LINE_MODE">
<reply>
<param name="info" type="ViewSetLineModeInfo"/>
</reply>
</message>
<message name="AS_VIEW_SET_FILL_RULE">
<request>
<param name="fillRule" type="fill_rule"/>
</request>
</message>
<message name="AS_VIEW_GET_FILL_RULE">
<reply>
<param name="fillRule" type="fill_rule"/>
</reply>
</message>
<message name="AS_VIEW_PUSH_STATE"/>
<message name="AS_VIEW_POP_STATE"/>
<message name="AS_VIEW_SET_SCALE">
<request>
<param name="scale" type="float"/>
</request>
</message>
<message name="AS_VIEW_GET_SCALE">
<reply>
<param name="scale" type="float"/>
</reply>
</message>
<message name="AS_VIEW_SET_TRANSFORM">
<request>
<param name="transform" type="BAffineTransform"/>
</request>
</message>
<message name="AS_VIEW_GET_TRANSFORM">
<reply>
<param name="transform" type="BAffineTransform"/>
</reply>
</message>
<message name="AS_VIEW_GET_PARENT_COMPOSITE">
<reply>
<param name="transform" type="BAffineTransform"/>
<param name="scale" type="float"/>
<param name="origin" type="BPoint"/>
</reply>
</message>
<message name="AS_VIEW_AFFINE_TRANSLATE">
<request>
<param name="x" type="double"/>
<param name="y" type="double"/>
</request>
</message>
<message name="AS_VIEW_AFFINE_SCALE">
<request>
<param name="x" type="double"/>
<param name="y" type="double"/>
</request>
</message>
<message name="AS_VIEW_AFFINE_ROTATE">
<request>
<param name="angleRadians" type="double"/>
</request>
</message>
<message name="AS_VIEW_SET_PEN_LOC">
<request>
<param name="location" type="BPoint"/>
</request>
</message>
<message name="AS_VIEW_GET_PEN_LOC">
<reply>
<param name="location" type="BPoint"/>
</reply>
</message>
<message name="AS_VIEW_SET_PEN_SIZE">
<request>
<param name="size" type="float"/>
</request>
</message>
<message name="AS_VIEW_GET_PEN_SIZE">
<reply>
<param name="size" type="float"/>
</reply>
</message>
<message name="AS_VIEW_SET_VIEW_COLOR">
<request>
<param name="color" type="rgb_color"/>
</request>
</message>
<message name="AS_VIEW_GET_VIEW_COLOR">
<reply>
<param name="color" type="rgb_color"/>
</reply>
</message>
<message name="AS_VIEW_SET_HIGH_COLOR">
<request>
<param name="color" type="rgb_color"/>
</request>
</message>
<message name="AS_VIEW_SET_HIGH_UI_COLOR">
<request>
<param name="which" type="color_which"/>
<param name="tint" type="float"/>
</request>
</message>
<message name="AS_VIEW_SET_LOW_UI_COLOR">
<request>
<param name="which" type="color_which"/>
<param name="tint" type="float"/>
</request>
</message>
<message name="AS_VIEW_SET_VIEW_UI_COLOR">
<request>
<param name="which" type="color_which"/>
<param name="tint" type="float"/>
</request>
</message>
<message name="AS_VIEW_GET_HIGH_UI_COLOR">
<reply>
<param name="which" type="color_which"/>
<param name="tint" type="float"/>
<param name="color" type="rgb_color"/>
</reply>
</message>
<message name="AS_VIEW_GET_LOW_UI_COLOR">
<reply>
<param name="which" type="color_which"/>
<param name="tint" type="float"/>
<param name="color" type="rgb_color"/>
</reply>
</message>
<message name="AS_VIEW_GET_VIEW_UI_COLOR">
<reply>
<param name="which" type="color_which"/>
<param name="tint" type="float"/>
<param name="color" type="rgb_color"/>
</reply>
</message>
<message name="AS_VIEW_GET_HIGH_COLOR">
<reply>
<param name="color" type="rgb_color"/>
</reply>
</message>
<message name="AS_VIEW_SET_LOW_COLOR">
<request>
<param name="color" type="rgb_color"/>
</request>
</message>
<message name="AS_VIEW_GET_LOW_COLOR">
<reply>
<param name="color" type="rgb_color"/>
</reply>
</message>
<message name="AS_VIEW_SET_PATTERN">
<request>
<param name="pattern" type="pattern"/>
</request>
</message>
<message name="AS_VIEW_SET_BLENDING_MODE">
<request>
<param name="info" type="ViewBlendingModeInfo"/>
</request>
</message>
<message name="AS_VIEW_GET_BLENDING_MODE">
<reply>
<param name="info" type="ViewBlendingModeInfo"/>
</reply>
</message>
<message name="AS_VIEW_SET_DRAWING_MODE">
<request>
<param name="mode" type="drawing_mode" size="1"/>
</request>
</message>
<message name="AS_VIEW_GET_DRAWING_MODE">
<reply>
<param name="mode" type="drawing_mode" size="1"/>
</reply>
</message>
<message name="AS_VIEW_SET_VIEW_BITMAP">
<request>
<param name="bitmapToken" type="bitmap_token"/>
<param name="srcRect" type="BRect"/>
<param name="dstRect" type="BRect"/>
<param name="followFlags" type="uint32"/> <!-- TODO: define bitfield -->
<param name="options" type="bitmap_drawing_options"/>
</request>
</message>
<message name="AS_VIEW_PRINT_ALIASING">
<request>
<param name="enable" type="bool"/>
</request>
</message>
<message name="AS_VIEW_CLIP_TO_PICTURE">
<request>
<param name="pictureToken" type="picture_token"/>
<ifNonNegative field="pictureToken">
<param name="where" type="BPoint"/>
<param name="invert" type="bool"/>
</ifNonNegative>
</request>
</message>
<message name="AS_VIEW_GET_CLIP_REGION">
<reply>
<param name="region" type="BRegion"/>
</reply>
</message>
<message name="AS_VIEW_SET_CLIP_REGION">
<request>
<param name="count" type="int32"/>
<ifNonNegative field="count">
<param name="region" type="BRegion"/>
</ifNonNegative>
</request>
</message>
<message name="AS_VIEW_CLIP_TO_RECT">
<request>
<param name="inverse" type="bool"/>
<param name="rect" type="BRect"/>
</request>
</message>
<message name="AS_VIEW_CLIP_TO_SHAPE">
<request>
<param name="inverse" type="bool"/>
<param name="shape" type="BShape"/>
</request>
</message>
<message name="AS_VIEW_INVALIDATE_RECT">
<request>
<param name="invalRect" type="BRect"/>
</request>
</message>
<message name="AS_VIEW_DELAYED_INVALIDATE_RECT">
<request>
<param name="absDelay" type="bigtime_t"/>
<param name="invalRect" type="BRect"/>
</request>
</message>
<message name="AS_VIEW_INVALIDATE_REGION">
<request>
<param name="region" type="BRegion"/>
</request>
</message>
<message name="AS_VIEW_DRAG_IMAGE">
<request>
<param name="bitmapToken" type="bitmap_token"/>
<param name="dragMode" type="drawing_mode"/>
<param name="offset" type="BPoint"/>
<param name="bufferSize" type="int32"/>
<param name="buffer" type="uint8" length="bufferSize"/>
</request>
</message>
<message name="AS_VIEW_DRAG_RECT">
<request>
<param name="dragRect" type="BRect"/>
<param name="offset" type="BPoint"/>
<param name="bufferSize" type="int32"/>
<param name="buffer" type="uint8" length="bufferSize"/>
</request>
</message>
<message name="AS_VIEW_BEGIN_RECT_TRACK">
<request>
<param name="startRect" type="BRect"/>
<param name="style" type="uint32"/> <!-- TODO: define bitfield -->
</request>
</message>
<message name="AS_VIEW_END_RECT_TRACK"/>
<message name="AS_VIEW_BEGIN_PICTURE"/>
<message name="AS_VIEW_APPEND_TO_PICTURE">
<request>
<param name="pictureToken" type="picture_token"/>
</request>
</message>
<message name="AS_VIEW_END_PICTURE">
<reply>
<param name="pictureToken" type="picture_token"/>
</reply>
</message>
<message name="AS_VIEW_BEGIN_LAYER">
<request>
<param name="opacity" type="uint8"/>
</request>
</message>
<!-- drawing -->
<message name="AS_STROKE_LINE">
<request>
<param name="startPoint" type="BPoint"/>
<param name="endPoint" type="BPoint"/>
</request>
</message>
<message name="AS_VIEW_INVERT_RECT">
<request>
<param name="rect" type="BRect"/>
</request>
</message>
<message name="AS_STROKE_RECT">
<request>
<param name="rect" type="BRect"/>
</request>
</message>
<message name="AS_FILL_RECT">
<request>
<param name="rect" type="BRect"/>
</request>
</message>
<message name="AS_FILL_RECT_GRADIENT">
<request>
<param name="rect" type="BRect"/>
<param name="gradient" type="BGradient"/>
</request>
</message>
<message name="AS_VIEW_DRAW_BITMAP">
<request>
<param name="bitmapToken" type="bitmap_token"/>
<param name="options" type="bitmap_drawing_options"/>
<param name="viewRect" type="BRect"/>
<param name="bitmapRect" type="BRect"/>
</request>
</message>
<message name="AS_STROKE_ARC">
<request>
<param name="rect" type="BRect"/>
<param name="startAngle" type="float"/>
<param name="arcAngle" type="float"/>
</request>
</message>
<message name="AS_FILL_ARC">
<request>
<param name="rect" type="BRect"/>
<param name="startAngle" type="float"/>
<param name="arcAngle" type="float"/>
</request>
</message>
<message name="AS_FILL_ARC_GRADIENT">
<request>
<param name="rect" type="BRect"/>
<param name="startAngle" type="float"/>
<param name="arcAngle" type="float"/>
<param name="gradient" type="BGradient"/>
</request>
</message>
<message name="AS_STROKE_BEZIER">
<request>
<param name="controlPoints" type="BPoint" length="4"/>
</request>
</message>
<message name="AS_FILL_BEZIER">
<request>
<param name="controlPoints" type="BPoint" length="4"/>
</request>
</message>
<message name="AS_FILL_BEZIER_GRADIENT">
<request>
<param name="controlPoints" type="BPoint" length="4"/>
<param name="gradient" type="BGradient"/>
</request>
</message>
<message name="AS_STROKE_ELLIPSE">
<request>
<param name="rect" type="BRect"/>
</request>
</message>
<message name="AS_FILL_ELLIPSE">
<request>
<param name="rect" type="BRect"/>
</request>
</message>
<message name="AS_FILL_ELLIPSE_GRADIENT">
<request>
<param name="rect" type="BRect"/>
<param name="gradient" type="BGradient"/>
</request>
</message>
<message name="AS_STROKE_ROUNDRECT">
<request>
<param name="rect" type="BRect"/>
<param name="xRadius" type="float"/>
<param name="yRadius" type="float"/>
</request>
</message>
<message name="AS_FILL_ROUNDRECT">
<request>
<param name="rect" type="BRect"/>
<param name="xRadius" type="float"/>
<param name="yRadius" type="float"/>
</request>
</message>
<message name="AS_FILL_ROUNDRECT_GRADIENT">
<request>
<param name="rect" type="BRect"/>
<param name="xRadius" type="float"/>
<param name="yRadius" type="float"/>
<param name="gradient" type="BGradient"/>
</request>
</message>
<message name="AS_STROKE_TRIANGLE">
<request>
<param name="points" type="BPoint" length="3"/>
<param name="bounds" type="BRect"/>
</request>
</message>
<message name="AS_FILL_TRIANGLE">
<request>
<param name="points" type="BPoint" length="3"/>
<param name="bounds" type="BRect"/>
</request>
</message>
<message name="AS_FILL_TRIANGLE_GRADIENT">
<request>
<param name="points" type="BPoint" length="3"/>
<param name="bounds" type="BRect"/>
<param name="gradient" type="BGradient"/>
</request>
</message>
<message name="AS_STROKE_POLYGON">
<request>
<param name="bounds" type="BRect"/>
<param name="closed" type="bool"/>
<param name="count" type="int32"/>
<param name="points" type="BPoint" length="count"/>
</request>
</message>
<message name="AS_FILL_POLYGON">
<request>
<param name="bounds" type="BRect"/>
<param name="count" type="int32"/>
<param name="points" type="BPoint" length="count"/>
</request>
</message>
<message name="AS_FILL_POLYGON_GRADIENT">
<request>
<param name="bounds" type="BRect"/>
<param name="count" type="int32"/>
<param name="points" type="BPoint" length="count"/>
<param name="gradient" type="BGradient"/>
</request>
</message>
<message name="AS_STROKE_SHAPE">
<request>
<param name="bounds" type="BRect"/>
<param name="shape" type="BShape"/>
</request>
</message>
<message name="AS_FILL_SHAPE">
<request>
<param name="bounds" type="BRect"/>
<param name="shape" type="BShape"/>
</request>
</message>
<message name="AS_FILL_SHAPE_GRADIENT">
<request>
<param name="bounds" type="BRect"/>
<param name="shape" type="BShape"/>
<param name="gradient" type="BGradient"/>
</request>
</message>
<message name="AS_FILL_REGION">
<request>
<param name="region" type="BRegion"/>
</request>
</message>
<message name="AS_FILL_REGION_GRADIENT">
<request>
<param name="region" type="BRegion"/>
<param name="gradient" type="BGradient"/>
</request>
</message>
<message name="AS_STROKE_LINEARRAY">
<request>
<param name="count" type="int32"/>
<param name="array" type="ViewLineArrayInfo" length="count"/>
</request>
</message>
<message name="AS_DRAW_STRING">
<request>
<param name="info" type="ViewDrawStringInfo"/>
<param name="string" type="char" length="info.stringLength"/>
</request>
</message>
<message name="AS_DRAW_STRING_WITH_DELTA">
<request>
<param name="info" type="ViewDrawStringInfo"/>
<param name="string" type="char" length="info.stringLength"/>
</request>
</message>
<message name="AS_DRAW_STRING_WITH_OFFSETS">
<request>
<param name="length" type="int32"/>
<param name="locationCount" type="int32"/>
<param name="string" type="char" length="length"/>
<param name="locations" type="BPoint" length="locationCount"/>
</request>
</message>
<message name="AS_VIEW_DRAW_PICTURE">
<request>
<param name="pictureToken" type="picture_token"/>
<param name="where" type="BPoint"/>
</request>
</message>
<message name="AS_VIEW_END_LAYER"/>
</target>
<target name="WindowStack">
<message name="kAddWindowToStack">
<request>
<param name="window" type="BMessenger"/>
</request>
<reply/>
</message>
<message name="kRemoveWindowFromStack">
<request>
<param name="window" type="BMessenger"/>
</request>
</message>
<message name="kRemoveWindowFromStackAt">
<request>
<param name="position" type="int32"/>
</request>
<reply>
<param name="window" type="BMessenger"/>
</reply>
</message>
<message name="kCountWindowsOnStack">
<reply>
<param name="count" type="int32"/>
</reply>
</message>
<message name="kWindowOnStackAt">
<request>
<param name="position" type="int32"/>
</request>
<reply>
<param name="window" type="BMessenger"/>
</reply>
</message>
<message name="kStackHasWindow">
<request>
<param name="window" type="BMessenger"/>
</request>
<reply>
<param name="hasWindow" type="bool"/>
</reply>
</message>
</target>
</messages>
</protocol>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment