Subversion Repositories Kolibri OS

Rev

Rev 5352 | Go to most recent revision | 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
 
5352 serge 43
struct tag_display
44
{
45
    u32   x;
46
    u32   y;
47
    u32   width;
48
    u32   height;
49
    u32   bpp;
50
    u32   vrefresh;
6282 serge 51
    struct kos_framebuffer *current_lfb;
5352 serge 52
    u32   lfb_pitch;
53
 
54
    struct rw_semaphore win_map_lock;
55
    void *win_map;
56
    u32   win_map_pitch;
57
    u32   win_map_size;
58
 
59
    u32   supported_modes;
60
    struct drm_device    *ddev;
61
    struct drm_connector *connector;
62
    struct drm_crtc      *crtc;
63
 
64
    struct list_head   cursors;
65
 
66
    cursor_t   *cursor;
67
    int       (*init_cursor)(cursor_t*);
68
    cursor_t* (__stdcall *select_cursor)(cursor_t*);
69
    void      (*show_cursor)(int show);
70
    void      (__stdcall *move_cursor)(cursor_t *cursor, int x, int y);
71
    void      (__stdcall *restore_cursor)(int x, int y);
72
    void      (*disable_mouse)(void);
73
    u32  mask_seqno;
74
    u32  check_mouse;
75
    u32  check_m_pixel;
76
 
77
    u32  bytes_per_pixel;
78
};
79
 
80
extern display_t *os_display;
81