Subversion Repositories Kolibri OS

Rev

Rev 6282 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. typedef struct tag_object  kobj_t;
  2. typedef struct tag_display display_t;
  3.  
  4. struct tag_object
  5. {
  6.     uint32_t   magic;
  7.     void      *destroy;
  8.     kobj_t    *fd;
  9.     kobj_t    *bk;
  10.     uint32_t   pid;
  11. };
  12.  
  13. typedef struct
  14. {
  15.     kobj_t     header;
  16.  
  17.     uint32_t  *data;
  18.     uint32_t   hot_x;
  19.     uint32_t   hot_y;
  20.  
  21.     struct list_head   list;
  22.     void      *cobj;
  23. }cursor_t;
  24.  
  25. #define KMS_CURSOR_WIDTH 64
  26. #define KMS_CURSOR_HEIGHT 64
  27.  
  28. struct kos_framebuffer
  29. {
  30.     struct list_head list;
  31.     uint32_t    magic;
  32.     uint32_t    handle;
  33.     void        *destructor;
  34.  
  35.     uint32_t    width;
  36.     uint32_t    height;
  37.     uint32_t    pitch;
  38.     uint32_t    format;
  39.     void        *private;
  40.     uint32_t    pde[8];
  41. };
  42.  
  43. int fake_framebuffer_create();
  44. void set_fake_framebuffer();
  45. int kolibri_framebuffer_init(void *param);
  46. void kolibri_framebuffer_update(struct drm_device *dev, struct kos_framebuffer *kfb);
  47.  
  48. struct tag_display
  49. {
  50.     u32   x;
  51.     u32   y;
  52.     u32   width;
  53.     u32   height;
  54.     u32   bpp;
  55.     u32   vrefresh;
  56.     struct kos_framebuffer *current_lfb;
  57.     u32   lfb_pitch;
  58.  
  59.     struct rw_semaphore win_map_lock;
  60.     void *win_map;
  61.     u32   win_map_pitch;
  62.     u32   win_map_size;
  63.  
  64.     u32   supported_modes;
  65.     struct drm_device    *ddev;
  66.     struct drm_connector *connector;
  67.     struct drm_crtc      *crtc;
  68.  
  69.     struct list_head   cursors;
  70.  
  71.     cursor_t   *cursor;
  72.     int       (*init_cursor)(cursor_t*);
  73.     cursor_t* (__stdcall *select_cursor)(cursor_t*);
  74.     void      (*show_cursor)(int show);
  75.     void      (__stdcall *move_cursor)(cursor_t *cursor, int x, int y);
  76.     void      (__stdcall *restore_cursor)(int x, int y);
  77.     void      (*disable_mouse)(void);
  78.     u32  mask_seqno;
  79.     u32  check_mouse;
  80.     u32  check_m_pixel;
  81.  
  82.     u32  bytes_per_pixel;
  83. };
  84.  
  85. extern display_t *os_display;
  86.  
  87.  
  88.