Пример #1
0
static int
glw_ps3_start(ui_t *ui, prop_t *root, int argc, char *argv[], int primary)
{
  glw_ps3_t *gp = calloc(1, sizeof(glw_ps3_t));
  char confname[PATH_MAX];
  const char *theme_path = SHOWTIME_GLW_DEFAULT_THEME_URL;
  const char *displayname_title  = NULL;

  gp->gr.gr_uii.uii_prop = root;

  prop_set_int(prop_create(root, "fullscreen"), 1);

  snprintf(confname, sizeof(confname), "glw/ps3");

  /* Parse options */

  argv++;
  argc--;

  while(argc > 0) {
    if(!strcmp(argv[0], "--theme") && argc > 1) {
      theme_path = argv[1];
      argc -= 2; argv += 2;
      continue;
    } else {
      break;
    }
  }


  if(glw_ps3_init(gp))
     return 1;

  glw_root_t *gr = &gp->gr;

  if(gp->res.height >= 1080) {
    gr->gr_base_underscan_h = 66;
    gr->gr_base_underscan_v = 34;
  } else if(gp->res.height >= 720) {
    gr->gr_base_underscan_h = 43;
    gr->gr_base_underscan_v = 22;
  } else {
    gr->gr_base_underscan_h = 36;
    gr->gr_base_underscan_v = 20;
  }
  
  if(glw_init(gr, theme_path, ui, primary, confname, displayname_title))
    return 1;

  TRACE(TRACE_INFO, "GLW", "loading universe");

  glw_load_universe(gr);
  glw_ps3_mainloop(gp);
  glw_unload_universe(gr);
  glw_reap(gr);
  glw_reap(gr);
  return 0;
}
Пример #2
0
void
glw_load_universe(glw_root_t *gr)
{
  prop_t *page = prop_create(gr->gr_uii.uii_prop, "root");
  glw_unload_universe(gr);

  gr->gr_universe = glw_view_create(gr,
				    "theme://universe.view", NULL, page,
				    NULL, NULL, 0);

  glw_signal_handler_register(gr->gr_universe, top_event_handler, gr, 1000);
}
Пример #3
0
void
glw_load_universe(glw_root_t *gr)
{
  prop_t *page = prop_create(gr->gr_prop_ui, "root");
  glw_unload_universe(gr);

  rstr_t *universe = rstr_alloc("skin://universe.view");

  gr->gr_universe = glw_view_create(gr,
				    universe, NULL, page,
				    NULL, NULL, NULL, 0, 1);

  rstr_release(universe);

  glw_signal_handler_register(gr->gr_universe, top_event_handler, gr, 1000);
}
Пример #4
0
int
glw_ps3_start(void)
{
  glw_ps3_t *gp = calloc(1, sizeof(glw_ps3_t));
  glwps3 = gp;
  prop_t *root = gp->gr.gr_prop_ui = prop_create(prop_get_global(), "ui");
  gp->gr.gr_prop_nav = nav_spawn();

  prop_set_int(prop_create(root, "fullscreen"), 1);

  if(glw_ps3_init(gp))
     return 1;

  gp->gr.gr_prop_maxtime = 10000;

  glw_root_t *gr = &gp->gr;

  if(glw_init2(gr,
               GLW_INIT_KEYBOARD_MODE |
               GLW_INIT_OVERSCAN |
               GLW_INIT_IN_FULLSCREEN))
    return 1;

  settings_create_separator(glw_settings.gs_settings, _p("Dual-Shock Remote"));

  setting_create(SETTING_MULTIOPT, glw_settings.gs_settings,
                 SETTINGS_INITIAL_UPDATE,
                 SETTING_TITLE(_p("Seek using L2 and R2 button")),
                 SETTING_OPTION("0", _p("Yes")),
                 SETTING_OPTION("1", _p("Yes with Select button")),
                 SETTING_OPTION("2", _p("No")),
                 SETTING_COURIER(gr->gr_courier),
                 SETTING_CALLBACK(set_seekmode, gp),
                 SETTING_STORE("glw", "analogseekmode"),
                 NULL);

  gr->gr_open_osk = osk_open;

  TRACE(TRACE_DEBUG, "GLW", "loading universe");

  glw_load_universe(gr);
  glw_ps3_mainloop(gp);
  glw_unload_universe(gr);
  glw_reap(gr);
  glw_reap(gr);
  return 0;
}
Пример #5
0
JNIEXPORT void JNICALL
Java_com_showtimemediacenter_showtime_STCore_glwDestroy(JNIEnv *env,
                                                     jobject obj,
                                                     jint id)
{
  android_glw_root_t *agr = (android_glw_root_t *)id;
  glw_root_t *gr = &agr->gr;

  TRACE(TRACE_DEBUG, "GLW", "GLW %p destroying", agr);

  glw_lock(gr);
  while(agr->agr_running == 1)
    hts_cond_wait(&agr->agr_runcond, &gr->gr_mutex);
  glw_unlock(gr);

  TRACE(TRACE_DEBUG, "GLW", "GLW %p destroyed", agr);

  (*env)->DeleteGlobalRef(env, agr->agr_vrp);

  glw_unload_universe(gr);
  glw_fini(gr);
  free(gr);
}