2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
[grub2/jjazz.git] / include / grub / fbblit.h
blobaf97dfb97181bc86a1d0cdb6b8453c17c7ed1583
1 /*
2 * GRUB -- GRand Unified Bootloader
3 * Copyright (C) 2006,2007,2008 Free Software Foundation, Inc.
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.
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.
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/>.
19 #ifndef GRUB_FBBLIT_HEADER
20 #define GRUB_FBBLIT_HEADER 1
22 /* NOTE: This header is private header for fb driver and should not be used
23 in other parts of the code. */
25 struct grub_video_fbblit_info;
27 void
28 grub_video_fbblit_replace (struct grub_video_fbblit_info *dst,
29 struct grub_video_fbblit_info *src,
30 int x, int y, int width, int height,
31 int offset_x, int offset_y);
33 void
34 grub_video_fbblit_replace_directN (struct grub_video_fbblit_info *dst,
35 struct grub_video_fbblit_info *src,
36 int x, int y, int width, int height,
37 int offset_x, int offset_y);
39 void
40 grub_video_fbblit_replace_BGRX8888_RGBX8888 (struct grub_video_fbblit_info *dst,
41 struct grub_video_fbblit_info *src,
42 int x, int y, int width, int height,
43 int offset_x, int offset_y);
45 void
46 grub_video_fbblit_replace_BGRX8888_RGB888 (struct grub_video_fbblit_info *dst,
47 struct grub_video_fbblit_info *src,
48 int x, int y,
49 int width, int height,
50 int offset_x, int offset_y);
52 void
53 grub_video_fbblit_replace_BGR888_RGBX8888 (struct grub_video_fbblit_info *dst,
54 struct grub_video_fbblit_info *src,
55 int x, int y,
56 int width, int height,
57 int offset_x, int offset_y);
59 void
60 grub_video_fbblit_replace_BGR888_RGB888 (struct grub_video_fbblit_info *dst,
61 struct grub_video_fbblit_info *src,
62 int x, int y,
63 int width, int height,
64 int offset_x, int offset_y);
66 void
67 grub_video_fbblit_replace_RGBX8888_RGB888 (struct grub_video_fbblit_info *dst,
68 struct grub_video_fbblit_info *src,
69 int x, int y,
70 int width, int height,
71 int offset_x, int offset_y);
73 void
74 grub_video_fbblit_replace_RGB888_RGBX8888 (struct grub_video_fbblit_info *dst,
75 struct grub_video_fbblit_info *src,
76 int x, int y,
77 int width, int height,
78 int offset_x, int offset_y);
80 void
81 grub_video_fbblit_replace_index_RGBX8888 (struct grub_video_fbblit_info *dst,
82 struct grub_video_fbblit_info *src,
83 int x, int y,
84 int width, int height,
85 int offset_x, int offset_y);
87 void
88 grub_video_fbblit_replace_index_RGB888 (struct grub_video_fbblit_info *dst,
89 struct grub_video_fbblit_info *src,
90 int x, int y, int width, int height,
91 int offset_x, int offset_y);
93 void
94 grub_video_fbblit_blend (struct grub_video_fbblit_info *dst,
95 struct grub_video_fbblit_info *src,
96 int x, int y, int width, int height,
97 int offset_x, int offset_y);
99 void
100 grub_video_fbblit_blend_BGRA8888_RGBA8888 (struct grub_video_fbblit_info *dst,
101 struct grub_video_fbblit_info *src,
102 int x, int y,
103 int width, int height,
104 int offset_x, int offset_y);
106 void
107 grub_video_fbblit_blend_BGR888_RGBA8888 (struct grub_video_fbblit_info *dst,
108 struct grub_video_fbblit_info *src,
109 int x, int y,
110 int width, int height,
111 int offset_x, int offset_y);
113 void
114 grub_video_fbblit_blend_RGBA8888_RGBA8888 (struct grub_video_fbblit_info *dst,
115 struct grub_video_fbblit_info *src,
116 int x, int y,
117 int width, int height,
118 int offset_x, int offset_y);
120 void
121 grub_video_fbblit_blend_RGB888_RGBA8888 (struct grub_video_fbblit_info *dst,
122 struct grub_video_fbblit_info *src,
123 int x, int y,
124 int width, int height,
125 int offset_x, int offset_y);
127 void
128 grub_video_fbblit_blend_index_RGBA8888 (struct grub_video_fbblit_info *dst,
129 struct grub_video_fbblit_info *src,
130 int x, int y,
131 int width, int height,
132 int offset_x, int offset_y);
134 void
135 grub_video_fbblit_replace_32bit_1bit (struct grub_video_fbblit_info *dst,
136 struct grub_video_fbblit_info *src,
137 int x, int y,
138 int width, int height,
139 int offset_x, int offset_y);
141 void
142 grub_video_fbblit_replace_24bit_1bit (struct grub_video_fbblit_info *dst,
143 struct grub_video_fbblit_info *src,
144 int x, int y,
145 int width, int height,
146 int offset_x, int offset_y);
148 void
149 grub_video_fbblit_replace_16bit_1bit (struct grub_video_fbblit_info *dst,
150 struct grub_video_fbblit_info *src,
151 int x, int y,
152 int width, int height,
153 int offset_x, int offset_y);
155 void
156 grub_video_fbblit_replace_8bit_1bit (struct grub_video_fbblit_info *dst,
157 struct grub_video_fbblit_info *src,
158 int x, int y,
159 int width, int height,
160 int offset_x, int offset_y);
162 void
163 grub_video_fbblit_blend_XXXA8888_1bit (struct grub_video_fbblit_info *dst,
164 struct grub_video_fbblit_info *src,
165 int x, int y,
166 int width, int height,
167 int offset_x, int offset_y);
169 void
170 grub_video_fbblit_blend_XXX888_1bit (struct grub_video_fbblit_info *dst,
171 struct grub_video_fbblit_info *src,
172 int x, int y,
173 int width, int height,
174 int offset_x, int offset_y);
176 void
177 grub_video_fbblit_blend_XXX565_1bit (struct grub_video_fbblit_info *dst,
178 struct grub_video_fbblit_info *src,
179 int x, int y,
180 int width, int height,
181 int offset_x, int offset_y);
182 #endif /* ! GRUB_FBBLIT_HEADER */