No description
Find a file
Vladimir 'phcoder' Serbinenko 7cc192d9f2 2010-02-06 Colin D Bennett <colin@gibibit.com>
* conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
	(gfxmenu_mod_SOURCES): New variable.
	(gfxmenu_mod_CFLAGS): Likewise.
	(gfxmenu_mod_LDFLAGS): Likewise.
	* include/grub/term.h (grub_term_set_current_output): Declare
	argument as const.
	* docs/gfxmenu-theme-example.txt: New file.
	* gfxmenu/gfxmenu.c: Likewise.
	* gfxmenu/gui_box.c: Likewise.
	* gfxmenu/gui_canvas.c: Likewise.
	* gfxmenu/gui_circular_progress.c: Likewise.
	* gfxmenu/gui_image.c: Likewise.
	* gfxmenu/gui_label.c: Likewise.
	* gfxmenu/gui_list.c: Likewise.
	* gfxmenu/gui_progress_bar.c: Likewise.
	* gfxmenu/gui_string_util.c: Likewise.
	* gfxmenu/gui_util.c: Likewise.
	* gfxmenu/icon_manager.c: Likewise.
	* gfxmenu/model.c: Likewise.
	* gfxmenu/named_colors.c: Likewise.
	* gfxmenu/theme_loader.c: Likewise.
	* gfxmenu/view.c: Likewise.
	* gfxmenu/widget-box.c: Likewise.
	* include/grub/gfxmenu_model.h: Likewise.
	* include/grub/gfxmenu_view.h: Likewise.
	* include/grub/gfxwidgets.h: Likewise.
	* include/grub/gui.h: Likewise.
	* include/grub/gui_string_util.h: Likewise.
	* include/grub/icon_manager.h: Likewise.

2010-02-06  Vladimir Serbinenko  <phcoder@gmail.com>

	Agglomerate scrolling in gfxterm.

	* term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
	(grub_virtual_screen_setup): Initialise 'total_screen'.
	(write_char): Split to ...
	(paint_char): ... this ...
	(write_char): ... and this.
	(paint_char): Handle delayed scrolling.
	(draw_cursor): Likewise.
	(scroll_up): Split to ...
	(real_scroll): ... this ...
	(scroll_up): ... and this.
	(real_scroll): Handle multi-line scroll and draw below-the-bottom
	characters.
	(grub_gfxterm_refresh): Call real_scroll.

2010-02-06  Colin D Bennett  <colin@gibibit.com>

	* include/grub/misc.h (grub_iscntrl): New inline function.
	(grub_isalnum): Likewise.
	(grub_strtol): Likewise.

2010-02-06  Colin D Bennett  <colin@gibibit.com>

	* normal/menu_text.c (get_entry_number): Move from here ...
	* normal/menu.c (get_entry_number): ... moved here.
	* include/grub/menu.h (grub_menu_get_default_entry_index):
	New prototype.
	* normal/menu.c (grub_menu_get_default_entry_index): New function.
	* normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
	* include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
	(grub_menu_viewer_should_return): Likewise.
	* normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
	* normal/menu_text.c (run_menu): Enable menu switching.
	* normal/menu_viewer.c (should_return): New variable.
	(menu_viewer_changed): Likewise.
	(grub_menu_viewer_show_menu): Handle menu viewer changes.
	(grub_menu_viewer_should_return): New function.
	(menuviewer_write_hook): Likewise.
	(grub_menu_viewer_init): Likewise.

