Beispiel #1
0
static void
view_show_prompt (view_t     *view,
                  const char *prompt,
                  const char *entered_text)
{
        int display_width, display_height;
        int i;

        display_width = ply_text_display_get_number_of_columns (view->display);
        display_height = ply_text_display_get_number_of_rows (view->display);
        ply_text_display_set_background_color (view->display, PLY_TERMINAL_COLOR_DEFAULT);
        ply_text_display_clear_screen (view->display);

        ply_text_display_set_cursor_position (view->display, 0, display_height / 2);

        for (i = 0; i < display_width; i++) {
                ply_text_display_write (view->display, "%c", ' ');
        }

        ply_text_display_set_cursor_position (view->display,
                                              display_width / 2 - (strlen (prompt)),
                                              display_height / 2);

        ply_text_display_write (view->display, "%s:%s", prompt, entered_text);

        ply_text_display_show_cursor (view->display);
}
Beispiel #2
0
static void
view_start_animation (view_t *view)
{
  ply_boot_splash_plugin_t *plugin;
  ply_terminal_t *terminal;

  assert (view != NULL);

  plugin = view->plugin;

  terminal = ply_text_display_get_terminal (view->display);

  ply_terminal_set_color_hex_value (terminal,
                                    PLY_TERMINAL_COLOR_BLACK,
                                    0x2c001e); 
  ply_terminal_set_color_hex_value (terminal,
                                    PLY_TERMINAL_COLOR_WHITE,
                                    0xffffff);
  ply_terminal_set_color_hex_value (terminal,
                                    PLY_TERMINAL_COLOR_BROWN,
                                    0xff4012);
  ply_terminal_set_color_hex_value (terminal,
                                    PLY_TERMINAL_COLOR_BLUE,
                                    0x988592);

  ply_text_display_set_background_color (view->display,
                                         PLY_TERMINAL_COLOR_BLACK);
  ply_text_display_clear_screen (view->display);
  ply_text_display_hide_cursor (view->display);
}
Beispiel #3
0
static void
animate_frame (ply_boot_splash_plugin_t *plugin,
               int                       frame)
{
  ply_list_node_t *node;

  node = ply_list_get_first_node (plugin->views);
  while (node != NULL)
    {
      ply_list_node_t *next_node;
      view_t *view;
      int display_width, display_height;

      view = ply_list_node_get_data (node);
      next_node = ply_list_get_next_node (plugin->views, node);

      display_width = ply_text_display_get_number_of_columns (view->display);
      display_height = ply_text_display_get_number_of_rows (view->display);

      ply_text_display_set_cursor_position (view->display,
                                            (display_width - 12) / 2,
                                            display_height / 2);

      ply_text_display_set_background_color (view->display, PLY_TERMINAL_COLOR_BLACK);
      ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_WHITE);
      ply_text_display_write (view->display, "Ubuntu 10.04");

      ply_text_display_set_cursor_position (view->display,
                                            (display_width - 10) / 2,
                                            (display_height / 2) + 2);

      if ((frame < 1) || (frame > 4))
        ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_WHITE);
      else
        ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_BROWN);
      ply_text_display_write (view->display, ".  ");

      if ((frame < 2) || (frame > 5))
        ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_WHITE);
      else
        ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_BROWN);
      ply_text_display_write (view->display, ".  ");

      if ((frame < 3) || (frame > 6))
        ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_WHITE);
      else
        ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_BROWN);
      ply_text_display_write (view->display, ".  ");

      if (frame < 4)
        ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_WHITE);
      else
        ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_BROWN);
      ply_text_display_write (view->display, ".");

      node = next_node;
    }
}
Beispiel #4
0
static void
view_hide (view_t *view)
{
        if (view->display != NULL) {
                ply_terminal_t *terminal;

                terminal = ply_text_display_get_terminal (view->display);

                ply_text_display_set_background_color (view->display, PLY_TERMINAL_COLOR_DEFAULT);
                ply_text_display_clear_screen (view->display);
                ply_text_display_show_cursor (view->display);

                ply_terminal_reset_colors (terminal);
        }
}
Beispiel #5
0
static void
view_start_animation (view_t *view)
{
  ply_boot_splash_plugin_t *plugin;
  ply_terminal_t *terminal;

  assert (view != NULL);

  plugin = view->plugin;

  terminal = ply_text_display_get_terminal (view->display);

  ply_terminal_set_color_hex_value (terminal,
                                    PLY_TERMINAL_COLOR_BLACK,
                                    0x000000);
  ply_terminal_set_color_hex_value (terminal,
                                    PLY_TERMINAL_COLOR_WHITE,
                                    0xffffff);
  ply_terminal_set_color_hex_value (terminal,
                                    PLY_TERMINAL_COLOR_BLUE,
                                    0x0073B3);
  ply_terminal_set_color_hex_value (terminal,
                                    PLY_TERMINAL_COLOR_BROWN,
                                    0x00457E);

  ply_text_display_set_background_color (view->display,
                                         PLY_TERMINAL_COLOR_BLACK);
  ply_text_display_clear_screen (view->display);
  ply_text_display_hide_cursor (view->display);

  if (plugin->mode == PLY_BOOT_SPLASH_MODE_SHUTDOWN)
    {
      ply_text_progress_bar_hide (view->progress_bar);
      return;
    }

  ply_text_progress_bar_show (view->progress_bar,
                              view->display);
}