Subversion Repositories HelenOS

Rev

Rev 4338 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4338 Rev 4348
Line 34... Line 34...
34
 
34
 
35
#ifndef __SCREENBUFFER_H__
35
#ifndef __SCREENBUFFER_H__
36
#define __SCREENBUFFER_H__
36
#define __SCREENBUFFER_H__
37
 
37
 
38
#include <stdint.h>
38
#include <stdint.h>
-
 
39
#include <sys/types.h>
39
 
40
 
40
#define DEFAULT_FOREGROUND 0x0  /**< default console foreground color */
41
#define DEFAULT_FOREGROUND 0x0  /**< default console foreground color */
41
#define DEFAULT_BACKGROUND 0xf0f0f0 /**< default console background color */
42
#define DEFAULT_BACKGROUND 0xf0f0f0 /**< default console background color */
42
 
43
 
43
typedef struct {
44
typedef struct {
Line 68... Line 69...
68
    } a;
69
    } a;
69
} attrs_t;
70
} attrs_t;
70
 
71
 
71
/** One field on screen. It contain one character and its attributes. */
72
/** One field on screen. It contain one character and its attributes. */
72
typedef struct {
73
typedef struct {
73
    char character;         /**< Character itself */
74
    wchar_t character;      /**< Character itself */
74
    attrs_t attrs;          /**< Character`s attributes */
75
    attrs_t attrs;          /**< Character`s attributes */
75
} keyfield_t;
76
} keyfield_t;
76
 
77
 
77
/** Structure for buffering state of one virtual console.
78
/** Structure for buffering state of one virtual console.
78
 */
79
 */
Line 114... Line 115...
114
        a1.a.r.bg_color == a2.a.r.bg_color;
115
        a1.a.r.bg_color == a2.a.r.bg_color;
115
    }
116
    }
116
}
117
}
117
 
118
 
118
 
119
 
119
void screenbuffer_putchar(screenbuffer_t *scr, char c);
120
void screenbuffer_putchar(screenbuffer_t *scr, wchar_t c);
120
screenbuffer_t *screenbuffer_init(screenbuffer_t *scr, int size_x, int size_y);
121
screenbuffer_t *screenbuffer_init(screenbuffer_t *scr, int size_x, int size_y);
121
 
122
 
122
void screenbuffer_clear(screenbuffer_t *scr);
123
void screenbuffer_clear(screenbuffer_t *scr);
123
void screenbuffer_clear_line(screenbuffer_t *scr, unsigned int line);
124
void screenbuffer_clear_line(screenbuffer_t *scr, unsigned int line);
124
void screenbuffer_copy_buffer(screenbuffer_t *scr, keyfield_t *dest);
125
void screenbuffer_copy_buffer(screenbuffer_t *scr, keyfield_t *dest);