2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
[grub2/jjazz.git] / include / grub / fbfill.h
blobc85fa12ddcee66873f6c3d31bbaac0fd9da0d9a6
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_FBFILL_HEADER
20 #define GRUB_FBFILL_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 struct grub_video_fbrender_target
29 /* Copy of the screen's mode info structure, except that width, height and
30 mode_type has been re-adjusted to requested render target settings. */
31 struct grub_video_mode_info mode_info;
33 struct
35 unsigned int x;
36 unsigned int y;
37 unsigned int width;
38 unsigned int height;
39 } viewport;
41 /* Indicates whether the data has been allocated by us and must be freed
42 when render target is destroyed. */
43 int is_allocated;
45 /* Pointer to data. Can either be in video card memory or in local host's
46 memory. */
47 grub_uint8_t *data;
50 void
51 grub_video_fbfill (struct grub_video_fbblit_info *dst,
52 grub_video_color_t color, int x, int y,
53 int width, int height);
55 void
56 grub_video_fbfill_direct32 (struct grub_video_fbblit_info *dst,
57 grub_video_color_t color, int x, int y,
58 int width, int height);
60 void
61 grub_video_fbfill_direct24 (struct grub_video_fbblit_info *dst,
62 grub_video_color_t color, int x, int y,
63 int width, int height);
65 void
66 grub_video_fbfill_direct16 (struct grub_video_fbblit_info *dst,
67 grub_video_color_t color, int x, int y,
68 int width, int height);
70 void
71 grub_video_fbfill_direct8 (struct grub_video_fbblit_info *dst,
72 grub_video_color_t color, int x, int y,
73 int width, int height);
75 #endif /* ! GRUB_FBFILL_HEADER */