diff options
Diffstat (limited to 'xorg-server/hw/kdrive/ephyr/hostx.h')
-rw-r--r-- | xorg-server/hw/kdrive/ephyr/hostx.h | 104 |
1 files changed, 20 insertions, 84 deletions
diff --git a/xorg-server/hw/kdrive/ephyr/hostx.h b/xorg-server/hw/kdrive/ephyr/hostx.h index 04b4ad081..f2350efba 100644 --- a/xorg-server/hw/kdrive/ephyr/hostx.h +++ b/xorg-server/hw/kdrive/ephyr/hostx.h @@ -28,6 +28,8 @@ #include <X11/X.h> #include <X11/Xmd.h> +#include <xcb/xcb.h> +#include "ephyr.h" #define EPHYR_WANT_DEBUG 0 @@ -43,69 +45,12 @@ #endif typedef struct EphyrHostXVars EphyrHostXVars; -typedef struct EphyrHostXEvent EphyrHostXEvent; -typedef void *EphyrScreenInfo; -typedef enum EphyrHostXEventType { - EPHYR_EV_MOUSE_MOTION, - EPHYR_EV_MOUSE_PRESS, - EPHYR_EV_MOUSE_RELEASE, - EPHYR_EV_KEY_PRESS, - EPHYR_EV_KEY_RELEASE, - EPHYR_EV_EXPOSE, - EPHYR_EV_CONFIGURE, -} EphyrHostXEventType; - -/* I can't believe it's not a KeySymsRec. */ + typedef struct { int minKeyCode; int maxKeyCode; - int mapWidth; - CARD32 *map; } EphyrKeySyms; -struct EphyrHostXEvent { - EphyrHostXEventType type; - - union { - struct mouse_motion { - int x; - int y; - int screen; - int window; - } mouse_motion; - - struct mouse_down { - int button_num; - } mouse_down; - - struct mouse_up { - int button_num; - } mouse_up; - - struct key_up { - int scancode; - } key_up; - - struct key_down { - int scancode; - } key_down; - - struct expose { - int window; - } expose; - - struct configure { - int width; - int height; - int screen; - int window; - } configure; - - } data; - - int key_state; -}; - typedef struct { VisualID visualid; int screen; @@ -133,13 +78,13 @@ typedef struct { } EphyrRect; int - hostx_want_screen_size(EphyrScreenInfo screen, int *width, int *height); +hostx_want_screen_size(KdScreenInfo *screen, int *width, int *height); int hostx_want_host_cursor(void); void - hostx_use_host_cursor(void); + hostx_use_sw_cursor(void); void hostx_use_fullscreen(void); @@ -148,7 +93,7 @@ int hostx_want_fullscreen(void); int - hostx_want_preexisting_window(EphyrScreenInfo screen); +hostx_want_preexisting_window(KdScreenInfo *screen); void hostx_use_preexisting_window(unsigned long win_id); @@ -166,52 +111,50 @@ int hostx_init(void); void - hostx_add_screen(EphyrScreenInfo screen, unsigned long win_id, int screen_num); +hostx_add_screen(KdScreenInfo *screen, unsigned long win_id, int screen_num); void hostx_set_display_name(char *name); void - hostx_set_screen_number(EphyrScreenInfo screen, int number); +hostx_set_screen_number(KdScreenInfo *screen, int number); void - hostx_set_win_title(EphyrScreenInfo screen, const char *extra_text); +hostx_set_win_title(KdScreenInfo *screen, const char *extra_text); int hostx_get_depth(void); int - hostx_get_server_depth(EphyrScreenInfo screen); - -void - hostx_set_server_depth(EphyrScreenInfo screen, int depth); +hostx_get_server_depth(KdScreenInfo *screen); int - hostx_get_bpp(void *info); +hostx_get_bpp(KdScreenInfo *screen); void - hostx_get_visual_masks(void *info, CARD32 *rmsk, CARD32 *gmsk, CARD32 *bmsk); +hostx_get_visual_masks(KdScreenInfo *screen, + CARD32 *rmsk, CARD32 *gmsk, CARD32 *bmsk); void hostx_set_cmap_entry(unsigned char idx, unsigned char r, unsigned char g, unsigned char b); -void *hostx_screen_init(EphyrScreenInfo screen, +void *hostx_screen_init(KdScreenInfo *screen, int width, int height, int buffer_height, int *bytes_per_line, int *bits_per_pixel); void - -hostx_paint_rect(EphyrScreenInfo screen, +hostx_paint_rect(KdScreenInfo *screen, int sx, int sy, int dx, int dy, int width, int height); void hostx_load_keymap(void); -int - hostx_get_event(EphyrHostXEvent * ev); +xcb_connection_t * +hostx_get_xcbconn(void); -void *hostx_get_display(void); +int +hostx_get_screen(void); int hostx_get_window(int a_screen_number); @@ -220,11 +163,6 @@ int hostx_get_window_attributes(int a_window, EphyrHostWindowAttributes * a_attr); int - -hostx_get_extension_info(const char *a_ext_name, - int *a_major_opcode, - int *a_first_even, int *a_first_error); -int hostx_get_visuals_info(EphyrHostVisualInfo ** a_visuals, int *a_num_entries); int hostx_create_window(int a_screen_number, @@ -238,9 +176,7 @@ int hostx_set_window_geometry(int a_win, EphyrBox * a_geo); int hostx_set_window_bounding_rectangles(int a_window, EphyrRect * a_rects, int a_num_rects); -int hostx_set_window_clipping_rectangles(int a_window, - EphyrRect * a_rects, int a_num_rects); -int hostx_has_xshape(void); +int host_has_extension(xcb_extension_t *extension); #ifdef XF86DRI int hostx_lookup_peer_window(void *a_local_window, |