2009-09-26 18:08:05 +04:00
|
|
|
|
2009-11-02 23:36:12 +03: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 18:08:05 +04:00
|
|
|
|
|
|
|
typedef struct
|
|
|
|
{
|
2009-11-02 23:36:12 +03:00
|
|
|
kobj_t header;
|
|
|
|
|
|
|
|
uint32_t *data;
|
|
|
|
uint32_t hot_x;
|
|
|
|
uint32_t hot_y;
|
|
|
|
|
|
|
|
struct list_head list;
|
|
|
|
struct radeon_object *robj;
|
|
|
|
}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 18:08:05 +04:00
|
|
|
|
2009-11-02 23:36:12 +03:00
|
|
|
struct list_head cursors;
|
2009-09-26 18:08:05 +04:00
|
|
|
|
|
|
|
cursor_t *cursor;
|
2009-11-02 23:36:12 +03: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-09-26 18:08:05 +04:00
|
|
|
|
2009-11-02 23:36:12 +03:00
|
|
|
};
|
2009-09-26 18:08:05 +04:00
|
|
|
|
2009-11-02 23:36:12 +03:00
|
|
|
extern display_t *rdisplay;
|
2009-09-26 18:08:05 +04:00
|
|
|
|
2009-11-02 23:36:12 +03:00
|
|
|
int init_cursor(cursor_t *cursor);
|
|
|
|
void __stdcall restore_cursor(int x, int y);
|