summaryrefslogtreecommitdiff
path: root/gpxe/src/hci/mucurses/cursor.h
blob: 16b7d27c27b27ac051a7b4562225bc77112e3e8a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#ifndef CURSOR_H
#define CURSOR_H

/** @file
 *
 * MuCurses cursor implementation specific header file
 *
 */

FILE_LICENCE ( GPL2_OR_LATER );

struct cursor_pos {
	unsigned int y, x;
};

/**
 * Restore cursor position from encoded backup variable
 *
 * @v *win	window on which to operate
 * @v *pos	pointer to struct in which original cursor position is stored
 */
static inline void _restore_curs_pos ( WINDOW *win, struct cursor_pos *pos ) {
	wmove ( win, pos->y, pos->x );
}

/**
 * Store cursor position for later restoration
 *
 * @v *win	window on which to operate
 * @v *pos	pointer to struct in which to store cursor position
 */
static inline void _store_curs_pos ( WINDOW *win, struct cursor_pos *pos ) {
	pos->y = win->curs_y;
	pos->x = win->curs_x;
}

#endif /* CURSOR_H */