e59dc33e21
takes such an id. * Reused the existing mechanism to to have hardcoded tokens for the system cursors, i.e. removed cursor_which enumeration from ServerProtocol.h and used BCursorID where cursor_which was previously used. * Reworked CursorManager.h and CursorSet.h accordingly and removed some methods that where intended to replace system cursors with client cursors, since those would break the reference counting and forget to maintain the cursor list. * Replaced the cursors in CursorData.h/cpp with the new ones I just designed. * Removed HaikuSystemCursor.h and HaikuLogo.h from the source, as those are/were no longer used. I hope I will not get too much beating for this one... :-) I know the new default cursor is slightly larger, but I believe the old one was just too small. Also I noticed that the cursor may be slightly too dark, at least the old one seems noticeably brighter when compared side by side (the new one has a slight gradient). That is something I may correct at least. Otherwise I hope nothing is broken, I've tested in QEMU and so far everything works as intended. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35782 a95241bf-73f2-0310-859d-f6bbb57e9c96
344 lines
7.0 KiB
C
344 lines
7.0 KiB
C
/*
|
|
* Copyright 2001-2009, Haiku.
|
|
* Distributed under the terms of the MIT License.
|
|
*
|
|
* Authors:
|
|
* DarkWyrm <bpmagic@columbus.rr.com>
|
|
* Jérôme Duval, jerome.duval@free.fr
|
|
* Axel Dörfler, axeld@pinc-software.de
|
|
* Andrej Spielmann, <andrej.spielmann@seh.ox.ac.uk>
|
|
*/
|
|
#ifndef APP_SERVER_PROTOCOL_H
|
|
#define APP_SERVER_PROTOCOL_H
|
|
|
|
|
|
#include <SupportDefs.h>
|
|
|
|
|
|
// Server port names. The input port is the port which is used to receive
|
|
// input messages from the Input Server. The other is the "main" port for
|
|
// the server and is utilized mostly by BApplication objects.
|
|
#ifdef HAIKU_TARGET_PLATFORM_HAIKU
|
|
# define SERVER_PORT_NAME "system:app_server"
|
|
#else
|
|
# define SERVER_PORT_NAME "haiku-test:app_server"
|
|
#endif
|
|
|
|
#if TEST_MODE
|
|
# define SERVER_INPUT_PORT "haiku-test:input port"
|
|
#endif
|
|
|
|
#define AS_PROTOCOL_VERSION 1
|
|
|
|
#define AS_REQUEST_COLOR_KEY 0x00010000
|
|
// additional option for AS_VIEW_SET_VIEW_BITMAP
|
|
|
|
enum {
|
|
// NOTE: all defines have to start with "AS_" to let the "code_to_name"
|
|
// utility work correctly
|
|
|
|
AS_GET_DESKTOP,
|
|
AS_REGISTER_INPUT_SERVER = 1,
|
|
AS_EVENT_STREAM_CLOSED,
|
|
// Notification of event stream closing to restart input_server
|
|
|
|
// Desktop definitions (through the ServerApp, though)
|
|
AS_GET_WINDOW_LIST,
|
|
AS_GET_WINDOW_INFO,
|
|
AS_MINIMIZE_TEAM,
|
|
AS_BRING_TEAM_TO_FRONT,
|
|
AS_WINDOW_ACTION,
|
|
AS_GET_APPLICATION_ORDER,
|
|
AS_GET_WINDOW_ORDER,
|
|
|
|
// Application definitions
|
|
AS_CREATE_APP,
|
|
AS_DELETE_APP,
|
|
AS_QUIT_APP,
|
|
AS_ACTIVATE_APP,
|
|
AS_APP_CRASHED,
|
|
|
|
AS_CREATE_WINDOW,
|
|
AS_CREATE_OFFSCREEN_WINDOW,
|
|
AS_DELETE_WINDOW,
|
|
AS_CREATE_BITMAP,
|
|
AS_DELETE_BITMAP,
|
|
AS_GET_BITMAP_OVERLAY_RESTRICTIONS,
|
|
AS_GET_BITMAP_SUPPORT_FLAGS,
|
|
|
|
// Cursor commands
|
|
AS_SET_CURSOR,
|
|
AS_SET_VIEW_CURSOR,
|
|
|
|
AS_SHOW_CURSOR,
|
|
AS_HIDE_CURSOR,
|
|
AS_OBSCURE_CURSOR,
|
|
AS_QUERY_CURSOR_HIDDEN,
|
|
|
|
AS_CREATE_CURSOR,
|
|
AS_REFERENCE_CURSOR,
|
|
AS_DELETE_CURSOR,
|
|
|
|
AS_BEGIN_RECT_TRACKING,
|
|
AS_END_RECT_TRACKING,
|
|
|
|
// Window definitions
|
|
AS_SHOW_WINDOW,
|
|
AS_HIDE_WINDOW,
|
|
AS_MINIMIZE_WINDOW,
|
|
AS_QUIT_WINDOW,
|
|
AS_SEND_BEHIND,
|
|
AS_SET_LOOK,
|
|
AS_SET_FEEL,
|
|
AS_SET_FLAGS,
|
|
AS_DISABLE_UPDATES,
|
|
AS_ENABLE_UPDATES,
|
|
AS_BEGIN_UPDATE,
|
|
AS_END_UPDATE,
|
|
AS_NEEDS_UPDATE,
|
|
AS_SET_WINDOW_TITLE,
|
|
AS_ADD_TO_SUBSET,
|
|
AS_REMOVE_FROM_SUBSET,
|
|
AS_SET_ALIGNMENT,
|
|
AS_GET_ALIGNMENT,
|
|
AS_GET_WORKSPACES,
|
|
AS_SET_WORKSPACES,
|
|
AS_WINDOW_RESIZE,
|
|
AS_WINDOW_MOVE,
|
|
AS_SET_SIZE_LIMITS,
|
|
AS_ACTIVATE_WINDOW,
|
|
AS_IS_FRONT_WINDOW,
|
|
|
|
// BPicture definitions
|
|
AS_CREATE_PICTURE,
|
|
AS_DELETE_PICTURE,
|
|
AS_CLONE_PICTURE,
|
|
AS_DOWNLOAD_PICTURE,
|
|
|
|
// Font-related server communications
|
|
AS_SET_SYSTEM_FONT,
|
|
AS_GET_SYSTEM_FONTS,
|
|
AS_GET_SYSTEM_DEFAULT_FONT,
|
|
AS_SYSTEM_FONT_CHANGED,
|
|
|
|
AS_GET_FONT_LIST_REVISION,
|
|
AS_GET_FAMILY_AND_STYLES,
|
|
|
|
AS_GET_FAMILY_AND_STYLE,
|
|
AS_GET_FAMILY_AND_STYLE_IDS,
|
|
AS_GET_FONT_BOUNDING_BOX,
|
|
AS_GET_TUNED_COUNT,
|
|
AS_GET_TUNED_INFO,
|
|
AS_GET_FONT_HEIGHT,
|
|
AS_GET_FONT_FILE_FORMAT,
|
|
AS_GET_EXTRA_FONT_FLAGS,
|
|
|
|
AS_GET_STRING_WIDTHS,
|
|
AS_GET_EDGES,
|
|
AS_GET_ESCAPEMENTS,
|
|
AS_GET_ESCAPEMENTS_AS_FLOATS,
|
|
AS_GET_BOUNDINGBOXES_CHARS,
|
|
AS_GET_BOUNDINGBOXES_STRING,
|
|
AS_GET_BOUNDINGBOXES_STRINGS,
|
|
AS_GET_HAS_GLYPHS,
|
|
AS_GET_GLYPH_SHAPES,
|
|
AS_GET_TRUNCATED_STRINGS,
|
|
|
|
// Screen methods
|
|
AS_VALID_SCREEN_ID,
|
|
AS_GET_NEXT_SCREEN_ID,
|
|
AS_SCREEN_GET_MODE,
|
|
AS_SCREEN_SET_MODE,
|
|
AS_PROPOSE_MODE,
|
|
AS_GET_MODE_LIST,
|
|
AS_GET_SCREEN_FRAME,
|
|
|
|
AS_GET_PIXEL_CLOCK_LIMITS,
|
|
AS_GET_TIMING_CONSTRAINTS,
|
|
|
|
AS_SCREEN_GET_COLORMAP,
|
|
AS_GET_DESKTOP_COLOR,
|
|
AS_SET_DESKTOP_COLOR,
|
|
AS_GET_SCREEN_ID_FROM_WINDOW,
|
|
|
|
AS_READ_BITMAP,
|
|
|
|
AS_GET_RETRACE_SEMAPHORE,
|
|
AS_GET_ACCELERANT_INFO,
|
|
AS_GET_MONITOR_INFO,
|
|
AS_GET_FRAME_BUFFER_CONFIG,
|
|
|
|
AS_SET_DPMS,
|
|
AS_GET_DPMS_STATE,
|
|
AS_GET_DPMS_CAPABILITIES,
|
|
|
|
// Misc stuff
|
|
AS_GET_ACCELERANT_PATH,
|
|
AS_GET_DRIVER_PATH,
|
|
|
|
// Global function call defs
|
|
AS_SET_UI_COLORS,
|
|
AS_SET_UI_COLOR,
|
|
AS_SET_DECORATOR,
|
|
AS_GET_DECORATOR,
|
|
AS_R5_SET_DECORATOR,
|
|
AS_COUNT_DECORATORS,
|
|
AS_GET_DECORATOR_NAME,
|
|
|
|
AS_COUNT_WORKSPACES,
|
|
AS_CURRENT_WORKSPACE,
|
|
AS_ACTIVATE_WORKSPACE,
|
|
AS_SET_WORKSPACE_LAYOUT,
|
|
AS_GET_WORKSPACE_LAYOUT,
|
|
AS_GET_SCROLLBAR_INFO,
|
|
AS_SET_SCROLLBAR_INFO,
|
|
AS_GET_MENU_INFO,
|
|
AS_SET_MENU_INFO,
|
|
AS_IDLE_TIME,
|
|
AS_SET_MOUSE_MODE,
|
|
AS_GET_MOUSE_MODE,
|
|
AS_SET_FOCUS_FOLLOWS_MOUSE_MODE,
|
|
AS_GET_FOCUS_FOLLOWS_MOUSE_MODE,
|
|
AS_SET_ACCEPT_FIRST_CLICK,
|
|
AS_GET_ACCEPT_FIRST_CLICK,
|
|
AS_GET_MOUSE,
|
|
AS_SET_DECORATOR_SETTINGS,
|
|
AS_GET_DECORATOR_SETTINGS,
|
|
AS_GET_SHOW_ALL_DRAGGERS,
|
|
AS_SET_SHOW_ALL_DRAGGERS,
|
|
|
|
// Subpixel antialiasing & hinting
|
|
AS_SET_SUBPIXEL_ANTIALIASING,
|
|
AS_GET_SUBPIXEL_ANTIALIASING,
|
|
AS_SET_HINTING,
|
|
AS_GET_HINTING,
|
|
AS_SET_SUBPIXEL_AVERAGE_WEIGHT,
|
|
AS_GET_SUBPIXEL_AVERAGE_WEIGHT,
|
|
AS_SET_SUBPIXEL_ORDERING,
|
|
AS_GET_SUBPIXEL_ORDERING,
|
|
|
|
// Graphics calls
|
|
AS_SET_HIGH_COLOR,
|
|
AS_SET_LOW_COLOR,
|
|
AS_SET_VIEW_COLOR,
|
|
|
|
AS_STROKE_ARC,
|
|
AS_STROKE_BEZIER,
|
|
AS_STROKE_ELLIPSE,
|
|
AS_STROKE_LINE,
|
|
AS_STROKE_LINEARRAY,
|
|
AS_STROKE_POLYGON,
|
|
AS_STROKE_RECT,
|
|
AS_STROKE_ROUNDRECT,
|
|
AS_STROKE_SHAPE,
|
|
AS_STROKE_TRIANGLE,
|
|
|
|
AS_FILL_ARC,
|
|
AS_FILL_ARC_GRADIENT,
|
|
AS_FILL_BEZIER,
|
|
AS_FILL_BEZIER_GRADIENT,
|
|
AS_FILL_ELLIPSE,
|
|
AS_FILL_ELLIPSE_GRADIENT,
|
|
AS_FILL_POLYGON,
|
|
AS_FILL_POLYGON_GRADIENT,
|
|
AS_FILL_RECT,
|
|
AS_FILL_RECT_GRADIENT,
|
|
AS_FILL_REGION,
|
|
AS_FILL_REGION_GRADIENT,
|
|
AS_FILL_ROUNDRECT,
|
|
AS_FILL_ROUNDRECT_GRADIENT,
|
|
AS_FILL_SHAPE,
|
|
AS_FILL_SHAPE_GRADIENT,
|
|
AS_FILL_TRIANGLE,
|
|
AS_FILL_TRIANGLE_GRADIENT,
|
|
|
|
AS_DRAW_STRING,
|
|
AS_DRAW_STRING_WITH_DELTA,
|
|
|
|
AS_SYNC,
|
|
|
|
AS_VIEW_CREATE,
|
|
AS_VIEW_DELETE,
|
|
AS_VIEW_CREATE_ROOT,
|
|
AS_VIEW_SHOW,
|
|
AS_VIEW_HIDE,
|
|
AS_VIEW_MOVE,
|
|
AS_VIEW_RESIZE,
|
|
AS_VIEW_DRAW,
|
|
|
|
// View/Layer definitions
|
|
AS_VIEW_GET_COORD,
|
|
AS_VIEW_SET_FLAGS,
|
|
AS_VIEW_SET_ORIGIN,
|
|
AS_VIEW_GET_ORIGIN,
|
|
AS_VIEW_RESIZE_MODE,
|
|
AS_VIEW_BEGIN_RECT_TRACK,
|
|
AS_VIEW_END_RECT_TRACK,
|
|
AS_VIEW_DRAG_RECT,
|
|
AS_VIEW_DRAG_IMAGE,
|
|
AS_VIEW_SCROLL,
|
|
AS_VIEW_SET_LINE_MODE,
|
|
AS_VIEW_GET_LINE_MODE,
|
|
AS_VIEW_PUSH_STATE,
|
|
AS_VIEW_POP_STATE,
|
|
AS_VIEW_SET_SCALE,
|
|
AS_VIEW_GET_SCALE,
|
|
AS_VIEW_SET_DRAWING_MODE,
|
|
AS_VIEW_GET_DRAWING_MODE,
|
|
AS_VIEW_SET_BLENDING_MODE,
|
|
AS_VIEW_GET_BLENDING_MODE,
|
|
AS_VIEW_SET_PEN_LOC,
|
|
AS_VIEW_GET_PEN_LOC,
|
|
AS_VIEW_SET_PEN_SIZE,
|
|
AS_VIEW_GET_PEN_SIZE,
|
|
AS_VIEW_SET_HIGH_COLOR,
|
|
AS_VIEW_SET_LOW_COLOR,
|
|
AS_VIEW_SET_VIEW_COLOR,
|
|
AS_VIEW_GET_HIGH_COLOR,
|
|
AS_VIEW_GET_LOW_COLOR,
|
|
AS_VIEW_GET_VIEW_COLOR,
|
|
AS_VIEW_PRINT_ALIASING,
|
|
AS_VIEW_CLIP_TO_PICTURE,
|
|
AS_VIEW_GET_CLIP_REGION,
|
|
AS_VIEW_DRAW_BITMAP,
|
|
AS_VIEW_SET_EVENT_MASK,
|
|
AS_VIEW_SET_MOUSE_EVENT_MASK,
|
|
|
|
AS_VIEW_DRAW_STRING,
|
|
AS_VIEW_SET_CLIP_REGION,
|
|
AS_VIEW_LINE_ARRAY,
|
|
AS_VIEW_BEGIN_PICTURE,
|
|
AS_VIEW_APPEND_TO_PICTURE,
|
|
AS_VIEW_END_PICTURE,
|
|
AS_VIEW_COPY_BITS,
|
|
AS_VIEW_DRAW_PICTURE,
|
|
AS_VIEW_INVALIDATE_RECT,
|
|
AS_VIEW_INVALIDATE_REGION,
|
|
AS_VIEW_INVERT_RECT,
|
|
AS_VIEW_MOVE_TO,
|
|
AS_VIEW_RESIZE_TO,
|
|
AS_VIEW_SET_STATE,
|
|
AS_VIEW_SET_FONT_STATE,
|
|
AS_VIEW_GET_STATE,
|
|
AS_VIEW_SET_VIEW_BITMAP,
|
|
AS_VIEW_SET_PATTERN,
|
|
AS_SET_CURRENT_VIEW,
|
|
|
|
// BDirectWindow/BWindowScreen codes
|
|
AS_DIRECT_WINDOW_GET_SYNC_DATA,
|
|
AS_DIRECT_WINDOW_SET_FULLSCREEN,
|
|
AS_DIRECT_SCREEN_LOCK,
|
|
|
|
AS_LAST_CODE
|
|
};
|
|
|
|
// bitmap allocation flags
|
|
enum {
|
|
kAllocator = 0x1,
|
|
kFramebuffer = 0x2,
|
|
kHeap = 0x4,
|
|
kNewAllocatorArea = 0x8,
|
|
};
|
|
|
|
#endif // APP_SERVER_PROTOCOL_H
|