Subversion Repositories Kolibri OS

Rev

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

Rev Author Line No. Line
6282 serge 1
typedef struct tag_object  kobj_t;
5352 serge 2
typedef struct tag_display display_t;
3
 
6282 serge 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
 
5352 serge 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
 
6282 serge 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
 
6336 serge 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
 
5352 serge 48
struct tag_display
49
{
50
    u32   x;
51
    u32   y;
52
    u32   width;
53
    u32   height;
54
    u32   bpp;
55
    u32   vrefresh;
6282 serge 56
    struct kos_framebuffer *current_lfb;
5352 serge 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