2009-09-26 16:08:05 +02:00
|
|
|
|
2009-11-02 21:36:12 +01:00
|
|
|
typedef struct tag_object kobj_t;
|
|
|
|
typedef struct tag_display display_t;
|
|
|
|
|
|
|
|
struct tag_object
|
|
|
|
{
|
|
|
|
uint32_t magic;
|
|
|
|
void *destroy;
|
|
|
|
kobj_t *fd;
|
|
|
|
kobj_t *bk;
|
|
|
|
uint32_t pid;
|
|
|
|
};
|
2009-09-26 16:08:05 +02:00
|
|
|
|
|
|
|
typedef struct
|
|
|
|
{
|
2009-11-02 21:36:12 +01:00
|
|
|
kobj_t header;
|
|
|
|
|
|
|
|
uint32_t *data;
|
|
|
|
uint32_t hot_x;
|
|
|
|
uint32_t hot_y;
|
|
|
|
|
2010-02-12 14:55:15 +01:00
|
|
|
struct list_head list;
|
|
|
|
struct radeon_bo *robj;
|
2009-11-02 21:36:12 +01:00
|
|
|
}cursor_t;
|
|
|
|
|
|
|
|
#define CURSOR_WIDTH 64
|
|
|
|
#define CURSOR_HEIGHT 64
|
|
|
|
|
|
|
|
struct tag_display
|
|
|
|
{
|
|
|
|
int x;
|
|
|
|
int y;
|
|
|
|
int width;
|
|
|
|
int height;
|
|
|
|
int bpp;
|
|
|
|
int vrefresh;
|
|
|
|
int pitch;
|
|
|
|
int lfb;
|
|
|
|
|
|
|
|
int supported_modes;
|
|
|
|
struct drm_device *ddev;
|
|
|
|
struct drm_connector *connector;
|
|
|
|
struct drm_crtc *crtc;
|
2009-09-26 16:08:05 +02:00
|
|
|
|
2009-11-02 21:36:12 +01:00
|
|
|
struct list_head cursors;
|
2009-09-26 16:08:05 +02:00
|
|
|
|
|
|
|
cursor_t *cursor;
|
2009-11-02 21:36:12 +01:00
|
|
|
int (*init_cursor)(cursor_t*);
|
|
|
|
cursor_t* (__stdcall *select_cursor)(cursor_t*);
|
|
|
|
void (*show_cursor)(int show);
|
|
|
|
void (__stdcall *move_cursor)(cursor_t *cursor, int x, int y);
|
|
|
|
void (__stdcall *restore_cursor)(int x, int y);
|
2009-12-10 20:32:56 +01:00
|
|
|
void (*disable_mouse)(void);
|
2012-11-03 03:41:31 +01:00
|
|
|
u32 mask_seqno;
|
|
|
|
u32 check_mouse;
|
|
|
|
u32 check_m_pixel;
|
|
|
|
|
2009-11-02 21:36:12 +01:00
|
|
|
};
|
2009-09-26 16:08:05 +02:00
|
|
|
|
2009-11-02 21:36:12 +01:00
|
|
|
extern display_t *rdisplay;
|
2009-09-26 16:08:05 +02:00
|
|
|
|
2009-11-02 21:36:12 +01:00
|
|
|
int init_cursor(cursor_t *cursor);
|
|
|
|
void __stdcall restore_cursor(int x, int y);
|