1
2009-11-14 Colin D Bennet <colin@gibibit.com>
2
2009-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4
Support for gfxterm in a window.
6
* include/grub/gfxterm.h: New file.
7
* include/grub/video.h (struct grub_video_rect): New declaration.
8
(grub_video_rect_t): Likewise.
9
* term/gfxterm.c (struct grub_gfxterm_window): New type.
10
(refcount): New variable.
11
(render_target): Likewise.
13
(repaint_callback): Likewise.
14
(grub_virtual_screen_setup): Use 'render_target'.
15
(init_window): New function.
16
(grub_gfxterm_init_window): Likewise.
17
(grub_gfxterm_init): Check reference counter.
19
(destroy_window): New function.
20
(grub_gfxterm_destroy_window): Likewise.
21
(grub_gfxterm_fini): Check reference counter.
23
(redraw_screen_rect): Restore viewport.
24
Use 'render_target' and 'window'.
25
Call 'repaint_callback'.
26
(write_char): Use 'render_target'.
27
(draw_cursor): Likewise.
28
(scroll_up): Restore viewport.
29
Use 'render_target' and 'window'.
30
Call 'repaint_callback'.
31
(grub_gfxterm_cls): Likewise.
32
(grub_gfxterm_refresh): Use 'window'.
33
(grub_gfxterm_set_repaint_callback): New function.
34
(grub_gfxterm_background_image_cmd): Use 'window'.
35
(grub_gfxterm_get_term): New function.
36
(GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.