Ejemplo n.º 1
0
void window_default(bool center_size)
{
  unsigned int xm = room_width, ym = room_height;
  if (view_enabled)
  {
    int tx = 0, ty = 0;
    for (int i = 0; i < 8; i++)
      if (view_visible[i])
      {
        if (view_xport[i]+view_wport[i] > tx)
          tx = (int)(view_xport[i]+view_wport[i]);
        if (view_yport[i]+view_hport[i] > ty)
          ty = (int)(view_yport[i]+view_hport[i]);
      }
    if (tx and ty)
      xm = tx, ym = ty;
  } else {
    // By default if the room is too big instead of creating a gigantic ass window
    // make it not bigger than the screen to full screen it, this is what 8.1 and Studio
    // do, if the user wants to manually override this they can using
    // views/screen_set_viewport or window_set_size/window_set_region_size
    // We won't limit those functions like GM, just the default.
    Screen *screen = DefaultScreenOfDisplay(disp);
    if (xm > screen->width) xm = screen->width;
    if (ym > screen->height) ym = screen->height;
  }
  bool center = true;
  if (center_size) {
    center = (xm != window_get_width() || ym != window_get_height());
  }
  window_set_size(xm, ym);
  if (center) {
    window_center();
  }
}
Ejemplo n.º 2
0
void action_roll_up_equalizer (GtkToggleAction * action)
{
    config.equalizer_shaded = gtk_toggle_action_get_active (action);

    window_set_shaded (equalizerwin, config.equalizer_shaded);
    window_set_size (equalizerwin, 275, config.equalizer_shaded ? 14 : 116);
    equalizerwin_set_shape ();
}
Ejemplo n.º 3
0
void window_default()
{
    int xm = int(enigma_user::room_width), ym = int(enigma_user::room_height);
    if (enigma_user::view_enabled)
    {
      int tx = 0, ty = 0;
      for (int i = 0; i < 8; i++)
        if (enigma_user::view_visible[i])
        {
          if (enigma_user::view_xport[i] + enigma_user::view_wport[i] > tx)
            tx = (int)(enigma_user::view_xport[i] + enigma_user::view_wport[i]);
          if (enigma_user::view_yport[i] + enigma_user::view_hport[i] > ty)
            ty = (int)(enigma_user::view_yport[i] + enigma_user::view_hport[i]);
        }
      if (tx and ty)
        xm = tx, ym = ty;
    }
    window_set_size(xm, ym);
}
Ejemplo n.º 4
0
int window_init(window_t* window) { LOG

    int error;
    int i;

    if (window->draw) {
        /* initialize video */
        if (!vg_init(window->video_mode)) {
            printf("window_init: vg_init failed.\n");
            return -1;
        }
    }

    window->redraw = 0;
    window->done = 0;

    /* init font system */
    error = vg_init_FreeType();
    if (error) {
        printf("window_init: vg_init_FreeType failed with error code %d.\n", error);
        return error;
    }

    error = window_set_title(window, "cnix %s", "0.2");
    if (error) {
        printf("window_init: window_set_title failed with error code %d.\n", error);
        return error;
    }
    
    error = window_set_log_message(window, "");
    if (error) {
        printf("window_init: window_set_log_message failed with error code %d.\n", error);
        return error;
    }

    error = window_set_size(window, window->draw ? vg_get_h_res() : 1024, window->draw ? vg_get_v_res() : 768);
    if (error) {
        printf("window_init: window_set_size failed with error code %d.\n", error);
        return error;
    }

    /* set up tabs */
    window->current_tab = -1;
    for (i = 0; i < TAB_COUNT; ++i)
        window->tabs[i] = NULL;

    //window->tabs[0]  = tab_create("#1");
    //window->tabs[1]  = tab_create("#2");
    //window->tabs[2]  = tab_create("#3");
    //window->tabs[3]  = tab_create("#4");
    //window->tabs[4]  = tab_create("#5");
    //window->tabs[5]  = tab_create("#6");
    //window->tabs[6]  = tab_create("#7");
    //window->tabs[7]  = tab_create("#8");
    //window->tabs[8]  = tab_create("#9");
    //window->tabs[9]  = tab_create("#10");
    //window->tabs[10] = tab_create("#11");
    window->tabs[11] = tab_create("#console");
    window->current_tab = TAB_CONSOLE;
    window->prev_current_tab = window->current_tab;

    window->date = NULL;

    /* initialize interrupt handlers */
    int_init();

    /* install mouse */
    error = window_install_mouse(window);
    if (error) {
        printf("window_init: window_install_mouse failed with error code %d.\n", error);
        return error;
    }
    printf("window_install: mouse installed with success.\n");

    /* install keyboard */
    error = keyboard_install();
    if (error) {
        printf("window_init: keyboard_install failed with error code %d.\n", error);
        return error;
    }
    printf("window_init: keyboard installed with success.\n");

    /* set up buttons */
    new_btn = new_button(869, 5, 20, 20, new_btn_draw, new_btn_click, 1, window);
    open_btn = new_button(894, 5, 20, 20, open_btn_draw, open_btn_click, 1, window);
    save_btn = new_button(919, 5, 20, 20, save_btn_draw, save_btn_click, 1, window);
    make_btn = new_button(944, 5, 20, 20, make_btn_draw, make_btn_click, 1, window);
    run_btn = new_button(969, 5, 20, 20, run_btn_draw, run_btn_click, 1, window);
    close_btn = new_button(994, 5, 20, 20, close_btn_draw, close_btn_click, 1, window);

    window->state = WIN_STATE_NORMAL;
    return 0;
}