~hamo/ubuntu/precise/grub2/grub2.hi_res

« back to all changes in this revision

Viewing changes to include/grub/video_fb.h

ImportĀ upstreamĀ versionĀ 1.97~beta3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 *  GRUB  --  GRand Unified Bootloader
 
3
 *  Copyright (C) 2005,2006,2007,2008  Free Software Foundation, Inc.
 
4
 *
 
5
 *  GRUB is free software: you can redistribute it and/or modify
 
6
 *  it under the terms of the GNU General Public License as published by
 
7
 *  the Free Software Foundation, either version 3 of the License, or
 
8
 *  (at your option) any later version.
 
9
 *
 
10
 *  GRUB is distributed in the hope that it will be useful,
 
11
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 
12
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
13
 *  GNU General Public License for more details.
 
14
 *
 
15
 *  You should have received a copy of the GNU General Public License
 
16
 *  along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
 
17
 */
 
18
 
 
19
#ifndef GRUB_VIDEO_FB_HEADER
 
20
#define GRUB_VIDEO_FB_HEADER    1
 
21
 
 
22
#include <grub/symbol.h>
 
23
#include <grub/types.h>
 
24
#include <grub/err.h>
 
25
#include <grub/video.h>
 
26
 
 
27
/* FB module internal prototype (should not be used from elsewhere).  */
 
28
 
 
29
struct grub_video_fbblit_info;
 
30
 
 
31
struct grub_video_fbrender_target;
 
32
 
 
33
#define GRUB_VIDEO_FBSTD_NUMCOLORS 16
 
34
extern struct grub_video_palette_data grub_video_fbstd_colors[GRUB_VIDEO_FBSTD_NUMCOLORS];
 
35
 
 
36
grub_err_t
 
37
grub_video_fb_init (void);
 
38
 
 
39
grub_err_t
 
40
grub_video_fb_fini (void);
 
41
 
 
42
grub_err_t
 
43
grub_video_fb_get_info (struct grub_video_mode_info *mode_info);
 
44
 
 
45
grub_err_t
 
46
grub_video_fb_get_palette (unsigned int start, unsigned int count,
 
47
                           struct grub_video_palette_data *palette_data);
 
48
grub_err_t
 
49
grub_video_fb_set_palette (unsigned int start, unsigned int count,
 
50
                           struct grub_video_palette_data *palette_data);
 
51
grub_err_t
 
52
grub_video_fb_set_viewport (unsigned int x, unsigned int y,
 
53
                            unsigned int width, unsigned int height);
 
54
grub_err_t
 
55
grub_video_fb_get_viewport (unsigned int *x, unsigned int *y,
 
56
                            unsigned int *width, unsigned int *height);
 
57
 
 
58
grub_video_color_t
 
59
grub_video_fb_map_color (grub_uint32_t color_name);
 
60
 
 
61
grub_video_color_t
 
62
grub_video_fb_map_rgb (grub_uint8_t red, grub_uint8_t green,
 
63
                       grub_uint8_t blue);
 
64
 
 
65
grub_video_color_t
 
66
grub_video_fb_map_rgba (grub_uint8_t red, grub_uint8_t green,
 
67
                        grub_uint8_t blue, grub_uint8_t alpha);
 
68
 
 
69
grub_err_t
 
70
grub_video_fb_unmap_color (grub_video_color_t color,
 
71
                           grub_uint8_t *red, grub_uint8_t *green,
 
72
                           grub_uint8_t *blue, grub_uint8_t *alpha);
 
73
 
 
74
void
 
75
grub_video_fb_unmap_color_int (struct grub_video_fbblit_info * source,
 
76
                               grub_video_color_t color,
 
77
                               grub_uint8_t *red, grub_uint8_t *green,
 
78
                               grub_uint8_t *blue, grub_uint8_t *alpha);
 
79
 
 
80
grub_err_t
 
81
grub_video_fb_fill_rect (grub_video_color_t color, int x, int y,
 
82
                         unsigned int width, unsigned int height);
 
83
 
 
84
grub_err_t
 
85
grub_video_fb_blit_bitmap (struct grub_video_bitmap *bitmap,
 
86
                           enum grub_video_blit_operators oper, int x, int y,
 
87
                           int offset_x, int offset_y,
 
88
                           unsigned int width, unsigned int height);
 
89
 
 
90
grub_err_t
 
91
grub_video_fb_blit_render_target (struct grub_video_fbrender_target *source,
 
92
                                   enum grub_video_blit_operators oper,
 
93
                                   int x, int y, int offset_x, int offset_y,
 
94
                                  unsigned int width, unsigned int height);
 
95
 
 
96
grub_err_t
 
97
grub_video_fb_scroll (grub_video_color_t color, int dx, int dy);
 
98
 
 
99
grub_err_t
 
100
grub_video_fb_create_render_target (struct grub_video_fbrender_target **result,
 
101
                                    unsigned int width, unsigned int height,
 
102
                                    unsigned int mode_type __attribute__ ((unused)));
 
103
 
 
104
grub_err_t
 
105
grub_video_fb_create_render_target_from_pointer (struct grub_video_fbrender_target **result,
 
106
                                                 const struct grub_video_mode_info *mode_info,
 
107
                                                 void *ptr);
 
108
 
 
109
grub_err_t
 
110
grub_video_fb_delete_render_target (struct grub_video_fbrender_target *target);
 
111
 
 
112
grub_err_t
 
113
grub_video_fb_get_active_render_target (struct grub_video_fbrender_target **target);
 
114
 
 
115
grub_err_t
 
116
grub_video_fb_set_active_render_target (struct grub_video_fbrender_target *target);
 
117
 
 
118
#endif /* ! GRUB_VIDEO_FB_HEADER */