Esempio n. 1
0
static void
mpd_fs_pane_init (MpdFsPane *self)
{
  ClutterActor  *tile;

  self->priv = FS_PANEL_PRIVATE (self);

  mx_box_layout_set_orientation (MX_BOX_LAYOUT (self), MX_ORIENTATION_VERTICAL);
  mx_box_layout_set_spacing (MX_BOX_LAYOUT (self), 21);
  clutter_actor_set_width (CLUTTER_ACTOR (self), MPD_PANE_WIDTH);

  tile = mpd_disk_tile_new ();
  clutter_container_add_actor (CLUTTER_CONTAINER (self), tile);

  tile = mpd_folder_tile_new ();
  clutter_actor_set_width (tile,  MPD_FOLDER_TILE_WIDTH);
  g_signal_connect (tile, "request-hide",
                    G_CALLBACK (_tile_request_hide_cb), self);
  clutter_container_add_actor (CLUTTER_CONTAINER (self), tile);
  clutter_container_child_set (CLUTTER_CONTAINER (self), tile,
                               "expand", TRUE,
                               "x-fill", TRUE,
                               "y-fill", TRUE,
                               NULL);
}
Esempio n. 2
0
gboolean
rotate_video (UserInterface * ui)
{
  gfloat *x = 0, *y = 0, *z = 0;
  gfloat vid_width, vid_height;
  gfloat x_center, y_center;
  gdouble angle;

  angle = clutter_actor_get_rotation (ui->texture, CLUTTER_Z_AXIS, x, y, z);
  angle += 90;
  if (angle == 360)
    angle = 0;
  clutter_actor_set_rotation (ui->texture, CLUTTER_Z_AXIS, angle, 0, 0, 0);

  if (angle == 90 || angle == 270) {
    ui->rotated = TRUE;

    if (!ui->fullscreen) {
      clutter_actor_set_width (ui->stage, ui->media_height);
      clutter_actor_set_height (ui->stage, ui->media_width);
    }
  } else {
    ui->rotated = FALSE;

    if (!ui->fullscreen) {
      clutter_actor_set_width (ui->stage, ui->media_width);
      clutter_actor_set_height (ui->stage, ui->media_height);
    }
  }

  size_change (CLUTTER_STAGE (ui->stage), ui);
}
Esempio n. 3
0
static gboolean
update_label_idle (gpointer data)
{
  TestUpdate *update = data;
  guint width;
  gchar *text;

  text = g_strdup_printf ("Count to %d", update->count);

  clutter_label_set_text (CLUTTER_LABEL (update->thread_data->label), text);
  clutter_actor_set_width (update->thread_data->label, -1);

  if (update->count == 0)
    width = 0;
  else if (update->count == 100)
    width = 350;
  else
    width = (guint) (update->count / 100.0 * 350.0);

  clutter_actor_set_width (update->thread_data->progress, width);

  g_free (text);
  g_free (update);

  return FALSE;
}
Esempio n. 4
0
static void _lambda45_ (GObject* _self_, GParamSpec* pspec, EaseSelectionRectangle* self) {
#line 52 "ease-selection-rectangle.vala"
	g_return_if_fail (_self_ != NULL);
#line 52 "ease-selection-rectangle.vala"
	g_return_if_fail (pspec != NULL);
#line 53 "ease-selection-rectangle.vala"
	clutter_actor_set_width ((ClutterActor*) self->priv->top, clutter_actor_get_width ((ClutterActor*) self));
#line 54 "ease-selection-rectangle.vala"
	clutter_actor_set_width ((ClutterActor*) self->priv->bottom, clutter_actor_get_width ((ClutterActor*) self));
#line 55 "ease-selection-rectangle.vala"
	clutter_actor_set_x ((ClutterActor*) self->priv->right, clutter_actor_get_width ((ClutterActor*) self));
#line 92 "ease-selection-rectangle.c"
}
Esempio n. 5
0
EaseSelectionRectangle* ease_selection_rectangle_construct (GType object_type) {
#line 128 "ease-selection-rectangle.c"
	EaseSelectionRectangle * self;
	ClutterRectangle* _tmp0_ = NULL;
	ClutterRectangle* _tmp1_;
	ClutterRectangle* _tmp2_ = NULL;
	ClutterRectangle* _tmp3_;
	ClutterRectangle* _tmp4_ = NULL;
	ClutterRectangle* _tmp5_;
	ClutterRectangle* _tmp6_ = NULL;
	ClutterRectangle* _tmp7_;
	self = g_object_newv (object_type, 0, NULL);
#line 35 "ease-selection-rectangle.vala"
	ease_selection_rectangle_make (self, &_tmp0_);
#line 35 "ease-selection-rectangle.vala"
	self->priv->top = (_tmp1_ = _tmp0_, _g_object_unref0 (self->priv->top), _tmp1_);
#line 36 "ease-selection-rectangle.vala"
	ease_selection_rectangle_make (self, &_tmp2_);
#line 36 "ease-selection-rectangle.vala"
	self->priv->bottom = (_tmp3_ = _tmp2_, _g_object_unref0 (self->priv->bottom), _tmp3_);
#line 37 "ease-selection-rectangle.vala"
	ease_selection_rectangle_make (self, &_tmp4_);
#line 37 "ease-selection-rectangle.vala"
	self->priv->left = (_tmp5_ = _tmp4_, _g_object_unref0 (self->priv->left), _tmp5_);
#line 38 "ease-selection-rectangle.vala"
	ease_selection_rectangle_make (self, &_tmp6_);
#line 38 "ease-selection-rectangle.vala"
	self->priv->right = (_tmp7_ = _tmp6_, _g_object_unref0 (self->priv->right), _tmp7_);
#line 40 "ease-selection-rectangle.vala"
	clutter_actor_set_height ((ClutterActor*) self->priv->top, (float) EASE_SELECTION_RECTANGLE_HEIGHT);
#line 41 "ease-selection-rectangle.vala"
	g_object_set ((ClutterActor*) self->priv->top, "anchor-y", (float) (EASE_SELECTION_RECTANGLE_HEIGHT / 2), NULL);
#line 43 "ease-selection-rectangle.vala"
	clutter_actor_set_height ((ClutterActor*) self->priv->bottom, (float) EASE_SELECTION_RECTANGLE_HEIGHT);
#line 44 "ease-selection-rectangle.vala"
	g_object_set ((ClutterActor*) self->priv->bottom, "anchor-y", (float) (EASE_SELECTION_RECTANGLE_HEIGHT / 2), NULL);
#line 46 "ease-selection-rectangle.vala"
	clutter_actor_set_width ((ClutterActor*) self->priv->left, (float) EASE_SELECTION_RECTANGLE_HEIGHT);
#line 47 "ease-selection-rectangle.vala"
	g_object_set ((ClutterActor*) self->priv->left, "anchor-x", (float) (EASE_SELECTION_RECTANGLE_HEIGHT / 2), NULL);
#line 49 "ease-selection-rectangle.vala"
	clutter_actor_set_width ((ClutterActor*) self->priv->right, (float) EASE_SELECTION_RECTANGLE_HEIGHT);
#line 50 "ease-selection-rectangle.vala"
	g_object_set ((ClutterActor*) self->priv->right, "anchor-x", (float) (EASE_SELECTION_RECTANGLE_HEIGHT / 2), NULL);
#line 52 "ease-selection-rectangle.vala"
	g_signal_connect_object ((GObject*) self, "notify::width", (GCallback) __lambda45__g_object_notify, self, 0);
#line 58 "ease-selection-rectangle.vala"
	g_signal_connect_object ((GObject*) self, "notify::height", (GCallback) __lambda46__g_object_notify, self, 0);
#line 175 "ease-selection-rectangle.c"
	return self;
}
Esempio n. 6
0
static void
mex_content_box_set_property (GObject      *object,
                              guint         property_id,
                              const GValue *value,
                              GParamSpec   *pspec)
{
  MexContentBoxPrivate *priv = MEX_CONTENT_BOX (object)->priv;
  gint int_value;

  switch (property_id)
    {
    case PROP_IMPORTANT:
      mex_content_box_set_important (MEX_CONTENT_BOX (object),
                                     g_value_get_boolean (value));
      break;

    case PROP_THUMB_WIDTH:
      int_value = g_value_get_int (value);
      if (int_value > 0)
        g_object_set (priv->tile,
                      "thumb-width", int_value,
                      "thumb-height", (int) (int_value * DEFAULT_THUMB_RATIO),
                      NULL);
      break;

    case PROP_ACTION_LIST_WIDTH:
      clutter_actor_set_width (priv->action_list, g_value_get_int (value));
      break;

    default:
      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
    }
}
Esempio n. 7
0
static void
mex_content_tile_set_property (GObject      *object,
                               guint         property_id,
                               const GValue *value,
                               GParamSpec   *pspec)
{
  MexContentTilePrivate *priv = MEX_CONTENT_TILE (object)->priv;

  switch (property_id)
    {
    case PROP_THUMB_WIDTH:
      priv->thumb_width = g_value_get_int (value);

      /* Ideally we'd use the image_set variable to determine if we set this,
       * but for all our use-cases, we always want the set thumbnail width.
       */
      clutter_actor_set_width (priv->image, priv->thumb_width);
      break;

    case PROP_THUMB_HEIGHT:
      priv->thumb_height = g_value_get_int (value);
      if (priv->image_set)
        clutter_actor_set_height (priv->image, priv->thumb_height);
      break;


    default:
      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
    }

}
static void
art_cb (RBExtDBKey *key, const char *filename, GValue *data, MxFrame *frame)
{
    ClutterActor *image;
    GdkPixbuf *pixbuf;

    if (data == NULL || G_VALUE_HOLDS (data, GDK_TYPE_PIXBUF) == FALSE) {
        return;
    }

    clutter_threads_enter ();

    image = gtk_clutter_texture_new ();
    pixbuf = GDK_PIXBUF (g_value_get_object (data));
    gtk_clutter_texture_set_from_pixbuf (GTK_CLUTTER_TEXTURE (image), pixbuf, NULL);
    if (clutter_actor_get_height (image) > MAX_IMAGE_HEIGHT) {
        clutter_actor_set_height (image, MAX_IMAGE_HEIGHT);
        clutter_texture_set_keep_aspect_ratio (CLUTTER_TEXTURE (image), TRUE);
    }
    if (clutter_actor_get_width (image) > MAX_IMAGE_HEIGHT) {
        clutter_actor_set_width (image, MAX_IMAGE_HEIGHT);
    }
    mx_bin_set_child (MX_BIN (frame), image);
    clutter_actor_show_all (CLUTTER_ACTOR (frame));

    clutter_threads_leave ();
}
Esempio n. 9
0
/* NOTE: actor is not used with MOD_MODULE
 */