2010-02-06  Colin D Bennet <colin@gibibit.com>
2010-02-06  Vladimir Serbinenko  <phcoder@gmail.com>

	Support for gfxterm in a window.

	* include/grub/gfxterm.h: New file.
	* include/grub/video.h (struct grub_video_rect): New declaration.
	(grub_video_rect_t): Likewise.
	* term/gfxterm.c (struct grub_gfxterm_window): New type.
	(refcount): New variable.
	(render_target): Likewise.
	(window): Likewise.
	(repaint_callback): Likewise.
	(grub_virtual_screen_setup): Use 'render_target'.
	(init_window): New function.
	(grub_gfxterm_init_window): Likewise.
	(grub_gfxterm_init): Check reference counter.
	Use init_window.
	(destroy_window): New function.
	(grub_gfxterm_destroy_window): Likewise.
	(grub_gfxterm_fini): Check reference counter.
	Use destroy_window.
	(redraw_screen_rect): Restore viewport.
	Use 'render_target' and 'window'.
	Call 'repaint_callback'.
	(write_char): Use 'render_target'.
	(draw_cursor): Likewise.
	(scroll_up): Restore viewport.
	Use 'render_target' and 'window'.
	Call 'repaint_callback'.
	(grub_gfxterm_cls): Likewise.
	(grub_gfxterm_refresh): Use 'window'.
	(grub_gfxterm_set_repaint_callback): New function.
	(grub_gfxterm_background_image_cmd): Use 'window'.
	(grub_gfxterm_get_term): New function.
	(GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.

2010-02-06  Colin D Bennett  <colin@gibibit.com>

	Bitmap scaling support.

	* conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
	(bitmap_scale_mod_SOURCES): New variable.
	(bitmap_scale_mod_CFLAGS): Likewise.
	(bitmap_scale_mod_LDFLAGS): Likewise.
	* include/grub/bitmap_scale.h: New file.
	* term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
	(background_image_cmd_options): New variable.
	(grub_gfxterm_background_image_cmd): Support bitmap stretching.
	(cmd): Rename and change type to ...
	(background_image_cmd_handle): ... this. All users updated.
	(GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
	* video/bitmap_scale.c: New file.

2010-02-06  Vladimir Serbinenko  <phcoder@gmail.com>

	SDL support.

	* Makefile.in (LIBSDL): New variable.
	(enable_grub_emu_sdl): Likewise.
	* conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
	(grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
	(grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
	* configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
	* util/sdl.c: New file.

2010-02-06  Colin D Bennett  <colin@gibibit.com>
2010-02-06  Vladimir Serbinenko  <phcoder@gmail.com>

	Double buffering support.

	* commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
	* include/grub/video.h: Update comment.
	* include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
	New type.
	(grub_video_fb_doublebuf_blit_init): New prototype.
	* term/gfxterm.c (scroll_up): Support double buffering.
	(grub_gfxterm_refresh): Likewise.
	* video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
	(grub_video_fb_doublebuf_blit_init): Likewise.
	* video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
	'front_target', 'back_target', 'offscreen_buffer', 'page_size',
	'displayed_page', 'render_page' and 'update_screen'.
	(grub_video_vbe_fini): Free offscreen buffer.
	(doublebuf_pageflipping_commit): New function.
	(doublebuf_pageflipping_update_screen): Likewise.
	(doublebuf_pageflipping_init): Likewise.
	(double_buffering_init): Likewise.
	(grub_video_vbe_setup): Enable doublebuffering.
	(grub_video_vbe_swap_buffers): Implement.
	(grub_video_vbe_set_active_render_target): Handle double buffering.
	(grub_video_vbe_get_active_render_target): Likewise.
	(grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
	(grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
	(grub_video_vbe_enable_double_buffering): Likewise.
	(grub_video_vbe_swap_buffers): Use update_screen.
	(grub_video_set_mode): Use double buffering.

2010-02-06  Robert Millan  <rmh.grub@aybabtu.com>

	* maintainance/gentrigtables.py: Remove.
	* lib/trig.c: Likewise.

	* gentrigtables.c: New file.  C rewrite of gentrigtables.py.

	* conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
	`trigtables.c'.
	(trigtables.c): New rule.
	(gentrigtables): Likewise.
	(DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.

2010-02-06  Robert Millan  <rmh.grub@aybabtu.com>

	* maintainance/gentrigtables.py: Avoid duplicate hardcoding of
	integer constants.

2010-02-06  Colin D Bennet <colin@gibibit.com>

	Trigonometry support.

	* include/grub/trig.h: New file.
	* lib/trig.c: Likewise.
	* maintainance/gentrigtables.py: Likewise.
	* conf/common.rmk (pkglib_MODULES): Add trig.mod.
	(trig_mod_SOURCES): New variable.
	(trig_mod_CFLAGS): Likewise.
	(trig_mod_LDFLAGS): Likewise.
2010-02-06 14:40:57 +01:00
boot 2010-01-26 Robert Millan <rmh.grub@aybabtu.com> 2010-01-26 16:39:37 +00:00
bus merge mainline into pciclean 2010-01-20 20:40:30 +01:00
commands Merge mainline into gfxmenu 2010-02-03 01:24:07 +01:00
conf Fix mips compilation 2010-02-03 01:34:55 +01:00
disk 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com> 2010-02-03 00:43:55 +01:00
docs gfxmenu import 2009-11-20 16:02:58 +01:00
efiemu Rename asprint into xasprintf and avsprintf into xvasprintf 2010-01-20 09:12:47 +01:00
font 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com> 2010-01-31 01:26:11 +01:00
fs 2010-01-27 Robert Millan <rmh.grub@aybabtu.com> 2010-01-27 03:11:20 +00:00
gettext Rename asprint into xasprintf and avsprintf into xvasprintf 2010-01-20 09:12:47 +01:00
gfxmenu Merge mainline into gfxmenu 2010-02-03 01:24:07 +01:00
gnulib 2010-01-01 Robert Millan <rmh.grub@aybabtu.com> 2010-01-01 12:33:45 +00:00
hello 2010-01-03 Carles Pina i Estany <carles@pina.cat> 2010-01-03 19:50:51 +01:00
hook asprintf and snprintf support 2009-12-29 10:04:06 +01:00
include Merge mainline into gfxmenu 2010-02-03 01:24:07 +01:00
io 2010-01-03 Robert Millan <rmh.grub@aybabtu.com> 2010-01-03 22:05:07 +00:00
kern 2010-02-06 Colin D Bennett <colin@gibibit.com> 2010-02-06 14:40:57 +01:00
lib merge mainline into asprintf 2010-01-20 07:36:17 +01:00
loader Merge mainline into gfxmenu 2010-02-03 01:24:07 +01:00
mmap merge mainline into mips 2009-12-28 01:05:47 +01:00
normal Merge mainline into gfxmenu 2010-02-03 01:24:07 +01:00
partmap Rename asprint into xasprintf and avsprintf into xvasprintf 2010-01-20 09:12:47 +01:00
parttool 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com> 2009-08-24 13:34:03 +00:00
po 2010-01-21 Robert Millan <rmh.grub@aybabtu.com> 2010-01-21 08:04:49 +00:00
script asprintf and snprintf support 2009-12-29 10:04:06 +01:00
term Merge mainline into gfxmenu 2010-02-03 01:24:07 +01:00
tests 2010-01-28 Robert Millan <rmh.grub@aybabtu.com> 2010-01-28 15:27:41 +00:00
util Merge mainline into gfxmenu 2010-02-03 01:24:07 +01:00
video Merge mainline into gfxmenu 2010-02-03 01:24:07 +01:00
.bzrignore merge mainline into crypto 2009-12-05 16:34:27 +01:00
acinclude.m4 fix underquoted AC_DEFUN parameters 2010-01-23 22:38:10 +05:30
AUTHORS 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org> 2005-09-03 16:54:27 +00:00
autogen.sh Revert obviously wrong 1963 by Felix Zielcke. 2009-12-22 10:10:57 +01:00
ChangeLog 2010-02-06 Colin D Bennett <colin@gibibit.com> 2010-02-06 14:40:57 +01:00
ChangeLog.gfxmenu 2010-02-06 Colin D Bennett <colin@gibibit.com> 2010-02-06 14:40:57 +01:00
ChangeLog.mkconfig 2010-01-07 Robert Millan <rmh.grub@aybabtu.com> 2010-01-07 18:20:11 +00:00
config.rpath 2010-01-05 Robert Millan <rmh.grub@aybabtu.com> 2010-01-05 22:44:00 +00:00
configure.ac Merge mainline into gfxmenu 2010-02-03 01:24:07 +01:00
COPYING 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org> 2007-07-21 23:32:33 +00:00
gencmdlist.sh 2010-01-03 Robert Millan <rmh.grub@aybabtu.com> 2010-01-03 22:05:07 +00:00
gendistlist.sh merge mtrunk into xnu 2009-12-18 03:57:32 +01:00
genfslist.sh 2009-01-10 Robert Millan <rmh@aybabtu.com> 2009-01-10 13:07:44 +00:00
genhandlerlist.sh Working multi-terminal 2009-12-24 21:54:37 +01:00
geninit.sh 2007-07-22 Robert Millan <rmh@aybabtu.com> 2007-07-22 19:17:27 +00:00
geninitheader.sh 2007-07-22 Robert Millan <rmh@aybabtu.com> 2007-07-22 19:17:27 +00:00
genkernsyms.sh.in Cheery-pick grub-emu split from experimental (rev 1361) 2009-11-23 15:31:54 +00:00
genmk.rb 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com> 2010-01-20 10:59:15 +01:00
genmoddep.awk Fix for native miscompilation 2009-11-21 17:33:52 +01:00
genmodsrc.sh 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org> 2007-07-21 23:32:33 +00:00
genpartmaplist.sh 2008-08-22 Bean <bean123ch@gmail.com> 2008-08-23 14:20:45 +00:00
genparttoollist.sh 2009-07-02 Pavel Roskin <proski@gnu.org> 2009-07-02 04:12:23 +00:00
gensymlist.sh.in Cheery-pick grub-emu split from experimental (rev 1361) 2009-11-23 15:31:54 +00:00
genterminallist.sh Eliminate grub_term_register_{input,output}_active. Default terminals are 2010-01-09 23:42:17 +01:00
gentrigtables.c Use return instead of exit () in gentrigtables.c 2009-11-24 04:21:07 +01:00
genvideolist.sh 2009-12-12 Robert Millan <rmh@aybabtu.com> 2009-12-12 00:43:32 +00:00
INSTALL 2009-11-25 Felix Zielcke <fzielcke@z-51.de> 2009-11-25 18:37:04 +01:00
Makefile.in Merge mainline into gfxmenu 2010-02-03 01:24:07 +01:00
mkinstalldirs 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org> 2006-06-04 12:59:19 +00:00
NEWS 2009-12-21 Robert Millan <rmh.grub@aybabtu.com> 2009-12-21 21:15:38 +00:00
README Update the URL of the wiki. 2006-04-02 08:59:23 +00:00
THANKS 2009-12-11 Robert Millan <rmh.grub@aybabtu.com> 2009-12-11 22:44:47 +00:00
TODO 2008-01-07 Robert Millan <rmh@aybabtu.com> 2008-01-07 19:21:34 +00:00

This is GRUB 2, the second version of the GRand Unified Bootloader.
GRUB 2 is rewritten from scratch to make GNU GRUB cleaner, safer, more
robust, more powerful, and more portable.

See the file NEWS for a description of recent changes to GRUB 2.

See the file INSTALL for instructions on how to build and install the
GRUB 2 data and program files.

Please visit the official web page of GRUB 2, for more information.
The URL is <http://www.gnu.org/software/grub/grub.html>.

For now, there is not much documentation yet. Please look at the GRUB
Wiki <http://grub.enbug.org> for testing procedures.