Ejemplo n.º 1
0
Storyboard *
storyboard_new (const gchar *snippets_path)
{
  Storyboard *self;
  ClutterColor bg_color = {200, 200, 200, 255};

  self = g_slice_new0 (Storyboard);

  self->max_knock = DEFAULT_MAX_KNOCK;
  self->max_salute = DEFAULT_MAX_SALUTE;
  self->gesture_index = g_random_int_range (0, TOTAL_GESTURES-1);

  if (g_strstr_len (snippets_path, -1, "file://") != snippets_path)
    self->snippets_path = g_strdup_printf ("file://%s", snippets_path);
  else
    self->snippets_path = g_strdup (snippets_path);

  self->stage = clutter_stage_new ();
  clutter_stage_hide_cursor (CLUTTER_STAGE (self->stage));
  g_signal_connect (self->stage,
                    "destroy",
                    G_CALLBACK (clutter_main_quit),
                    NULL);
  g_signal_connect (self->stage,
                    "key-press-event",
                    G_CALLBACK (stage_on_key_pressed),
                    self);

  clutter_actor_set_size (self->stage, 1920, 1080);
  clutter_stage_set_fullscreen (CLUTTER_STAGE (self->stage), TRUE);
  clutter_actor_set_background_color (self->stage, &bg_color);

  /* transition */
  self->transition = transition_new (self->stage,
                                     1000,
                                     transition_on_finish,
                                     self);

  /* salut stream */
  salut_stream_new (on_salut_stream_ready, self);

  g_object_unref (self->stage);

  clutter_actor_show (self->stage);

  /* initial state */
  self->status = STATUS_NONE;

  return self;
}
Ejemplo n.º 2
0
void table_construct(table_t *t, const char *input)
{
	assert(t != NULL);
	int after_state = 0;
	int len;
	int cur = 0;
	char c;

	transition_t* ts;

	len = strlen(input);
	while (cur < len) {
		c = input[cur];
		switch (c) {
			case ' ':
				break;
			case '{':
				ts_lexme = next;
				break;
			case ':':
				if (after_state && next != '{') {
					ts_state_next = next;
					ts = transition_new();
					table_add_transition(t, ts);
				}
				break;
			case ',':
				if (after_state) {
					ts_lexme = next;
				}
				break;
			case '}':
				if (after_state) {
					after_state = 0;
				}
				break;
			default:
				if (! after_state && next == ':') {
					after_state = 1;
					ts_state = c;
				}
				break;
		}
		cur++;
	}
}