void lib_object_prepare(obj_t *obj, manager_actor_t *actor)
{
	ClutterActor *stage;
	uint		i;

	assert( obj != NULL );

	/* RENDERING !
	 */
	stage = clutter_stage_get_default();
	obj->group = clutter_group_new();
	clutter_container_add_actor(CLUTTER_CONTAINER(stage), obj->group);

	/* create box
	 */
	for ( i = 0; i < obj->beatcount; i++ )
	{
		obj->beatbox[i] = clutter_round_rectangle_new();
		clutter_actor_set_width(obj->beatbox[i], obj->boxsize);
		clutter_actor_set_height(obj->beatbox[i], obj->boxsize);
		clutter_actor_set_x(obj->beatbox[i], obj->boxdx + (i *  (obj->boxsize + obj->boxmx)));
		clutter_actor_set_y(obj->beatbox[i], obj->boxdy);
		clutter_round_rectangle_set_color(CLUTTER_ROUND_RECTANGLE(obj->beatbox[i]), &obj->beat_background);
		clutter_round_rectangle_set_border_color(CLUTTER_ROUND_RECTANGLE(obj->beatbox[i]), &obj->beat_border);
		clutter_round_rectangle_set_border_width(CLUTTER_ROUND_RECTANGLE(obj->beatbox[i]), obj->boxborderwidth);
		clutter_container_add_actor(CLUTTER_CONTAINER(obj->group), obj->beatbox[i]);
	}

	na_event_observe(NA_EV_BPM, metronome_bpm, obj);
}
Esempio n. 10
0
static void ease_pdf_actor_draw_page (EasePdfActor* self) {
#line 415 "ease-pdf-actor.c"
	PopplerPage* page;
	double width;
	double height;
	cairo_t* cr;
	GError * _inner_error_ = NULL;
#line 58 "ease-pdf-actor.vala"
	g_return_if_fail (self != NULL);
#line 61 "ease-pdf-actor.vala"
	page = _g_object_ref0 (poppler_document_get_page (self->priv->doc, self->priv->current_page));
#line 62 "ease-pdf-actor.vala"
	width = (double) 0;
#line 62 "ease-pdf-actor.vala"
	height = (double) 0;
#line 63 "ease-pdf-actor.vala"
	poppler_page_get_size (page, &width, &height);
#line 66 "ease-pdf-actor.vala"
	if (self->priv->texture == NULL) {
#line 433 "ease-pdf-actor.c"
		ClutterCairoTexture* _tmp0_;
		ClutterActor* _tmp1_;
#line 68 "ease-pdf-actor.vala"
		self->priv->texture = (_tmp0_ = g_object_ref_sink ((ClutterCairoTexture*) clutter_cairo_texture_new ((guint) ((gint) width), (guint) ((gint) height))), _g_object_unref0 (self->priv->texture), _tmp0_);
#line 69 "ease-pdf-actor.vala"
		clutter_container_add_actor ((ClutterContainer*) (_tmp1_ = ((EaseActor*) self)->contents, CLUTTER_IS_GROUP (_tmp1_) ? ((ClutterGroup*) _tmp1_) : NULL), (ClutterActor*) self->priv->texture);
#line 71 "ease-pdf-actor.vala"
		clutter_actor_set_width ((ClutterActor*) self->priv->texture, clutter_actor_get_width (((EaseActor*) self)->contents));
#line 72 "ease-pdf-actor.vala"
		clutter_actor_set_height ((ClutterActor*) self->priv->texture, clutter_actor_get_height (((EaseActor*) self)->contents));
#line 74 "ease-pdf-actor.vala"
		g_signal_connect_object ((GObject*) ((EaseActor*) self)->contents, "notify::width", (GCallback) __lambda53__g_object_notify, self, 0);
#line 78 "ease-pdf-actor.vala"
		g_signal_connect_object ((GObject*) ((EaseActor*) self)->contents, "notify::height", (GCallback) __lambda54__g_object_notify, self, 0);
#line 448 "ease-pdf-actor.c"
	} else {
#line 86 "ease-pdf-actor.vala"
		clutter_cairo_texture_set_surface_size (self->priv->texture, (guint) ((gint) width), (guint) ((gint) height));
#line 452 "ease-pdf-actor.c"
	}
#line 90 "ease-pdf-actor.vala"
	clutter_cairo_texture_clear (self->priv->texture);
#line 91 "ease-pdf-actor.vala"
	cr = clutter_cairo_texture_create (self->priv->texture);
#line 92 "ease-pdf-actor.vala"
	ease_background_cairo_render (self->priv->pdf_element->background, cr, (gint) width, (gint) height, ease_document_get_path (ease_slide_get_parent (ease_element_get_parent (((EaseActor*) self)->element))), &_inner_error_);
#line 460 "ease-pdf-actor.c"
	if (_inner_error_ != NULL) {
		_cairo_destroy0 (cr);
		_g_object_unref0 (page);
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
		g_clear_error (&_inner_error_);
		return;
	}
#line 94 "ease-pdf-actor.vala"
	poppler_page_render (page, cr);
#line 470 "ease-pdf-actor.c"
	_cairo_destroy0 (cr);
	_g_object_unref0 (page);
}
Esempio n. 11
0
static void
gml_gtk_widget_create_rect (ClutterActor *parent, JsonObject *obj)
{
    GList *l = NULL;
    GList *p = NULL;
    ClutterColor color = { 0x00, 0x00, 0x00, 0xff };
    ClutterActor *rect = clutter_rectangle_new ();

    l = json_object_get_members (obj);

    for (p = l; p; p = p->next) {
        if (!strcmp (p->data, "width")) {
            clutter_actor_set_width (rect, (float)json_object_get_int_member (obj, p->data));
        } else if (!strcmp (p->data, "height")) {
            clutter_actor_set_height (rect, (float)json_object_get_int_member (obj, p->data));
        } else if (!strcmp (p->data, "x")) {
            clutter_actor_set_x (rect, (float)json_object_get_int_member (obj, p->data));
        } else if (!strcmp (p->data, "y")) {
            clutter_actor_set_y (rect, (float)json_object_get_int_member (obj, p->data));
        } else if (!strcmp (p->data, "color")) {
            clutter_color_from_string (&(color), json_object_get_string_member (obj, p->data));
            clutter_rectangle_set_color (CLUTTER_RECTANGLE (rect), &color);
        } else if (!strcmp (p->data, "border.width")) {
            clutter_rectangle_set_border_width (CLUTTER_RECTANGLE (rect), json_object_get_int_member (obj, p->data));
        } else if (!strcmp (p->data, "border.color")) {
            clutter_color_from_string (&(color), json_object_get_string_member (obj, p->data));
            clutter_rectangle_set_border_color (CLUTTER_RECTANGLE (rect), &color);
        }
    }

    clutter_container_add_actor (CLUTTER_CONTAINER (parent), rect);
}
Esempio n. 12
0
static void _lambda53_ (GObject* obj, GParamSpec* pspec, EasePdfActor* self) {
#line 74 "ease-pdf-actor.vala"
	g_return_if_fail (obj != NULL);
#line 74 "ease-pdf-actor.vala"
	g_return_if_fail (pspec != NULL);
#line 75 "ease-pdf-actor.vala"
	clutter_actor_set_width ((ClutterActor*) self->priv->texture, clutter_actor_get_width (((EaseActor*) self)->contents));
#line 383 "ease-pdf-actor.c"
}
static void
mex_telepathy_channel_create_busy_box (MexTelepathyChannel *self)
{
  MexTelepathyChannelPrivate *priv = MEX_TELEPATHY_CHANNEL (self)->priv;

  ClutterActor *calling_padding;
  ClutterActor *calling_box;
  ClutterActor *spinner;
  ClutterActor *stack;

  priv->busy_label = mx_label_new();
  mx_label_set_y_align (MX_LABEL (priv->busy_label), MX_ALIGN_MIDDLE);
  mx_label_set_x_align (MX_LABEL (priv->busy_label), MX_ALIGN_MIDDLE);

  spinner = mx_spinner_new ();

  calling_box = mx_box_layout_new ();

  mx_box_layout_add_actor_with_properties (MX_BOX_LAYOUT (calling_box),
                                           priv->busy_label,
                                           0,
                                           "expand",
                                           TRUE,
                                           "x-align",
                                           MX_ALIGN_START,
                                           "x-fill",
                                           TRUE,
                                           NULL);

  mx_box_layout_add_actor_with_properties (MX_BOX_LAYOUT (calling_box),
                                           spinner,
                                           1,
                                           "expand",
                                           TRUE,
                                           "x-align",
                                           MX_ALIGN_END,
                                           "x-fill",
                                           FALSE,
                                           NULL);

  priv->busy_box = mx_frame_new ();
  clutter_actor_set_width (CLUTTER_ACTOR (priv->busy_box), 475);
  mx_stylable_set_style_class (MX_STYLABLE (priv->busy_box),
                               "CallingFrameBorder");
  calling_padding = mx_frame_new ();
  mx_stylable_set_style_class (MX_STYLABLE (calling_padding),
                               "CallingFrame");
  mx_bin_set_child (MX_BIN (priv->busy_box), calling_padding);
  mx_bin_set_fill (MX_BIN (priv->busy_box), TRUE, TRUE);
  mx_bin_set_child (MX_BIN (calling_padding), calling_box);
  mx_bin_set_fill (MX_BIN (calling_padding), TRUE, TRUE);

  stack = mx_window_get_child (mex_get_main_window ());
  clutter_container_add (CLUTTER_CONTAINER (stack), priv->busy_box, NULL);
  mx_stack_child_set_x_fill (MX_STACK (stack), priv->busy_box, FALSE);
  mx_stack_child_set_y_fill (MX_STACK (stack), priv->busy_box, FALSE);
}
Esempio n. 14
0
gint
main (gint   argc,
      gchar *argv[])
{
   ClutterContent *image;
   ClutterActor *stage;
   ClutterActor *box;
   GdkPixbuf *pixbuf;

   if (clutter_init(&argc, &argv) != CLUTTER_INIT_SUCCESS) {
      g_printerr("Failed to initialize clutter.\n");
      return 1;
   }

   stage = clutter_stage_new();
   clutter_stage_set_title (CLUTTER_STAGE (stage), "Image Viewer");
   clutter_actor_set_size(stage, 1400, 1200);
   clutter_actor_set_position(stage, 100, 100);
   g_signal_connect (stage, "destroy", G_CALLBACK (clutter_main_quit), NULL);
   clutter_actor_show(stage);

   pixbuf = gdk_pixbuf_new_from_file("testimage_8000.png", NULL);
   g_assert(pixbuf);

   image = clutter_image_new();
   clutter_image_set_data(CLUTTER_IMAGE(image),
                          gdk_pixbuf_get_pixels(pixbuf),
                          gdk_pixbuf_get_has_alpha(pixbuf) ?
                             COGL_PIXEL_FORMAT_RGBA_8888 :
                             COGL_PIXEL_FORMAT_RGB_888,
                          gdk_pixbuf_get_width(pixbuf),
                          gdk_pixbuf_get_height(pixbuf),
                          gdk_pixbuf_get_rowstride(pixbuf),
                          NULL);
   g_object_unref(pixbuf);

   box = clutter_actor_new();
   clutter_actor_set_position(box, 0, 0);
   clutter_actor_set_height(box, 8000);
   clutter_actor_set_width(box, 1200);
   //clutter_actor_add_constraint(box, clutter_bind_constraint_new(stage, CLUTTER_BIND_WIDTH, 0.0));
   clutter_actor_set_content(box, image);
   clutter_actor_add_child(stage, box);
   clutter_actor_show(box);

   clutter_stage_set_fullscreen(CLUTTER_STAGE(stage), TRUE);

   clutter_actor_animate(box,
                         CLUTTER_EASE_IN_OUT_QUAD,
                         4000,
                         "y", -8000.0,
                         NULL);

   clutter_main();

   return 0;
}
Esempio n. 15
0
G_MODULE_EXPORT int
test_clip_main (int argc, char **argv)
{
  CallbackData data;
  ClutterActor *stub_actor, *label;
  gchar *file;

  if (clutter_init (&argc, &argv) != CLUTTER_INIT_SUCCESS)
    return 1;

  data.current_clip.type = CLIP_NONE;
  data.clips = NULL;

  data.stage = clutter_stage_new ();
  clutter_stage_set_title (CLUTTER_STAGE (data.stage), "Clipping");
  g_signal_connect (data.stage, "destroy", G_CALLBACK (clutter_main_quit), NULL);

  stub_actor = clutter_rectangle_new ();
  clutter_container_add (CLUTTER_CONTAINER (data.stage), stub_actor, NULL);

  file = g_build_filename (TESTS_DATADIR, "redhand.png", NULL);
  data.hand = cogl_texture_new_from_file (file,
                                          COGL_TEXTURE_NONE,
                                          COGL_PIXEL_FORMAT_ANY,
                                          NULL);
  g_free (file);

  label = clutter_text_new_with_text ("Sans 12px", instructions);
  clutter_text_set_line_wrap (CLUTTER_TEXT (label), TRUE);
  clutter_actor_set_width (label, clutter_actor_get_width (data.stage) - 310);
  clutter_actor_set_y (label,
                       clutter_actor_get_height (data.stage)
                       - clutter_actor_get_height (label));
  clutter_container_add (CLUTTER_CONTAINER (data.stage), label, NULL);

  g_signal_connect (stub_actor, "paint", G_CALLBACK (on_paint), &data);

  g_signal_connect (data.stage, "button-press-event",
                    G_CALLBACK (on_button_press), &data);
  g_signal_connect (data.stage, "button-release-event",
                    G_CALLBACK (on_button_release), &data);
  g_signal_connect (data.stage, "motion-event",
                    G_CALLBACK (on_motion), &data);
  g_signal_connect (data.stage, "key-press-event",
                    G_CALLBACK (on_key_press), &data);

  clutter_actor_show (data.stage);

  clutter_main ();

  cogl_handle_unref (data.hand);

  free_clips (&data);

  return 0;
}
Esempio n. 16
0
static void meta_switcher_present_list(MetaSwitcher* self)
{
    MetaSwitcherPrivate* priv = self->priv;
    MetaScreen* screen = meta_plugin_get_screen(priv->plugin);
    MetaDisplay* display = meta_screen_get_display(screen);

    // windows on all workspaces
    GList* ls = meta_display_get_tab_list(display, META_TAB_LIST_NORMAL, NULL);
    if (!ls) return;

    GList* ws_list = meta_screen_get_workspaces(screen);
    g_list_foreach(ws_list, (GFunc)hook_ws_event, self);

    if (!priv->apps) {
        priv->apps = g_ptr_array_new();
        GList* orig = ls;
        while (ls) {
            g_ptr_array_add(priv->apps, ls->data);
            ls = ls->next;
        }
        g_list_free(orig);
    }

    clutter_actor_set_height(priv->top, APP_ACTOR_HEIGHT + 20);

    gint x = 0, y = 0;
    for (int i = 0; i < priv->apps->len; i++) {
        _add_app(self, g_ptr_array_index(priv->apps, i), &x, &y);
    }

    clutter_actor_set_margin_left(g_hash_table_lookup(priv->icons, g_ptr_array_index(priv->apps, 0)), 10);
    clutter_actor_set_margin_right(g_hash_table_lookup(priv->icons, g_ptr_array_index(priv->apps, priv->apps->len-1)), 10);

    gint screen_width = 0, screen_height = 0;
    meta_screen_get_size(screen, &screen_width, &screen_height);
    /* TODO: @sonald set top width when bigger than screen width */
    if (clutter_actor_get_width(priv->top) > screen_width)
        clutter_actor_set_width(priv->top, screen_width);

    gfloat w = clutter_actor_get_width(priv->top), h = clutter_actor_get_height(priv->top),
           tx = (screen_width - w) / 2, ty = (screen_height - h) / 2;
#if DEBUG
    g_message("%s, line %d, %f %f", __func__, __LINE__, w, tx);
#endif
    clutter_actor_set_position(priv->top, tx, ty);

    ClutterContent* canvas = clutter_canvas_new();
    clutter_canvas_set_size(CLUTTER_CANVAS(canvas), w, h);
    clutter_actor_set_content(priv->top, canvas);
    g_object_unref(canvas);
    g_signal_connect(canvas, "draw", G_CALLBACK(on_switcher_background_draw), self);

    clutter_content_invalidate(canvas);

    priv->selected_id = 0;
}
Esempio n. 17
0
G_MODULE_EXPORT gint
test_text_main (gint    argc,
                gchar **argv)
{
  ClutterActor *stage;
  ClutterActor *text;
  ClutterColor  text_color       = { 0x33, 0xff, 0x33, 0xff };
  ClutterColor  cursor_color     = { 0xff, 0x33, 0x33, 0xff };
  ClutterColor  background_color = { 0x00, 0x00, 0x00, 0xff };

  clutter_init (&argc, &argv);

  stage = clutter_stage_get_default ();
  clutter_stage_set_color (CLUTTER_STAGE (stage), &background_color);

  text = clutter_text_new_full (FONT, "·", &text_color);

  clutter_container_add (CLUTTER_CONTAINER (stage), text, NULL);
  clutter_actor_set_position (text, 40, 30);
  clutter_actor_set_width (text, 1024);
  clutter_text_set_line_wrap (CLUTTER_TEXT (text), TRUE);

  clutter_actor_set_reactive (text, TRUE);
  clutter_stage_set_key_focus (CLUTTER_STAGE (stage), text);

  clutter_text_set_editable (CLUTTER_TEXT (text), TRUE);
  clutter_text_set_selectable (CLUTTER_TEXT (text), TRUE);
  clutter_text_set_cursor_color (CLUTTER_TEXT (text), &cursor_color);

  if (argv[1])
    {
      GError *error = NULL;
      gchar *utf8;

      g_file_get_contents (argv[1], &utf8, NULL, &error);
      if (error)
        {
          utf8 = g_strconcat ("Unable to open '", argv[1], "':\n",
                              error->message,
                              NULL);
          g_error_free (error);
        }

      clutter_text_set_text (CLUTTER_TEXT (text), utf8);
    }
  else
    clutter_text_set_text (CLUTTER_TEXT (text), runes);

  clutter_actor_set_size (stage, 1024, 768);
  clutter_actor_show (stage);

  clutter_main ();

  return EXIT_SUCCESS;
}
/* use a 'missing image' image instead? */
static void
set_blank_image (MxFrame *frame)
{
    ClutterActor *blank;
    ClutterColor nothing = { 0, 0, 0, 0 };

    blank = clutter_rectangle_new_with_color (&nothing);
    clutter_actor_set_height (blank, MAX_IMAGE_HEIGHT);
    clutter_actor_set_width (blank, MAX_IMAGE_HEIGHT);
    mx_bin_set_child (MX_BIN (frame), blank);
}
Esempio n. 19
0
static void
_stage_width_notify_cb (ClutterActor  *stage,
                        GParamSpec    *pspec,
                        MpdShell      *shell)
{
  float width;

  width = clutter_actor_get_width (stage);

  clutter_actor_set_width (CLUTTER_ACTOR (shell), width);
}
static void
size_allocate_cb(GtkWidget* widget,
                 GdkRectangle* alloc,
                 gpointer udata)
{
    GtPlayerBackendGstreamerClutter* self = GT_PLAYER_BACKEND_GSTREAMER_CLUTTER(udata);
    GtPlayerBackendGstreamerClutterPrivate* priv = gt_player_backend_gstreamer_clutter_get_instance_private(self);

    clutter_actor_set_width(priv->video_actor, (gfloat) alloc->width);
    clutter_actor_set_height(priv->video_actor, (gfloat) alloc->height);
}
Esempio n. 21
0
static void
plate3anim (ClutterTimeline *timeline,
            const gchar     *marker_name,
            guint            frame_num,
            ClutterActor    *labelbg)
{
	clutter_actor_save_easing_state (labelbg);
	clutter_actor_set_easing_duration (labelbg, 583);
	clutter_actor_set_easing_mode (labelbg, CLUTTER_EASE_OUT_CUBIC);
	clutter_actor_set_width(labelbg, 400);
	clutter_actor_restore_easing_state (labelbg);
}
static void
penge_count_tile_set_compact (PengeCountTile *self,
                              gboolean        compact)
{
  PengeCountTilePrivate *priv = self->priv;

  if (priv->compact == compact)
    return;

  priv->compact = compact;
  if (compact)
  {
    clutter_actor_set_width (CLUTTER_ACTOR (self), -1);
    
    g_object_ref (priv->count_label);
    clutter_container_remove_actor (CLUTTER_CONTAINER (priv->table),
                                    priv->count_label);
    clutter_actor_unparent (priv->count_label);
    clutter_actor_add_child ((self), priv->count_label);

    penge_count_tile_update_tooltip (self);
  }
  else
  {
    clutter_actor_set_width (CLUTTER_ACTOR (self), 280);
    clutter_actor_reparent (priv->count_label, priv->table);
    clutter_container_child_set (CLUTTER_CONTAINER (priv->table),
                                 priv->count_label,
                                 "column", 0,
                                 "row", 0,
                                 "row-span", 2,
                                 "x-expand", FALSE,
                                 NULL);
    clutter_actor_add_child ((self), priv->table);

    mx_widget_set_tooltip_text (MX_WIDGET (self), NULL);
  }
}
Esempio n. 23
0
static void
mex_grid_view_timeline_cb (ClutterTimeline *timeline,
                           gint             msecs,
                           MexGridView     *view)
{
  MexGridViewPrivate *priv = MEX_GRID_VIEW (view)->priv;

  clutter_actor_queue_relayout (CLUTTER_ACTOR (view));

  if (priv->state == STATE_CLOSING_STAGE2)
    {
      gfloat progress = clutter_alpha_get_alpha (priv->alpha);
      gfloat target_width = clutter_actor_box_get_width (&priv->target_box);

      clutter_actor_set_width (priv->menu,
                               MENU_MIN_WIDTH * (1 - progress)
                               + target_width * progress);
    }
  else
    {
      clutter_actor_set_width (priv->menu, MENU_MIN_WIDTH);
    }
}
Esempio n. 24
0
void ease_welcome_actor_set_actor_size (EaseWelcomeActor* self, float w, float h) {
#line 175 "ease-welcome-actor.vala"
	g_return_if_fail (self != NULL);
#line 177 "ease-welcome-actor.vala"
	clutter_actor_set_width ((ClutterActor*) self->priv->rect, roundf (w) + (EASE_WELCOME_ACTOR_RECT_B_W * 2));
#line 178 "ease-welcome-actor.vala"
	clutter_actor_set_height ((ClutterActor*) self->priv->rect, roundf (h) + (EASE_WELCOME_ACTOR_RECT_B_W * 2));
#line 180 "ease-welcome-actor.vala"
	clutter_actor_set_width ((ClutterActor*) self->priv->hilight_rect, roundf (w) + (EASE_WELCOME_ACTOR_HLRECT_W * 2));
#line 181 "ease-welcome-actor.vala"
	clutter_actor_set_height ((ClutterActor*) self->priv->hilight_rect, roundf (h) + (EASE_WELCOME_ACTOR_HLRECT_W * 2));
#line 183 "ease-welcome-actor.vala"
	clutter_actor_set_x ((ClutterActor*) self->priv->text, roundf ((w / 2) - (clutter_actor_get_width ((ClutterActor*) self->priv->text) / 2)));
#line 184 "ease-welcome-actor.vala"
	clutter_actor_set_y ((ClutterActor*) self->priv->text, roundf (h + EASE_WELCOME_ACTOR_TEXT_OFFSET));
#line 186 "ease-welcome-actor.vala"
	if (self->priv->slide_actor != NULL) {
#line 188 "ease-welcome-actor.vala"
		clutter_actor_set_width ((ClutterActor*) self->priv->slide_actor, roundf (w));
#line 189 "ease-welcome-actor.vala"
		clutter_actor_set_height ((ClutterActor*) self->priv->slide_actor, roundf (h));
#line 314 "ease-welcome-actor.c"
	}
}
Esempio n. 25
0
static ClutterActor *
_make_offline_banner (MnbPeoplePanel *pane,
                      gint            width)
{
  ClutterActor *tile;
  ClutterActor *tmp_text;
  ClutterActor *label, *bin;

  tile = mx_table_new ();
  mx_table_set_row_spacing (MX_TABLE (tile), 8);

  clutter_actor_set_width (tile, width);
  clutter_actor_set_name (tile,
                          "people-pane-you-offline-banner");
  label = mx_label_new_with_text (_("To see your IM contacts, "
                                    "you need to go online."));
  clutter_actor_set_name (label,
                          "people-pane-you-offline-label");
  tmp_text = mx_label_get_clutter_text (MX_LABEL (label));
  clutter_text_set_line_wrap (CLUTTER_TEXT (tmp_text), TRUE);
  clutter_text_set_line_wrap_mode (CLUTTER_TEXT (tmp_text),
                                   PANGO_WRAP_WORD_CHAR);
  clutter_text_set_ellipsize (CLUTTER_TEXT (tmp_text),
                              PANGO_ELLIPSIZE_NONE);

  bin = mx_frame_new ();
  mx_bin_set_child (MX_BIN (bin), (label));
  mx_bin_set_alignment (MX_BIN (bin), MX_ALIGN_START, MX_ALIGN_MIDDLE);
  mx_bin_set_fill (MX_BIN (bin), FALSE, TRUE);
  clutter_actor_set_name (bin,
                          "people-pane-you-offline-bin");

  mx_table_insert_actor_with_properties (MX_TABLE (tile),
                                         (ClutterActor *)bin,
                                         0,
                                         0,
                                         "x-expand", TRUE,
                                         "y-expand", FALSE,
                                         "x-fill", TRUE,
                                         "y-fill", FALSE,
                                         "x-align", MX_ALIGN_START,
                                         NULL);
  return tile;
}
Esempio n. 26
0
static void
ntf_tray_constructed (GObject *object)
{
  NtfTray        *self = (NtfTray*) object;
  ClutterActor   *actor = (ClutterActor*) self;
  NtfTrayPrivate *priv = self->priv;
  ClutterActor   *button;

  if (G_OBJECT_CLASS (ntf_tray_parent_class)->constructed)
    G_OBJECT_CLASS (ntf_tray_parent_class)->constructed (object);

  priv->notifiers = clutter_actor_new ();

  clutter_actor_add_child(actor, priv->notifiers);
  /* 'Overflow' control */
  priv->control = mx_table_new ();

  mx_stylable_set_style_class (MX_STYLABLE (priv->control),
                               "notification-control");
#if 0
  button = mx_button_new ();
  mx_button_set_label (MX_BUTTON (button), _("Dismiss All"));
  mx_table_add_actor (MX_TABLE (priv->control), button, 0, 1);

  g_signal_connect (button, "clicked",
                    G_CALLBACK (ntf_tray_dismiss_all_cb), self);
#endif //DV
  priv->control_text = mx_label_new ();
  mx_table_add_actor (MX_TABLE (priv->control),
                        CLUTTER_ACTOR (priv->control_text), 0, 0);

  clutter_actor_set_width (priv->control, CLUSTER_WIDTH);

  clutter_actor_add_child(actor, priv->control);

  clutter_actor_hide (priv->control);

  clutter_actor_set_reactive (priv->notifiers, TRUE);
  clutter_actor_set_reactive (actor, TRUE);

  mnb_input_manager_push_actor (actor, MNB_INPUT_LAYER_TOP);
}
Esempio n. 27
0
G_MODULE_EXPORT int
test_texture_material_main (int argc, char *argv[])
{
  ClutterActor *stage, *box;
  ClutterLayoutManager *manager;
  int i;

  g_thread_init (NULL);
  clutter_threads_init ();
  clutter_init (&argc, &argv);

  stage = clutter_stage_new ();
  clutter_stage_set_title (CLUTTER_STAGE (stage), "Texture Material");
  g_signal_connect (stage, "destroy", G_CALLBACK (clutter_main_quit), NULL);

  manager = clutter_flow_layout_new (CLUTTER_FLOW_HORIZONTAL);
  box = clutter_box_new (manager);
  clutter_actor_add_constraint (box, clutter_bind_constraint_new (stage, CLUTTER_BIND_WIDTH, -25.0));
  clutter_actor_add_constraint (box, clutter_bind_constraint_new (stage, CLUTTER_BIND_HEIGHT, -25.0));
  clutter_actor_set_position (box, 25.0, 25.0);
  clutter_container_add_actor (CLUTTER_CONTAINER (stage), box);

  for (i = 0; i < 48; i++)
    {
      ClutterActor *texture = clutter_texture_new ();

      clutter_texture_set_load_data_async (CLUTTER_TEXTURE (texture), TRUE);
      clutter_texture_set_keep_aspect_ratio (CLUTTER_TEXTURE (texture), TRUE);
      clutter_texture_set_from_file (CLUTTER_TEXTURE (texture),
                                     TESTS_DATADIR "/redhand.png",
                                     NULL);
      clutter_actor_set_width (texture, 96);

      clutter_container_add_actor (CLUTTER_CONTAINER (box), texture);
    }

  clutter_actor_show (stage);

  clutter_main ();

  return EXIT_SUCCESS;
}
Esempio n. 28
0
EasePdfActor* ease_pdf_actor_construct (GType object_type, EasePdfElement* e, EaseActorContext c) {
#line 325 "ease-pdf-actor.c"
	EasePdfActor * self;
	Block9Data* _data9_;
	EasePdfElement* _tmp0_;
	ClutterActor* _tmp1_;
	PopplerDocument* _tmp2_;
#line 34 "ease-pdf-actor.vala"
	g_return_val_if_fail (e != NULL, NULL);
#line 333 "ease-pdf-actor.c"
	_data9_ = g_slice_new0 (Block9Data);
	_data9_->_ref_count_ = 1;
	_data9_->e = _g_object_ref0 (e);
#line 36 "ease-pdf-actor.vala"
	_data9_->self = g_object_ref (self = (EasePdfActor*) ease_actor_construct (object_type, (EaseElement*) _data9_->e, c));
#line 38 "ease-pdf-actor.vala"
	self->priv->pdf_element = (_tmp0_ = _g_object_ref0 (_data9_->e), _g_object_unref0 (self->priv->pdf_element), _tmp0_);
#line 40 "ease-pdf-actor.vala"
	((EaseActor*) self)->contents = (_tmp1_ = (ClutterActor*) g_object_ref_sink ((ClutterGroup*) clutter_group_new ()), _g_object_unref0 (((EaseActor*) self)->contents), _tmp1_);
#line 41 "ease-pdf-actor.vala"
	clutter_actor_set_width (((EaseActor*) self)->contents, ease_element_get_width ((EaseElement*) _data9_->e));
#line 42 "ease-pdf-actor.vala"
	clutter_actor_set_height (((EaseActor*) self)->contents, ease_element_get_height ((EaseElement*) _data9_->e));
#line 43 "ease-pdf-actor.vala"
	clutter_actor_set_x ((ClutterActor*) self, ease_element_get_x ((EaseElement*) _data9_->e));
#line 44 "ease-pdf-actor.vala"
	clutter_actor_set_y ((ClutterActor*) self, ease_element_get_y ((EaseElement*) _data9_->e));
#line 45 "ease-pdf-actor.vala"
	clutter_container_add_actor ((ClutterContainer*) self, ((EaseActor*) self)->contents);
#line 47 "ease-pdf-actor.vala"
	self->priv->current_page = ease_pdf_element_get_displayed_page (_data9_->e);
#line 48 "ease-pdf-actor.vala"
	self->priv->doc = (_tmp2_ = _g_object_ref0 (_data9_->e->pdf_doc), _g_object_unref0 (self->priv->doc), _tmp2_);
#line 49 "ease-pdf-actor.vala"
	ease_pdf_actor_draw_page (self);
#line 52 "ease-pdf-actor.vala"
	g_signal_connect_data ((EaseElement*) _data9_->e, "changed", (GCallback) __lambda55__ease_element_changed, block9_data_ref (_data9_), (GClosureNotify) block9_data_unref, 0);
#line 361 "ease-pdf-actor.c"
	block9_data_unref (_data9_);
	return self;
}
Esempio n. 29
0
static void manager_event_cursor_new(unsigned short type, void *userdata, void *data)
{
	tuio_cursor_t *o = (tuio_cursor_t *)data;
	manager_cursor_t *el;
	ClutterActor *stage, *ac;
	uint wx, wy;

	assert( data != NULL );

	el = malloc(sizeof(struct manager_cursor_s));
	LIST_INSERT_HEAD(&manager_cursors_list, el, next);

	el->id = o->s_id;
	snprintf(el->label, sizeof(el->label), "%d", o->s_id);

	el->actor = clutter_group_new();

	stage = clutter_stage_get_default();
	clutter_actor_get_size(stage, &wx, &wy);

	/* create rectangle
	 */
	ac = clutter_rectangle_new_with_color(&obj_background);
	clutter_rectangle_set_border_color((ClutterRectangle *)ac, &obj_border);
	clutter_rectangle_set_border_width((ClutterRectangle *)ac, 2);
	clutter_actor_set_height(ac, 10);
	clutter_actor_set_width(ac, 10);

	clutter_container_add_actor(CLUTTER_CONTAINER(el->actor), ac);

	/* some position
	 */
	clutter_actor_set_position(el->actor, o->xpos * (float)wx, o->ypos * (float)wy);

	clutter_actor_show(el->actor);

	clutter_container_add_actor(CLUTTER_CONTAINER(stage), el->actor);
}
static void
mpd_devices_pane_init (MpdDevicesPane *self)
{
  ClutterActor  *label;
  ClutterActor  *tile;

  mx_box_layout_set_orientation (MX_BOX_LAYOUT (self), MX_ORIENTATION_VERTICAL);
  clutter_actor_set_width (CLUTTER_ACTOR (self), MPD_DEVICES_PANE_WIDTH);

  label = mx_label_new_with_text (_("Other devices"));
  clutter_actor_set_name (label, "pane-label");
  clutter_container_add_actor (CLUTTER_CONTAINER (self), label);

  tile = mpd_devices_tile_new ();
  g_signal_connect (tile, "request-hide",
                    G_CALLBACK (_tile_request_hide_cb), self);
  g_signal_connect (tile, "request-show",
                    G_CALLBACK (_tile_request_show_cb), self);
  clutter_container_add_actor (CLUTTER_CONTAINER (self), tile);
  clutter_container_child_set (CLUTTER_CONTAINER (self), tile,
                               "expand", true,
                               NULL);
}