Previously it was force_text_mode ().
Now, we do ignore_mode_changes (). The
force_text_mode() behavior can be emulated by
setting the console mode to text mode and then
calling the new API.
This will be useful because we can make
ply_console_set_mode a NOOP for renderers that
don't render directly to the console.
case KEY_CTRL_T:
ply_trace ("toggle text mode!");
splash->should_force_text_mode = !splash->should_force_text_mode;
- ply_console_force_text_mode (splash->console,
- splash->should_force_text_mode);
+
+ if (splash->should_force_text_mode)
+ {
+ ply_console_set_mode (splash->console, PLY_CONSOLE_MODE_TEXT);
+ ply_console_ignore_mode_changes (splash->console, true);
+ }
+ else
+ ply_console_ignore_mode_changes (splash->console, false);
ply_trace ("text mode toggled!");
return;
uint32_t is_open : 1;
uint32_t is_watching_for_vt_changes : 1;
- uint32_t should_force_text_mode : 1;
+ uint32_t should_ignore_mode_changes : 1;
};
static bool ply_console_open_device (ply_console_t *console);
assert (console != NULL);
assert (mode == PLY_CONSOLE_MODE_TEXT || mode == PLY_CONSOLE_MODE_GRAPHICS);
- if (console->should_force_text_mode)
- mode = PLY_CONSOLE_MODE_TEXT;
+ if (console->should_ignore_mode_changes)
+ return;
switch (mode)
{
}
void
-ply_console_force_text_mode (ply_console_t *console,
- bool should_force)
+ply_console_ignore_mode_changes (ply_console_t *console,
+ bool should_ignore)
{
- console->should_force_text_mode = should_force;
+ console->should_ignore_mode_changes = should_ignore;
}
static void
void ply_console_set_mode (ply_console_t *console,
ply_console_mode_t mode);
-void ply_console_force_text_mode (ply_console_t *console,
- bool should_force);
+void ply_console_ignore_mode_changes (ply_console_t *console,
+ bool should_ignore);
int ply_console_get_fd (ply_console_t *console);
int ply_console_get_active_vt (ply_console_t *console);