* include/grub/term.h (grub_term_output): New member fullscreen.
* include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
* grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
(grub_gfxterm): Set .fullscreen.
* grub-core/normal/menu.c (menu_init): Use fullscreen.
* grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
+2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
+
+ Remove unjustified hard dependency of normal.mod on gfxterm.
+
+ * include/grub/term.h (grub_term_output): New member fullscreen.
+ * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
+ * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
+ (grub_gfxterm): Set .fullscreen.
+ * grub-core/normal/menu.c (menu_init): Use fullscreen.
+ * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
+
2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
* docs/grub.texi (Internationalisation/Filesystems): Add precisions
mentioning possible problems with non-ASCII (non-compliant) ISOs.
- MEntion case-insensitive AFFS, SFS and JFS.
+ Mention case-insensitive AFFS, SFS and JFS.
2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
struct grub_term_output *term;
FOR_ACTIVE_TERM_OUTPUTS(term)
- if (grub_gfxmenu_try_hook && grub_strcmp (term->name, "gfxterm") == 0)
+ if (grub_gfxmenu_try_hook && term->fullscreen)
{
- grub_gfxterm_fullscreen ();
+ term->fullscreen ();
break;
}
int gfxmenu = 0;
FOR_ACTIVE_TERM_OUTPUTS(term)
- if (grub_strcmp (term->name, "gfxterm") == 0)
+ if (term->fullscreen)
{
if (grub_env_get ("theme"))
{
grub_wait_after_message ();
}
grub_errno = GRUB_ERR_NONE;
- grub_gfxterm_fullscreen ();
+ term->fullscreen ();
break;
}
return grub_errno;
}
-grub_err_t
+static grub_err_t
grub_gfxterm_fullscreen (void)
{
const char *font_name;
.setcolorstate = grub_virtual_screen_setcolorstate,
.setcursor = grub_gfxterm_setcursor,
.refresh = grub_gfxterm_refresh,
+ .fullscreen = grub_gfxterm_fullscreen,
.flags = GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS,
.normal_color = GRUB_TERM_DEFAULT_NORMAL_COLOR,
.highlight_color = GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR,
void EXPORT_FUNC (grub_gfxterm_schedule_repaint) (void);
-grub_err_t EXPORT_FUNC (grub_gfxterm_fullscreen) (void);
-
extern void (*EXPORT_VAR (grub_gfxterm_decorator_hook)) (void);
#endif /* ! GRUB_GFXTERM_HEADER */
/* Update the screen. */
void (*refresh) (struct grub_term_output *term);
+ /* gfxterm only: put in fullscreen mode. */
+ grub_err_t (*fullscreen) (void);
+
/* The feature flags defined above. */
grub_uint32_t flags;