2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
Don't compile video modules on yeeloong since video subsystem is part of kernel. * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod, video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h, video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h. * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting. * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR. * include/grub/bitmap_scale.h: Likewise. * include/grub/bufio.h: Likewise. * include/grub/font.h: Likewise. * include/grub/gfxterm.h: Likewise. * include/grub/video.h: Likewise. * include/grub/vbe.h: Don't include video_fb.h. * video/i386/pc/vbe.c: Include video_fb.h. * commands/i386/pc/vbetest.c: Include video.h.
This commit is contained in:
parent
a0ca21c2d2
commit
c140a18037
13 changed files with 168 additions and 112 deletions
20
ChangeLog
20
ChangeLog
|
@ -1,3 +1,23 @@
|
||||||
|
2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
Don't compile video modules on yeeloong since video subsystem is part
|
||||||
|
of kernel.
|
||||||
|
|
||||||
|
* conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
|
||||||
|
video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
|
||||||
|
* conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
|
||||||
|
video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
|
||||||
|
* conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
|
||||||
|
* include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
|
||||||
|
* include/grub/bitmap_scale.h: Likewise.
|
||||||
|
* include/grub/bufio.h: Likewise.
|
||||||
|
* include/grub/font.h: Likewise.
|
||||||
|
* include/grub/gfxterm.h: Likewise.
|
||||||
|
* include/grub/video.h: Likewise.
|
||||||
|
* include/grub/vbe.h: Don't include video_fb.h.
|
||||||
|
* video/i386/pc/vbe.c: Include video_fb.h.
|
||||||
|
* commands/i386/pc/vbetest.c: Include video.h.
|
||||||
|
|
||||||
2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
|
2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
|
||||||
|
|
||||||
* util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
|
* util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
#include <grub/term.h>
|
#include <grub/term.h>
|
||||||
#include <grub/machine/init.h>
|
#include <grub/machine/init.h>
|
||||||
#include <grub/machine/vbe.h>
|
#include <grub/machine/vbe.h>
|
||||||
|
#include <grub/video.h>
|
||||||
#include <grub/err.h>
|
#include <grub/err.h>
|
||||||
#include <grub/i18n.h>
|
#include <grub/i18n.h>
|
||||||
|
|
||||||
|
|
|
@ -621,26 +621,28 @@ sh_mod_SOURCES = script/main.c script/script.c script/execute.c \
|
||||||
sh_mod_CFLAGS = $(COMMON_CFLAGS)
|
sh_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
sh_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
sh_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
|
||||||
|
ifneq (, $(FONT_SOURCE))
|
||||||
|
font/font.c_DEPENDENCIES = ascii.h
|
||||||
|
endif
|
||||||
|
|
||||||
# Common Video Subsystem specific modules.
|
# Common Video Subsystem specific modules.
|
||||||
pkglib_MODULES += video.mod videotest.mod bitmap.mod tga.mod jpeg.mod \
|
# On Yeeloong it's part of kernel
|
||||||
png.mod gfxterm.mod video_fb.mod
|
ifneq ($(platform), yeeloong)
|
||||||
|
|
||||||
# For video.mod.
|
# For video.mod.
|
||||||
|
pkglib_MODULES += video.mod
|
||||||
video_mod_SOURCES = video/video.c
|
video_mod_SOURCES = video/video.c
|
||||||
video_mod_CFLAGS = $(COMMON_CFLAGS)
|
video_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
video_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
video_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
|
||||||
|
pkglib_MODULES += video_fb.mod
|
||||||
video_fb_mod_SOURCES = video/fb/video_fb.c video/fb/fbblit.c \
|
video_fb_mod_SOURCES = video/fb/video_fb.c video/fb/fbblit.c \
|
||||||
video/fb/fbfill.c video/fb/fbutil.c
|
video/fb/fbfill.c video/fb/fbutil.c
|
||||||
video_fb_mod_CFLAGS = $(COMMON_CFLAGS)
|
video_fb_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
video_fb_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
video_fb_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
|
||||||
# For videotest.mod.
|
|
||||||
videotest_mod_SOURCES = commands/videotest.c
|
|
||||||
videotest_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
||||||
videotest_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
|
||||||
|
|
||||||
# For bitmap.mod
|
# For bitmap.mod
|
||||||
|
pkglib_MODULES += bitmap.mod
|
||||||
bitmap_mod_SOURCES = video/bitmap.c
|
bitmap_mod_SOURCES = video/bitmap.c
|
||||||
bitmap_mod_CFLAGS = $(COMMON_CFLAGS)
|
bitmap_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
bitmap_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
bitmap_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
@ -651,36 +653,46 @@ bitmap_scale_mod_SOURCES = video/bitmap_scale.c
|
||||||
bitmap_scale_mod_CFLAGS = $(COMMON_CFLAGS)
|
bitmap_scale_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
bitmap_scale_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
bitmap_scale_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
|
||||||
# For tga.mod
|
|
||||||
tga_mod_SOURCES = video/readers/tga.c
|
|
||||||
tga_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
||||||
tga_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
|
||||||
|
|
||||||
# For jpeg.mod.
|
|
||||||
jpeg_mod_SOURCES = video/readers/jpeg.c
|
|
||||||
jpeg_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
||||||
jpeg_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
|
||||||
|
|
||||||
# For png.mod.
|
|
||||||
png_mod_SOURCES = video/readers/png.c
|
|
||||||
png_mod_CFLAGS = $(COMMON_CFLAGS)
|
|
||||||
png_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
|
||||||
|
|
||||||
pkglib_MODULES += font.mod
|
pkglib_MODULES += font.mod
|
||||||
ifneq (, $(FONT_SOURCE))
|
|
||||||
font/font.c_DEPENDENCIES = ascii.h
|
|
||||||
endif
|
|
||||||
font_mod_SOURCES = font/font_cmd.c font/font.c
|
font_mod_SOURCES = font/font_cmd.c font/font.c
|
||||||
font_mod_CFLAGS = $(COMMON_CFLAGS)
|
font_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
font_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
font_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
|
||||||
# For gfxterm.mod.
|
# For gfxterm.mod.
|
||||||
|
pkglib_MODULES += gfxterm.mod
|
||||||
gfxterm_mod_SOURCES = term/gfxterm.c
|
gfxterm_mod_SOURCES = term/gfxterm.c
|
||||||
gfxterm_mod_CFLAGS = $(COMMON_CFLAGS)
|
gfxterm_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
gfxterm_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
gfxterm_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
# For videotest.mod.
|
||||||
|
pkglib_MODULES += videotest.mod
|
||||||
|
videotest_mod_SOURCES = commands/videotest.c
|
||||||
|
videotest_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
|
videotest_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
|
||||||
|
# For tga.mod
|
||||||
|
pkglib_MODULES += tga.mod
|
||||||
|
tga_mod_SOURCES = video/readers/tga.c
|
||||||
|
tga_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
|
tga_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
|
||||||
|
# For jpeg.mod.
|
||||||
|
pkglib_MODULES += jpeg.mod
|
||||||
|
jpeg_mod_SOURCES = video/readers/jpeg.c
|
||||||
|
jpeg_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
|
jpeg_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
|
||||||
|
# For png.mod.
|
||||||
|
pkglib_MODULES += png.mod
|
||||||
|
png_mod_SOURCES = video/readers/png.c
|
||||||
|
png_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
|
png_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
|
||||||
|
|
||||||
# Misc.
|
# Misc.
|
||||||
pkglib_MODULES += gzio.mod bufio.mod elf.mod
|
pkglib_MODULES += gzio.mod elf.mod
|
||||||
|
|
||||||
# For elf.mod.
|
# For elf.mod.
|
||||||
elf_mod_SOURCES = kern/elf.c
|
elf_mod_SOURCES = kern/elf.c
|
||||||
|
@ -692,10 +704,14 @@ gzio_mod_SOURCES = io/gzio.c
|
||||||
gzio_mod_CFLAGS = $(COMMON_CFLAGS)
|
gzio_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
gzio_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
gzio_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
|
||||||
|
# On Yeeloong it's part of kernel
|
||||||
|
ifneq ($(platform), yeeloong)
|
||||||
# For bufio.mod.
|
# For bufio.mod.
|
||||||
|
pkglib_MODULES += bufio.mod
|
||||||
bufio_mod_SOURCES = io/bufio.c
|
bufio_mod_SOURCES = io/bufio.c
|
||||||
bufio_mod_CFLAGS = $(COMMON_CFLAGS)
|
bufio_mod_CFLAGS = $(COMMON_CFLAGS)
|
||||||
bufio_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
bufio_mod_LDFLAGS = $(COMMON_LDFLAGS)
|
||||||
|
endif
|
||||||
|
|
||||||
# For gettext.mod.
|
# For gettext.mod.
|
||||||
pkglib_MODULES += gettext.mod
|
pkglib_MODULES += gettext.mod
|
||||||
|
|
|
@ -3,6 +3,9 @@ LINK_BASE = 0x80200000
|
||||||
target_machine=yeeloong
|
target_machine=yeeloong
|
||||||
COMMON_CFLAGS += -march=mips3
|
COMMON_CFLAGS += -march=mips3
|
||||||
COMMON_ASFLAGS += -march=mips3
|
COMMON_ASFLAGS += -march=mips3
|
||||||
|
|
||||||
|
kernel_img_HEADERS += bitmap.h video.h gfxterm.h font.h bitmap_scale.h bufio.h
|
||||||
|
|
||||||
include $(srcdir)/conf/mips.mk
|
include $(srcdir)/conf/mips.mk
|
||||||
|
|
||||||
pkglib_IMAGES = kernel.img
|
pkglib_IMAGES = kernel.img
|
||||||
|
|
|
@ -13,7 +13,7 @@ script/lexer.c_DEPENDENCIES = grub_script.tab.h
|
||||||
MOSTLYCLEANFILES += symlist.c kernel_syms.lst
|
MOSTLYCLEANFILES += symlist.c kernel_syms.lst
|
||||||
DEFSYMFILES += kernel_syms.lst
|
DEFSYMFILES += kernel_syms.lst
|
||||||
|
|
||||||
kernel_img_HEADERS = boot.h cache.h device.h disk.h dl.h elf.h elfload.h \
|
kernel_img_HEADERS += boot.h cache.h device.h disk.h dl.h elf.h elfload.h \
|
||||||
env.h err.h file.h fs.h kernel.h misc.h mm.h net.h parser.h reader.h \
|
env.h err.h file.h fs.h kernel.h misc.h mm.h net.h parser.h reader.h \
|
||||||
symbol.h term.h time.h types.h loader.h partition.h \
|
symbol.h term.h time.h types.h loader.h partition.h \
|
||||||
msdos_partition.h machine/kernel.h handler.h list.h \
|
msdos_partition.h machine/kernel.h handler.h list.h \
|
||||||
|
|
|
@ -47,24 +47,24 @@ struct grub_video_bitmap_reader
|
||||||
};
|
};
|
||||||
typedef struct grub_video_bitmap_reader *grub_video_bitmap_reader_t;
|
typedef struct grub_video_bitmap_reader *grub_video_bitmap_reader_t;
|
||||||
|
|
||||||
void grub_video_bitmap_reader_register (grub_video_bitmap_reader_t reader);
|
void EXPORT_FUNC (grub_video_bitmap_reader_register) (grub_video_bitmap_reader_t reader);
|
||||||
void grub_video_bitmap_reader_unregister (grub_video_bitmap_reader_t reader);
|
void EXPORT_FUNC (grub_video_bitmap_reader_unregister) (grub_video_bitmap_reader_t reader);
|
||||||
|
|
||||||
grub_err_t grub_video_bitmap_create (struct grub_video_bitmap **bitmap,
|
grub_err_t EXPORT_FUNC (grub_video_bitmap_create) (struct grub_video_bitmap **bitmap,
|
||||||
unsigned int width, unsigned int height,
|
unsigned int width, unsigned int height,
|
||||||
enum grub_video_blit_format blit_format);
|
enum grub_video_blit_format blit_format);
|
||||||
|
|
||||||
grub_err_t grub_video_bitmap_destroy (struct grub_video_bitmap *bitmap);
|
grub_err_t EXPORT_FUNC (grub_video_bitmap_destroy) (struct grub_video_bitmap *bitmap);
|
||||||
|
|
||||||
grub_err_t grub_video_bitmap_load (struct grub_video_bitmap **bitmap,
|
grub_err_t EXPORT_FUNC (grub_video_bitmap_load) (struct grub_video_bitmap **bitmap,
|
||||||
const char *filename);
|
const char *filename);
|
||||||
|
|
||||||
unsigned int grub_video_bitmap_get_width (struct grub_video_bitmap *bitmap);
|
unsigned int EXPORT_FUNC (grub_video_bitmap_get_width) (struct grub_video_bitmap *bitmap);
|
||||||
unsigned int grub_video_bitmap_get_height (struct grub_video_bitmap *bitmap);
|
unsigned int EXPORT_FUNC (grub_video_bitmap_get_height) (struct grub_video_bitmap *bitmap);
|
||||||
|
|
||||||
void grub_video_bitmap_get_mode_info (struct grub_video_bitmap *bitmap,
|
void EXPORT_FUNC (grub_video_bitmap_get_mode_info) (struct grub_video_bitmap *bitmap,
|
||||||
struct grub_video_mode_info *mode_info);
|
struct grub_video_mode_info *mode_info);
|
||||||
|
|
||||||
void *grub_video_bitmap_get_data (struct grub_video_bitmap *bitmap);
|
void *EXPORT_FUNC (grub_video_bitmap_get_data) (struct grub_video_bitmap *bitmap);
|
||||||
|
|
||||||
#endif /* ! GRUB_BITMAP_HEADER */
|
#endif /* ! GRUB_BITMAP_HEADER */
|
||||||
|
|
|
@ -39,10 +39,11 @@ enum grub_video_bitmap_scale_method
|
||||||
};
|
};
|
||||||
|
|
||||||
grub_err_t
|
grub_err_t
|
||||||
grub_video_bitmap_create_scaled (struct grub_video_bitmap **dst,
|
EXPORT_FUNC (grub_video_bitmap_create_scaled) (struct grub_video_bitmap **dst,
|
||||||
int dst_width, int dst_height,
|
int dst_width, int dst_height,
|
||||||
struct grub_video_bitmap *src,
|
struct grub_video_bitmap *src,
|
||||||
enum
|
enum
|
||||||
grub_video_bitmap_scale_method scale_method);
|
grub_video_bitmap_scale_method
|
||||||
|
scale_method);
|
||||||
|
|
||||||
#endif /* ! GRUB_BITMAP_SCALE_HEADER */
|
#endif /* ! GRUB_BITMAP_SCALE_HEADER */
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
#include <grub/file.h>
|
#include <grub/file.h>
|
||||||
|
|
||||||
grub_file_t grub_bufio_open (grub_file_t io, int size);
|
grub_file_t EXPORT_FUNC (grub_bufio_open) (grub_file_t io, int size);
|
||||||
grub_file_t grub_buffile_open (const char *name, int size);
|
grub_file_t EXPORT_FUNC (grub_buffile_open) (const char *name, int size);
|
||||||
|
|
||||||
#endif /* ! GRUB_BUFIO_H */
|
#endif /* ! GRUB_BUFIO_H */
|
||||||
|
|
|
@ -81,36 +81,38 @@ int grub_font_load (const char *filename);
|
||||||
"Family Name Bold Italic 14", where Bold and Italic are optional.
|
"Family Name Bold Italic 14", where Bold and Italic are optional.
|
||||||
If no font matches the name specified, the most recently loaded font
|
If no font matches the name specified, the most recently loaded font
|
||||||
is returned as a fallback. */
|
is returned as a fallback. */
|
||||||
grub_font_t grub_font_get (const char *font_name);
|
grub_font_t EXPORT_FUNC (grub_font_get) (const char *font_name);
|
||||||
|
|
||||||
const char *grub_font_get_name (grub_font_t font);
|
const char *EXPORT_FUNC (grub_font_get_name) (grub_font_t font);
|
||||||
|
|
||||||
int grub_font_get_max_char_width (grub_font_t font);
|
int EXPORT_FUNC (grub_font_get_max_char_width) (grub_font_t font);
|
||||||
|
|
||||||
int grub_font_get_max_char_height (grub_font_t font);
|
int EXPORT_FUNC (grub_font_get_max_char_height) (grub_font_t font);
|
||||||
|
|
||||||
int grub_font_get_ascent (grub_font_t font);
|
int EXPORT_FUNC (grub_font_get_ascent) (grub_font_t font);
|
||||||
|
|
||||||
int grub_font_get_descent (grub_font_t font);
|
int EXPORT_FUNC (grub_font_get_descent) (grub_font_t font);
|
||||||
|
|
||||||
int grub_font_get_leading (grub_font_t font);
|
int EXPORT_FUNC (grub_font_get_leading) (grub_font_t font);
|
||||||
|
|
||||||
int grub_font_get_height (grub_font_t font);
|
int EXPORT_FUNC (grub_font_get_height) (grub_font_t font);
|
||||||
|
|
||||||
int grub_font_get_string_width (grub_font_t font, const char *str);
|
int EXPORT_FUNC (grub_font_get_string_width) (grub_font_t font,
|
||||||
|
const char *str);
|
||||||
|
|
||||||
struct grub_font_glyph *grub_font_get_glyph (grub_font_t font,
|
struct grub_font_glyph *EXPORT_FUNC (grub_font_get_glyph) (grub_font_t font,
|
||||||
grub_uint32_t code);
|
grub_uint32_t code);
|
||||||
|
|
||||||
struct grub_font_glyph *grub_font_get_glyph_with_fallback (grub_font_t font,
|
struct grub_font_glyph *EXPORT_FUNC (grub_font_get_glyph_with_fallback) (grub_font_t font,
|
||||||
grub_uint32_t code);
|
grub_uint32_t code);
|
||||||
|
|
||||||
grub_err_t grub_font_draw_glyph (struct grub_font_glyph *glyph,
|
grub_err_t EXPORT_FUNC (grub_font_draw_glyph) (struct grub_font_glyph *glyph,
|
||||||
grub_video_color_t color,
|
grub_video_color_t color,
|
||||||
int left_x, int baseline_y);
|
int left_x, int baseline_y);
|
||||||
|
|
||||||
grub_err_t grub_font_draw_string (const char *str, grub_font_t font,
|
grub_err_t EXPORT_FUNC (grub_font_draw_string) (const char *str,
|
||||||
grub_video_color_t color,
|
grub_font_t font,
|
||||||
int left_x, int baseline_y);
|
grub_video_color_t color,
|
||||||
|
int left_x, int baseline_y);
|
||||||
|
|
||||||
#endif /* ! GRUB_FONT_HEADER */
|
#endif /* ! GRUB_FONT_HEADER */
|
||||||
|
|
|
@ -25,20 +25,20 @@
|
||||||
#include <grub/video.h>
|
#include <grub/video.h>
|
||||||
|
|
||||||
grub_err_t
|
grub_err_t
|
||||||
grub_gfxterm_set_window (struct grub_video_render_target *target,
|
EXPORT_FUNC (grub_gfxterm_set_window) (struct grub_video_render_target *target,
|
||||||
int x, int y, int width, int height,
|
int x, int y, int width, int height,
|
||||||
int double_repaint,
|
int double_repaint,
|
||||||
const char *font_name, int border_width);
|
const char *font_name, int border_width);
|
||||||
|
|
||||||
typedef void (*grub_gfxterm_repaint_callback_t)(int x, int y,
|
typedef void (*grub_gfxterm_repaint_callback_t)(int x, int y,
|
||||||
int width, int height);
|
int width, int height);
|
||||||
|
|
||||||
void grub_gfxterm_set_repaint_callback (grub_gfxterm_repaint_callback_t func);
|
void grub_gfxterm_set_repaint_callback (grub_gfxterm_repaint_callback_t func);
|
||||||
|
|
||||||
void grub_gfxterm_schedule_repaint (void);
|
void EXPORT_FUNC (grub_gfxterm_schedule_repaint) (void);
|
||||||
|
|
||||||
grub_err_t grub_gfxterm_fullscreen (void);
|
grub_err_t EXPORT_FUNC (grub_gfxterm_fullscreen) (void);
|
||||||
|
|
||||||
extern void (*grub_gfxterm_decorator_hook) (void);
|
extern void (*EXPORT_VAR (grub_gfxterm_decorator_hook)) (void);
|
||||||
|
|
||||||
#endif /* ! GRUB_GFXTERM_HEADER */
|
#endif /* ! GRUB_GFXTERM_HEADER */
|
||||||
|
|
|
@ -19,8 +19,6 @@
|
||||||
#ifndef GRUB_VBE_MACHINE_HEADER
|
#ifndef GRUB_VBE_MACHINE_HEADER
|
||||||
#define GRUB_VBE_MACHINE_HEADER 1
|
#define GRUB_VBE_MACHINE_HEADER 1
|
||||||
|
|
||||||
#include <grub/video_fb.h>
|
|
||||||
|
|
||||||
/* Default video mode to be used. */
|
/* Default video mode to be used. */
|
||||||
#define GRUB_VBE_DEFAULT_VIDEO_MODE 0x101
|
#define GRUB_VBE_DEFAULT_VIDEO_MODE 0x101
|
||||||
|
|
||||||
|
|
|
@ -259,13 +259,13 @@ struct grub_video_adapter
|
||||||
};
|
};
|
||||||
typedef struct grub_video_adapter *grub_video_adapter_t;
|
typedef struct grub_video_adapter *grub_video_adapter_t;
|
||||||
|
|
||||||
void grub_video_register (grub_video_adapter_t adapter);
|
void EXPORT_FUNC (grub_video_register) (grub_video_adapter_t adapter);
|
||||||
void grub_video_unregister (grub_video_adapter_t adapter);
|
void grub_video_unregister (grub_video_adapter_t adapter);
|
||||||
void grub_video_iterate (int (*hook) (grub_video_adapter_t adapter));
|
void grub_video_iterate (int (*hook) (grub_video_adapter_t adapter));
|
||||||
|
|
||||||
grub_err_t grub_video_restore (void);
|
grub_err_t EXPORT_FUNC (grub_video_restore) (void);
|
||||||
|
|
||||||
grub_err_t grub_video_get_info (struct grub_video_mode_info *mode_info);
|
grub_err_t EXPORT_FUNC (grub_video_get_info) (struct grub_video_mode_info *mode_info);
|
||||||
|
|
||||||
/* Framebuffer address may change as a part of normal operation
|
/* Framebuffer address may change as a part of normal operation
|
||||||
(e.g. double buffering). That's why you need to stop video subsystem to be
|
(e.g. double buffering). That's why you need to stop video subsystem to be
|
||||||
|
@ -283,57 +283,71 @@ grub_err_t grub_video_set_palette (unsigned int start, unsigned int count,
|
||||||
grub_err_t grub_video_get_palette (unsigned int start, unsigned int count,
|
grub_err_t grub_video_get_palette (unsigned int start, unsigned int count,
|
||||||
struct grub_video_palette_data *palette_data);
|
struct grub_video_palette_data *palette_data);
|
||||||
|
|
||||||
grub_err_t grub_video_set_viewport (unsigned int x, unsigned int y,
|
grub_err_t EXPORT_FUNC (grub_video_set_viewport) (unsigned int x,
|
||||||
unsigned int width, unsigned int height);
|
unsigned int y,
|
||||||
|
unsigned int width,
|
||||||
|
unsigned int height);
|
||||||
|
|
||||||
grub_err_t grub_video_get_viewport (unsigned int *x, unsigned int *y,
|
grub_err_t EXPORT_FUNC (grub_video_get_viewport) (unsigned int *x,
|
||||||
unsigned int *width, unsigned int *height);
|
unsigned int *y,
|
||||||
|
unsigned int *width,
|
||||||
|
unsigned int *height);
|
||||||
|
|
||||||
grub_video_color_t grub_video_map_color (grub_uint32_t color_name);
|
grub_video_color_t EXPORT_FUNC (grub_video_map_color) (grub_uint32_t color_name);
|
||||||
|
|
||||||
grub_video_color_t grub_video_map_rgb (grub_uint8_t red, grub_uint8_t green,
|
grub_video_color_t EXPORT_FUNC (grub_video_map_rgb) (grub_uint8_t red,
|
||||||
grub_uint8_t blue);
|
grub_uint8_t green,
|
||||||
|
grub_uint8_t blue);
|
||||||
|
|
||||||
grub_video_color_t grub_video_map_rgba (grub_uint8_t red, grub_uint8_t green,
|
grub_video_color_t EXPORT_FUNC (grub_video_map_rgba) (grub_uint8_t red,
|
||||||
grub_uint8_t blue, grub_uint8_t alpha);
|
grub_uint8_t green,
|
||||||
|
grub_uint8_t blue,
|
||||||
|
grub_uint8_t alpha);
|
||||||
|
|
||||||
grub_err_t grub_video_unmap_color (grub_video_color_t color,
|
grub_err_t EXPORT_FUNC (grub_video_unmap_color) (grub_video_color_t color,
|
||||||
grub_uint8_t *red, grub_uint8_t *green,
|
grub_uint8_t *red,
|
||||||
grub_uint8_t *blue, grub_uint8_t *alpha);
|
grub_uint8_t *green,
|
||||||
|
grub_uint8_t *blue,
|
||||||
|
grub_uint8_t *alpha);
|
||||||
|
|
||||||
grub_err_t grub_video_fill_rect (grub_video_color_t color, int x, int y,
|
grub_err_t EXPORT_FUNC (grub_video_fill_rect) (grub_video_color_t color,
|
||||||
unsigned int width, unsigned int height);
|
int x, int y,
|
||||||
|
unsigned int width,
|
||||||
|
unsigned int height);
|
||||||
|
|
||||||
grub_err_t grub_video_blit_bitmap (struct grub_video_bitmap *bitmap,
|
grub_err_t EXPORT_FUNC (grub_video_blit_bitmap) (struct grub_video_bitmap *bitmap,
|
||||||
enum grub_video_blit_operators oper,
|
enum grub_video_blit_operators oper,
|
||||||
int x, int y, int offset_x, int offset_y,
|
int x, int y,
|
||||||
unsigned int width, unsigned int height);
|
int offset_x, int offset_y,
|
||||||
|
unsigned int width,
|
||||||
|
unsigned int height);
|
||||||
|
|
||||||
grub_err_t grub_video_blit_render_target (struct grub_video_render_target *source,
|
grub_err_t EXPORT_FUNC (grub_video_blit_render_target) (struct grub_video_render_target *source,
|
||||||
enum grub_video_blit_operators oper,
|
enum grub_video_blit_operators oper,
|
||||||
int x, int y,
|
int x, int y,
|
||||||
int offset_x, int offset_y,
|
int offset_x,
|
||||||
unsigned int width,
|
int offset_y,
|
||||||
unsigned int height);
|
unsigned int width,
|
||||||
|
unsigned int height);
|
||||||
|
|
||||||
grub_err_t grub_video_scroll (grub_video_color_t color, int dx, int dy);
|
grub_err_t grub_video_scroll (grub_video_color_t color, int dx, int dy);
|
||||||
|
|
||||||
grub_err_t grub_video_swap_buffers (void);
|
grub_err_t EXPORT_FUNC (grub_video_swap_buffers) (void);
|
||||||
|
|
||||||
grub_err_t grub_video_create_render_target (struct grub_video_render_target **result,
|
grub_err_t EXPORT_FUNC (grub_video_create_render_target) (struct grub_video_render_target **result,
|
||||||
unsigned int width,
|
unsigned int width,
|
||||||
unsigned int height,
|
unsigned int height,
|
||||||
unsigned int mode_type);
|
unsigned int mode_type);
|
||||||
|
|
||||||
grub_err_t grub_video_delete_render_target (struct grub_video_render_target *target);
|
grub_err_t EXPORT_FUNC (grub_video_delete_render_target) (struct grub_video_render_target *target);
|
||||||
|
|
||||||
grub_err_t grub_video_set_active_render_target (struct grub_video_render_target *target);
|
grub_err_t EXPORT_FUNC (grub_video_set_active_render_target) (struct grub_video_render_target *target);
|
||||||
|
|
||||||
grub_err_t grub_video_get_active_render_target (struct grub_video_render_target **target);
|
grub_err_t grub_video_get_active_render_target (struct grub_video_render_target **target);
|
||||||
|
|
||||||
grub_err_t grub_video_set_mode (const char *modestring,
|
grub_err_t EXPORT_FUNC (grub_video_set_mode) (const char *modestring,
|
||||||
unsigned int modemask,
|
unsigned int modemask,
|
||||||
unsigned int modevalue);
|
unsigned int modevalue);
|
||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
grub_video_check_mode_flag (unsigned int flags, unsigned int mask,
|
grub_video_check_mode_flag (unsigned int flags, unsigned int mask,
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
#include <grub/machine/memory.h>
|
#include <grub/machine/memory.h>
|
||||||
#include <grub/machine/vga.h>
|
#include <grub/machine/vga.h>
|
||||||
#include <grub/machine/vbe.h>
|
#include <grub/machine/vbe.h>
|
||||||
|
#include <grub/video_fb.h>
|
||||||
#include <grub/types.h>
|
#include <grub/types.h>
|
||||||
#include <grub/dl.h>
|
#include <grub/dl.h>
|
||||||
#include <grub/misc.h>
|
#include <grub/misc.h>
|
||||||
|
|
Loading…
Reference in a new issue