Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.  
  2. typedef struct tag_display display_t;
  3.  
  4. typedef struct
  5. {
  6.     kobj_t     header;
  7.  
  8.     uint32_t  *data;
  9.     uint32_t   hot_x;
  10.     uint32_t   hot_y;
  11.  
  12.     struct list_head   list;
  13.     void      *cobj;
  14. }cursor_t;
  15.  
  16. #define KMS_CURSOR_WIDTH 64
  17. #define KMS_CURSOR_HEIGHT 64
  18.  
  19. struct tag_display
  20. {
  21.     u32   x;
  22.     u32   y;
  23.     u32   width;
  24.     u32   height;
  25.     u32   bpp;
  26.     u32   vrefresh;
  27.     void *lfb;
  28.     u32   lfb_pitch;
  29.  
  30.     struct rw_semaphore win_map_lock;
  31.     void *win_map;
  32.     u32   win_map_pitch;
  33.     u32   win_map_size;
  34.  
  35.     u32   supported_modes;
  36.     struct drm_device    *ddev;
  37.     struct drm_connector *connector;
  38.     struct drm_crtc      *crtc;
  39.  
  40.     struct list_head   cursors;
  41.  
  42.     cursor_t   *cursor;
  43.     int       (*init_cursor)(cursor_t*);
  44.     cursor_t* (__stdcall *select_cursor)(cursor_t*);
  45.     void      (*show_cursor)(int show);
  46.     void      (__stdcall *move_cursor)(cursor_t *cursor, int x, int y);
  47.     void      (__stdcall *restore_cursor)(int x, int y);
  48.     void      (*disable_mouse)(void);
  49.     u32  mask_seqno;
  50.     u32  check_mouse;
  51.     u32  check_m_pixel;
  52.  
  53.     u32  bytes_per_pixel;
  54. };
  55.  
  56. extern display_t *os_display;
  57.  
  58. int   init_cursor(cursor_t *cursor);
  59. void  __stdcall restore_cursor(int x, int y);
  60.