From 0139503d38f9df51b4f911712afa9e100501a153 Mon Sep 17 00:00:00 2001 From: Øyvind Kolås Date: Fri, 05 Jun 2009 12:52:37 +0000 Subject: Changes to accomodate API changes in clutter master. --- diff --git a/data/hrn-item-quick-play.png b/data/hrn-item-quick-play.png index 13b57dd..bcd5dcc 100644 --- a/data/hrn-item-quick-play.png +++ b/data/hrn-item-quick-play.png Binary files differ diff --git a/data/hrn-item-zoom.png b/data/hrn-item-zoom.png index a5e8568..093bdd2 100644 --- a/data/hrn-item-zoom.png +++ b/data/hrn-item-zoom.png Binary files differ diff --git a/src/hornsey.c b/src/hornsey.c index 07ceab5..9d4972c 100644 --- a/src/hornsey.c +++ b/src/hornsey.c @@ -790,8 +790,8 @@ main (gint argc, { UniqueApp *app; ClutterColor stage_bg = {HRN_STAGE_COLOR}; - guint stage_width = 0; - guint stage_height = 0; + gfloat stage_width = 0; + gfloat stage_height = 0; gboolean stage_fullscreen = TRUE; gboolean no_disclaimer = TRUE; /* change this to FALSE and the annoying disclaimer diff --git a/src/hrn-cluster.c b/src/hrn-cluster.c index ef3b89d..48e7230 100644 --- a/src/hrn-cluster.c +++ b/src/hrn-cluster.c @@ -62,12 +62,12 @@ static void ensure_labels (HrnCluster *cluster, static void hrn_cluster_allocate (ClutterActor *self, const ClutterActorBox *box, - gboolean origin_changed) + ClutterAllocationFlags flags) { ClutterActorClass *parent_class; parent_class = CLUTTER_ACTOR_CLASS (hrn_cluster_parent_class); - parent_class->allocate (self, box, origin_changed); + parent_class->allocate (self, box, flags); if (hrn_switcher_get_state (HRN_SWITCHER (self))>0) { @@ -85,17 +85,17 @@ hrn_cluster_allocate (ClutterActor *self, } if (CLUTTER_ACTOR(HRN_CLUSTER(self)->priv->frame)) - clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_CLUSTER(self)->priv->frame), origin_changed); + clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_CLUSTER(self)->priv->frame), flags); #if HRN_USE_NORMAL_LABELS if (HRN_CLUSTER(self)->title) { - clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_CLUSTER(self)->title), origin_changed); - clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_CLUSTER(self)->meta), origin_changed); + clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_CLUSTER(self)->title), flags); + clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_CLUSTER(self)->meta), flags); } if (HRN_CLUSTER(self)->title2) { - clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_CLUSTER(self)->title2), origin_changed); - clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_CLUSTER(self)->meta2), origin_changed); + clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_CLUSTER(self)->title2), flags); + clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_CLUSTER(self)->meta2), flags); } #endif } @@ -226,6 +226,46 @@ hrn_cluster_pick (ClutterActor *actor, in_pick--; } +static void +hrn_cluster_map (ClutterActor *self) +{ + HrnCluster *cluster = HRN_CLUSTER (self); + HrnClusterPrivate *priv = cluster->priv; + + CLUTTER_ACTOR_CLASS (hrn_cluster_parent_class)->map (self); + + if (cluster->title) + clutter_actor_map (CLUTTER_ACTOR (cluster->title)); + if (cluster->meta) + clutter_actor_map (CLUTTER_ACTOR (cluster->meta)); + if (cluster->title2) + clutter_actor_map (CLUTTER_ACTOR (cluster->title2)); + if (cluster->meta2) + clutter_actor_map (CLUTTER_ACTOR (cluster->meta2)); + if (priv->frame) + clutter_actor_map (priv->frame); +} + +static void +hrn_cluster_unmap (ClutterActor *self) +{ + HrnCluster *cluster = HRN_CLUSTER (self); + HrnClusterPrivate *priv = cluster->priv; + + CLUTTER_ACTOR_CLASS (hrn_cluster_parent_class)->unmap (self); + + if (cluster->title) + clutter_actor_unmap (CLUTTER_ACTOR (cluster->title)); + if (cluster->meta) + clutter_actor_unmap (CLUTTER_ACTOR (cluster->meta)); + if (cluster->title2) + clutter_actor_unmap (CLUTTER_ACTOR (cluster->title2)); + if (cluster->meta2) + clutter_actor_unmap (CLUTTER_ACTOR (cluster->meta2)); + if (priv->frame) + clutter_actor_unmap (priv->frame); +} + static void hrn_cluster_class_init (HrnClusterClass *klass) @@ -238,6 +278,8 @@ hrn_cluster_class_init (HrnClusterClass *klass) actor_class->paint = hrn_cluster_paint; actor_class->pick = hrn_cluster_pick; actor_class->allocate = hrn_cluster_allocate; + actor_class->map = hrn_cluster_map; + actor_class->unmap = hrn_cluster_unmap; g_type_class_add_private (gobject_class, sizeof (HrnClusterPrivate)); } @@ -528,7 +570,7 @@ static void cluster_set_frame (HrnCluster *cluster, } hrn_texture_frame_set_draw_middle (frame, TRUE); /* this should be set only for the modes that need it */ - clutter_actor_queue_redraw (frame); + clutter_actor_queue_redraw (CLUTTER_ACTOR (frame)); } @@ -555,7 +597,7 @@ hrn_cluster_constructor (GType type, if (front_handle == 0) { front_handle = cogl_texture_new_from_file (PKGDATADIR "hrn-stack-front.png", - 63, COGL_TEXTURE_NONE, + COGL_TEXTURE_NONE, COGL_PIXEL_FORMAT_ANY, NULL); front_material = cogl_material_new (); @@ -583,14 +625,14 @@ hrn_cluster_dispose (GObject *object) #if HRN_USE_NORMAL_LABELS HrnCluster *cluster = HRN_CLUSTER (object); if (cluster->title) - g_object_unref (cluster->title); + clutter_actor_destroy (CLUTTER_ACTOR (cluster->title)); if (cluster->meta) - g_object_unref (cluster->meta); + clutter_actor_destroy (CLUTTER_ACTOR (cluster->meta)); cluster->title = cluster->meta = NULL; if (cluster->title2) - g_object_unref (cluster->title2); + clutter_actor_destroy (CLUTTER_ACTOR (cluster->title2)); if (cluster->meta2) - g_object_unref (cluster->meta2); + clutter_actor_destroy (CLUTTER_ACTOR (cluster->meta2)); cluster->title2 = cluster->meta2 = NULL; #endif G_OBJECT_CLASS (hrn_cluster_parent_class)->dispose (object); @@ -1000,8 +1042,8 @@ static gboolean cluster_enter (ClutterActor *actor, if (child) { clutter_actor_animate (child, CLUTTER_EASE_IN_OUT_QUINT, 800, - "x", (gint)(hoverdata[num][i][0]+0), - "y", (gint)(hoverdata[num][i][1]+0), + "x", (gdouble)(hoverdata[num][i][0]+0), + "y", (gdouble)(hoverdata[num][i][1]+0), "scale-x", hoverdata[num][i][2], "scale-y", hoverdata[num][i][2], "rotation-angle-z", 0.0, @@ -1048,8 +1090,8 @@ static gboolean cluster_leave (ClutterActor *actor, child = g_list_nth_data (children, num-1-i); clutter_actor_animate (child, CLUTTER_EASE_IN_OUT_QUINT, 800, - "x", (gint)clustered_x (i), - "y", (gint)clustered_y (i), + "x", (gdouble)clustered_x (i), + "y", (gdouble)clustered_y (i), "scale-x", clustered_scale (i), "scale-y", clustered_scale (i), "rotation-angle-z", clustered_rotation (i, accum), @@ -1311,7 +1353,6 @@ static void cluster_alone_to_grouped_adapt (HrnSwitcher *switcher, if (child) { clutter_actor_set_position (child, LIN(0.0, clustered_x (i)), LIN(0, clustered_y (i))); - if(0)clutter_actor_set_depthu (child, CLUTTER_UNITS_FROM_FLOAT (LIN( clustered_depth(i) * 0.1, clustered_depth(i)))); clutter_actor_set_scale (child, LIN(1.0, clustered_scale(i)), LIN(1.0, clustered_scale(i))); if (i>0)clutter_actor_set_opacity (child, LIN(0.0, 255.0)); @@ -1422,7 +1463,7 @@ static void cluster_eightlim_to_eight_adapt (HrnSwitcher *switcher, g_list_free (children); } -static gint xs[MAX_CLUSTER_SIZE]; +static gfloat xs[MAX_CLUSTER_SIZE]; static gint ys[MAX_CLUSTER_SIZE]; static void cluster_eight_to_four_adapt (HrnSwitcher *switcher, diff --git a/src/hrn-drag-n-drop.c b/src/hrn-drag-n-drop.c index 835f041..861e7d0 100644 --- a/src/hrn-drag-n-drop.c +++ b/src/hrn-drag-n-drop.c @@ -112,8 +112,8 @@ static gboolean drag_capture (ClutterActor *stage, if (rel_x * rel_x + rel_y * rel_y > 16 && !drag->in_drag) { - gint x0, y0; - guint w, h; + gfloat x0, y0; + gfloat w, h; drag->in_drag = TRUE; drag->ghost = clutter_clone_new (drag->drag_data->actor); diff --git a/src/hrn-element.c b/src/hrn-element.c index fe4f964..3a7b7da 100644 --- a/src/hrn-element.c +++ b/src/hrn-element.c @@ -58,7 +58,7 @@ static void sync_size (ClutterActor *actor, gpointer unused, HrnSwitcher *switcher) { - guint w,h; + gfloat w,h; clutter_actor_get_size (actor, &w, &h); if (DIM/(w*1.0) > DIM / (h*1.0)) @@ -104,7 +104,7 @@ static ClutterActor *element_square (BklItem *item) { if (g_str_equal (orientation, "right - top")) { - guint w,h; + gfloat w,h; clutter_actor_set_rotation (actor, CLUTTER_Z_AXIS, 90, 0,0,0); clutter_actor_set_anchor_point_from_gravity (actor, CLUTTER_GRAVITY_SOUTH_WEST); ClutterActor *group = clutter_group_new (); @@ -183,7 +183,7 @@ static ClutterActor *element_thumb (HrnSwitcher *switcher, { if (g_str_equal (orientation, "right - top")) { - guint w,h; + gfloat w,h; clutter_actor_set_rotation (actor, CLUTTER_Z_AXIS, 90, 0,0,0); clutter_actor_set_anchor_point_from_gravity (actor, CLUTTER_GRAVITY_SOUTH_WEST); ClutterActor *group = clutter_group_new (); @@ -243,7 +243,7 @@ static ClutterActor *element_original (HrnSwitcher *switcher, g_print ("%s %s %s\n", uri, path, path); if (path) { - guint w,h; + gfloat w,h; actor = hrn_texture_load (path); clutter_actor_get_size (actor, &w, &h); diff --git a/src/hrn-image-player.c b/src/hrn-image-player.c index d46f941..1f1253a 100644 --- a/src/hrn-image-player.c +++ b/src/hrn-image-player.c @@ -68,17 +68,17 @@ hrn_image_player_get_property (GObject *object, static void hrn_image_player_allocate (ClutterActor *actor, const ClutterActorBox *box, - gboolean origin_changed) + ClutterAllocationFlags flags) { HrnImagePlayer *player = (HrnImagePlayer *) actor; HrnImagePlayerPrivate *priv = player->priv; CLUTTER_ACTOR_CLASS (hrn_image_player_parent_class)->allocate - (actor, box, origin_changed); + (actor, box, flags); if (priv->image_player) { clutter_actor_allocate_preferred_size (priv->image_player, - origin_changed); + flags); } } @@ -101,6 +101,29 @@ hrn_image_player_pick (ClutterActor *actor, } static void +hrn_image_player_map (ClutterActor *self) +{ + HrnImagePlayerPrivate *priv = HRN_IMAGE_PLAYER (self)->priv; + + CLUTTER_ACTOR_CLASS (hrn_image_player_parent_class)->map (self); + + if (priv->image_player) + clutter_actor_map (CLUTTER_ACTOR (priv->image_player)); +} + +static void +hrn_image_player_unmap (ClutterActor *self) +{ + HrnImagePlayerPrivate *priv = HRN_IMAGE_PLAYER (self)->priv; + + CLUTTER_ACTOR_CLASS (hrn_image_player_parent_class)->unmap (self); + + if (priv->image_player) + clutter_actor_unmap (CLUTTER_ACTOR (priv->image_player)); +} + + +static void hrn_image_player_class_init (HrnImagePlayerClass *klass) { GObjectClass *o_class = (GObjectClass *) klass; @@ -114,6 +137,8 @@ hrn_image_player_class_init (HrnImagePlayerClass *klass) a_class->allocate = hrn_image_player_allocate; a_class->paint = hrn_image_player_paint; a_class->pick = hrn_image_player_pick; + a_class->map = hrn_image_player_map; + a_class->unmap = hrn_image_player_unmap; g_type_class_add_private (klass, sizeof (HrnImagePlayerPrivate)); } @@ -161,7 +186,7 @@ player_set_uri (HrnIfacePlayer *player, BklItem *item; const char *orient; char *filename; - guint w, h, sw, sh; + gfloat w, h, sw, sh; double xs, ys, scale; int x, y; diff --git a/src/hrn-item-image.c b/src/hrn-item-image.c index 2cf15e7..2b36973 100644 --- a/src/hrn-item-image.c +++ b/src/hrn-item-image.c @@ -120,6 +120,10 @@ HrnItemImage *hrn_item_image_create (BklItem *item, hrn_switcher_add_state_full (self, NULL, -1, 0.25, item_image_alone, item, NULL, NULL); + +#if 1 + + #if HRN_ITEM_USE_FRAME hrn_switcher_add_state_full (self, NULL, -1, 0.55, hrn_item_element_framed, item, @@ -140,5 +144,7 @@ HrnItemImage *hrn_item_image_create (BklItem *item, item_image_alone, item, NULL, NULL); +#endif + return HRN_ITEM_IMAGE (self); } diff --git a/src/hrn-item.c b/src/hrn-item.c index 255bb80..275b35a 100644 --- a/src/hrn-item.c +++ b/src/hrn-item.c @@ -104,12 +104,12 @@ hrn_item_dispose (GObject *object); static void hrn_item_allocate (ClutterActor *self, const ClutterActorBox *box, - gboolean origin_changed) + ClutterAllocationFlags flags) { ClutterActorClass *parent_class; parent_class = CLUTTER_ACTOR_CLASS (hrn_item_parent_class); - parent_class->allocate (self, box, origin_changed); + parent_class->allocate (self, box, flags); @@ -133,14 +133,14 @@ hrn_item_allocate (ClutterActor *self, if (HRN_ITEM(self)->title) { - clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_ITEM(self)->title), origin_changed); - clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_ITEM(self)->meta), origin_changed); + clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_ITEM(self)->title), flags); + clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_ITEM(self)->meta), flags); } if (HRN_ITEM(self)->title2) { - clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_ITEM(self)->title2), origin_changed); - clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_ITEM(self)->meta2), origin_changed); + clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_ITEM(self)->title2), flags); + clutter_actor_allocate_preferred_size (CLUTTER_ACTOR(HRN_ITEM(self)->meta2), flags); } @@ -163,6 +163,7 @@ static void hrn_item_paint (ClutterActor *actor) { ClutterActorClass *parent_class; + HrnItem *item = HRN_ITEM (actor); parent_class = CLUTTER_ACTOR_CLASS (hrn_item_parent_class); @@ -182,19 +183,27 @@ hrn_item_paint (ClutterActor *actor) if (hrn_switcher_get_state (HRN_SWITCHER (actor))>0) { + if (!hrn_item_get_view (actor)) + return; switch (hrn_view_labels_visible (hrn_item_get_view (actor))) { case ZOOM_ITEMS_8: - clutter_actor_paint (CLUTTER_ACTOR (HRN_ITEM (actor)->title)); - clutter_actor_paint (CLUTTER_ACTOR (HRN_ITEM (actor)->meta)); + if (item->title) + clutter_actor_paint (CLUTTER_ACTOR (item->title)); + if (item->meta) + clutter_actor_paint (CLUTTER_ACTOR (item->meta)); break; case ZOOM_ITEMS_4: - clutter_actor_paint (CLUTTER_ACTOR (HRN_ITEM (actor)->title2)); - clutter_actor_paint (CLUTTER_ACTOR (HRN_ITEM (actor)->meta2)); + if (item->title2) + clutter_actor_paint (CLUTTER_ACTOR (item->title2)); + if (item->meta2) + clutter_actor_paint (CLUTTER_ACTOR (item->meta2)); break; case ZOOM_ITEMS_3: - clutter_actor_paint (CLUTTER_ACTOR (HRN_ITEM (actor)->title2)); - clutter_actor_paint (CLUTTER_ACTOR (HRN_ITEM (actor)->meta2)); + if (item->title2) + clutter_actor_paint (CLUTTER_ACTOR (item->title2)); + if (item->meta2) + clutter_actor_paint (CLUTTER_ACTOR (item->meta2)); } } } @@ -216,6 +225,41 @@ static void hrn_item_get_property (GObject *gobject, GValue *value, GParamSpec *pspec); +static void +hrn_item_map (ClutterActor *self) +{ + HrnItem *item = HRN_ITEM (self); + + CLUTTER_ACTOR_CLASS (hrn_item_parent_class)->map (self); + + if (item->title) + clutter_actor_map (CLUTTER_ACTOR (item->title)); + if (item->meta) + clutter_actor_map (CLUTTER_ACTOR (item->meta)); + if (item->title2) + clutter_actor_map (CLUTTER_ACTOR (item->title2)); + if (item->meta2) + clutter_actor_map (CLUTTER_ACTOR (item->meta2)); +} + +static void +hrn_item_unmap (ClutterActor *self) +{ + HrnItem *item = HRN_ITEM (self); + + CLUTTER_ACTOR_CLASS (hrn_item_parent_class)->unmap (self); + + if (item->title) + clutter_actor_unmap (CLUTTER_ACTOR (item->title)); + if (item->meta) + clutter_actor_unmap (CLUTTER_ACTOR (item->meta)); + if (item->title2) + clutter_actor_unmap (CLUTTER_ACTOR (item->title2)); + if (item->meta2) + clutter_actor_unmap (CLUTTER_ACTOR (item->meta2)); +} + + static void hrn_item_class_init (HrnItemClass *klass) @@ -228,6 +272,8 @@ hrn_item_class_init (HrnItemClass *klass) gobject_class->constructor = hrn_item_constructor; actor_class->paint = hrn_item_paint; actor_class->pick = hrn_item_pick; + actor_class->map = hrn_item_map; + actor_class->unmap = hrn_item_unmap; actor_class->allocate = hrn_item_allocate; gobject_class->set_property = hrn_item_set_property; gobject_class->get_property = hrn_item_get_property; @@ -386,15 +432,14 @@ hrn_item_dispose (GObject *object) { HrnItem *item = HRN_ITEM (object); if (item->title) - g_object_unref (item->title); + clutter_actor_destroy (CLUTTER_ACTOR (item->title)); if (item->meta) - g_object_unref (item->meta); - item->title = item->meta = NULL; + clutter_actor_destroy (CLUTTER_ACTOR (item->meta)); if (item->title2) - g_object_unref (item->title2); + clutter_actor_destroy (CLUTTER_ACTOR (item->title2)); if (item->meta2) - g_object_unref (item->meta2); - item->title2 = item->meta2 = NULL; + clutter_actor_destroy (CLUTTER_ACTOR (item->meta2)); + item->title = item->meta = item->title2 = item->meta2 = NULL; } #endif G_OBJECT_CLASS (hrn_item_parent_class)->dispose (object); @@ -1020,7 +1065,7 @@ ClutterActor *hrn_item_element_framed (HrnSwitcher *switcher, ClutterActor *group = clutter_group_new (); ClutterActor *item_image; - gint x; + gfloat x; gint y; @@ -1028,8 +1073,8 @@ ClutterActor *hrn_item_element_framed (HrnSwitcher *switcher, priv->frame = clutter_rectangle_new (); #else priv->frame = hrn_texture_frame_new (frame_tex(), 35,35,35,35); - hrn_texture_frame_set_draw_middle (priv->frame, TRUE); - hrn_texture_frame_set_can_pinch (priv->frame, TRUE); + hrn_texture_frame_set_draw_middle (HRN_TEXTURE_FRAME (priv->frame), TRUE); + hrn_texture_frame_set_can_pinch (HRN_TEXTURE_FRAME (priv->frame), TRUE); #endif switch (state_no) /* squareness will depend on these states ... */ diff --git a/src/hrn-item.h b/src/hrn-item.h index 2767630..5a73b3d 100644 --- a/src/hrn-item.h +++ b/src/hrn-item.h @@ -89,12 +89,6 @@ hrn_item_drop (ClutterActor *actor, GType hrn_item_get_type (void) G_GNUC_CONST; -/* this is a factory method that creates a hrn item of the correct class */ -HrnItem *hrn_item_create (BklItem *item); - - - - diff --git a/src/hrn-popup.c b/src/hrn-popup.c index 6e00d4e..9c1bd81 100644 --- a/src/hrn-popup.c +++ b/src/hrn-popup.c @@ -89,7 +89,7 @@ void hrn_popup_actor (gint x, gint y, ClutterActor *actor) { - guint w2,h2; + gfloat w2,h2; gint w,h; ClutterActor *stage = clutter_stage_get_default (); @@ -172,7 +172,7 @@ void hrn_popup_actor_fixed (gint x, gint y, ClutterActor *actor) { - guint w2,h2; + gfloat w2,h2; gint w,h; ClutterActor *stage = clutter_stage_get_default (); @@ -196,13 +196,13 @@ ClutterActor *hrn_popup_actions (gpointer *actions, gint i; gint max_width = 0; ClutterActor *group = CLUTTER_ACTOR (g_object_new (NBTK_TYPE_GRID, - "width", 0, + "width", 0.0, NULL)); nbtk_widget_set_style_class_name (NBTK_WIDGET (group), "HrnPopup"); for (i=0; actions[i]; i+=2) { - guint w,h; + gfloat w,h; ClutterActor *label; label = CLUTTER_ACTOR (nbtk_button_new_with_label (gettext (actions[i]))); @@ -240,13 +240,13 @@ ClutterActor *hrn_popup_actions_bolded (gpointer *actions, gint i; gint max_width = 0; ClutterActor *group = CLUTTER_ACTOR (g_object_new (NBTK_TYPE_GRID, - "width", 0, + "width", 0.0, NULL)); nbtk_widget_set_style_class_name (NBTK_WIDGET (group), "HrnPopup"); for (i=0; actions[i]; i+=2) { - guint w,h; + gfloat w,h; ClutterActor *label; label = CLUTTER_ACTOR (nbtk_button_new_with_label (gettext (actions[i]))); diff --git a/src/hrn-queue.c b/src/hrn-queue.c index 818b413..1d9c019 100644 --- a/src/hrn-queue.c +++ b/src/hrn-queue.c @@ -99,7 +99,7 @@ hrn_queue_dispose (GObject *object); static void hrn_queue_allocate (ClutterActor *self, const ClutterActorBox *box, - gboolean origin_changed); + ClutterAllocationFlags flags); static void hrn_queue_reposition (HrnQueue *queue); static void hrn_queue_paint (ClutterActor *actor); @@ -112,6 +112,28 @@ static void hrn_queue_style_changed (NbtkWidget *widget); static void +hrn_queue_map (ClutterActor *self) +{ + HrnQueuePrivate *priv = HRN_QUEUE (self)->priv; + + CLUTTER_ACTOR_CLASS (hrn_queue_parent_class)->map (self); + + if (priv->toptable) + clutter_actor_map (CLUTTER_ACTOR (priv->toptable)); +} + +static void +hrn_queue_unmap (ClutterActor *self) +{ + HrnQueuePrivate *priv = HRN_QUEUE (self)->priv; + + CLUTTER_ACTOR_CLASS (hrn_queue_parent_class)->unmap (self); + + if (priv->toptable) + clutter_actor_unmap (CLUTTER_ACTOR (priv->toptable)); +} + +static void hrn_queue_class_init (HrnQueueClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); @@ -124,6 +146,8 @@ hrn_queue_class_init (HrnQueueClass *klass) actor_class->allocate = hrn_queue_allocate; actor_class->paint = hrn_queue_paint; actor_class->pick = hrn_queue_pick; + actor_class->map = hrn_queue_map; + actor_class->unmap = hrn_queue_unmap; widget_class->style_changed = hrn_queue_style_changed; g_type_class_add_private (gobject_class, sizeof (HrnQueuePrivate)); @@ -133,8 +157,8 @@ hrn_queue_class_init (HrnQueueClass *klass) static void hrn_queue_init (HrnQueue *self) { - HrnQueuePrivate *priv = HRN_QUEUE_GET_PRIVATE (self); - memset (priv, 0, sizeof (priv)); + self->priv = HRN_QUEUE_GET_PRIVATE (self); + memset (self->priv, 0, sizeof (self->priv)); } static gboolean completed (ClutterAnimation *anim, @@ -151,14 +175,14 @@ static gboolean expanded_clicked_cb (NbtkButton *button, if (nbtk_button_get_checked (button)) { clutter_actor_animate (queue, CLUTTER_EASE_IN_OUT_CUBIC, 350, - "y", -300, + "y", -300.0, NULL); clutter_actor_show (CLUTTER_ACTOR (priv->scrollview)); } else { clutter_actor_animate (queue, CLUTTER_EASE_IN_OUT_CUBIC, 350, - "y", 0, + "y", 0.0, "signal::completed", completed, priv->scrollview, NULL); } @@ -617,15 +641,15 @@ NbtkAdjustment *hrn_queue_get_audio_adjustment (HrnQueue *queue) static void hrn_queue_allocate (ClutterActor *self, const ClutterActorBox *box, - gboolean origin_changed) + ClutterAllocationFlags flags) { HrnQueuePrivate *priv = HRN_QUEUE_GET_PRIVATE (self); ClutterActorClass *parent_class; parent_class = CLUTTER_ACTOR_CLASS (hrn_queue_parent_class); - parent_class->allocate (self, box, origin_changed); - clutter_actor_allocate_preferred_size (CLUTTER_ACTOR (priv->toptable), origin_changed); + parent_class->allocate (self, box, flags); + clutter_actor_allocate_preferred_size (CLUTTER_ACTOR (priv->toptable), flags); } static void @@ -652,8 +676,8 @@ hrn_queue_pick (ClutterActor *actor, const ClutterColor *color) { HrnQueuePrivate *priv = HRN_QUEUE_GET_PRIVATE (actor); - guint width; - guint height; + gfloat width; + gfloat height; clutter_actor_get_size (CLUTTER_ACTOR (priv->toptable), &width, &height); #if CLUTTER_MINOR_VERSION < 9 @@ -897,17 +921,15 @@ hrn_item_can_drop (ClutterActor *actor, priv = HRN_QUEUE_GET_PRIVATE (queue); { - ClutterUnit xu, yu; + gfloat xu, yu; gdouble foo; NbtkScrollBar *scrollbar = NBTK_SCROLL_BAR (nbtk_scroll_view_get_vscroll_bar (NBTK_SCROLL_VIEW (priv->scrollview))); foo = nbtk_adjustment_get_value (nbtk_scroll_bar_get_adjustment (scrollbar)); - xu = CLUTTER_UNITS_FROM_INT (x); - yu = CLUTTER_UNITS_FROM_INT (y); clutter_actor_transform_stage_point (CLUTTER_ACTOR (queue), - xu, yu, &xu, &yu); + x, y, &xu, &yu); - no=((CLUTTER_UNITS_TO_INT(yu) + (gint)foo)-ROW_OFFSET)/ROW_HEIGHT - 1; + no=((floor(yu) + (gint)foo)-ROW_OFFSET)/ROW_HEIGHT - 1; if (no==-1) return TRUE; @@ -952,17 +974,15 @@ hrn_item_drop (ClutterActor *actor, priv = HRN_QUEUE_GET_PRIVATE (queue); { - ClutterUnit xu, yu; + gfloat xu, yu; gdouble foo; NbtkScrollBar *scrollbar = NBTK_SCROLL_BAR (nbtk_scroll_view_get_vscroll_bar (NBTK_SCROLL_VIEW (priv->scrollview))); foo = nbtk_adjustment_get_value (nbtk_scroll_bar_get_adjustment (scrollbar)); - xu = CLUTTER_UNITS_FROM_INT (x); - yu = CLUTTER_UNITS_FROM_INT (y); clutter_actor_transform_stage_point (CLUTTER_ACTOR (queue), - xu, yu, &xu, &yu); + x, y, &xu, &yu); - no=((CLUTTER_UNITS_TO_INT(yu) + (gint)foo)-ROW_OFFSET)/ROW_HEIGHT-1; + no=((floor(yu) + (gint)foo)-ROW_OFFSET)/ROW_HEIGHT-1; if (yu < QUEUE_TIP_HEIGHT) no = -1; } @@ -1010,17 +1030,15 @@ gboolean hrn_cluster_dropped (ClutterActor *actor, priv = HRN_QUEUE_GET_PRIVATE (queue); { - ClutterUnit xu, yu; + gfloat xu, yu; gdouble foo; NbtkScrollBar *scrollbar = NBTK_SCROLL_BAR (nbtk_scroll_view_get_vscroll_bar (NBTK_SCROLL_VIEW (priv->scrollview))); foo = nbtk_adjustment_get_value (nbtk_scroll_bar_get_adjustment (scrollbar)); - xu = CLUTTER_UNITS_FROM_INT (x); - yu = CLUTTER_UNITS_FROM_INT (y); clutter_actor_transform_stage_point (CLUTTER_ACTOR (queue), xu, yu, &xu, &yu); - no=((CLUTTER_UNITS_TO_INT(yu) + (gint)foo)-ROW_OFFSET)/ROW_HEIGHT-1; + no=((floor (yu) + (gint)foo)-ROW_OFFSET)/ROW_HEIGHT-1; if (yu < QUEUE_TIP_HEIGHT) no = -1; } @@ -1067,15 +1085,13 @@ static gboolean from_queue_drop (ClutterActor *actor, } { - ClutterUnit xu, yu; + gfloat xu, yu; gdouble foo; NbtkScrollBar *scrollbar = NBTK_SCROLL_BAR (nbtk_scroll_view_get_vscroll_bar (NBTK_SCROLL_VIEW (priv->scrollview))); foo = nbtk_adjustment_get_value (nbtk_scroll_bar_get_adjustment (scrollbar)); - xu = CLUTTER_UNITS_FROM_INT (x); - yu = CLUTTER_UNITS_FROM_INT (y); clutter_actor_transform_stage_point (CLUTTER_ACTOR (queue_item->queue), - xu, yu, &xu, &yu); + x, y, &xu, &yu); no=0; { @@ -1096,7 +1112,7 @@ static gboolean from_queue_drop (ClutterActor *actor, g_object_ref (item); hrn_queue_remove (queue_item->queue, no); - no=((CLUTTER_UNITS_TO_INT(yu) + (gint)foo)-ROW_OFFSET)/ROW_HEIGHT-1; + no=((floor(yu) + (gint)foo)-ROW_OFFSET)/ROW_HEIGHT-1; if (yu < QUEUE_TIP_HEIGHT) no = -1; @@ -1126,9 +1142,10 @@ static void hrn_queue_reposition (HrnQueue *queue) QueueItem *item = iter->data; if (CLUTTER_ACTOR_IS_VISIBLE (item->actor)) { - gint x = 7; - gint y = no * ROW_HEIGHT + ROW_OFFSET; - + gfloat x = 7; + gfloat y = no * ROW_HEIGHT + ROW_OFFSET; +#if 0 +#endif if (clutter_actor_get_x(item->actor)==0&& clutter_actor_get_y(item->actor)==0) @@ -1163,7 +1180,7 @@ static void add_item (HrnQueue *queue, QueueItem *queue_item) gchar *meta = hrn_item_get_meta (item); NbtkWidget *text = nbtk_label_new (title); NbtkWidget *meta_text = nbtk_label_new (meta); - guint w,h; + gfloat w,h; gdouble scale; nbtk_widget_set_style_class_name (text, "HrnQueueItemLabel"); diff --git a/src/hrn-searchbar.c b/src/hrn-searchbar.c index fe2c60c..63ba06b 100644 --- a/src/hrn-searchbar.c +++ b/src/hrn-searchbar.c @@ -47,7 +47,7 @@ hrn_search_bar_dispose (GObject *object); static void hrn_searchbar_allocate (ClutterActor *self, const ClutterActorBox *box, - gboolean origin_changed); + ClutterAllocationFlags flags); static void hrn_searchbar_paint (ClutterActor *actor); static void @@ -55,7 +55,32 @@ hrn_searchbar_pick (ClutterActor *actor, const ClutterColor *color); +static void +hrn_searchbar_map (ClutterActor *self) +{ + HrnSearchBarPrivate *priv = HRN_SEARCH_BAR (self)->priv; + + CLUTTER_ACTOR_CLASS (hrn_search_bar_parent_class)->map (self); + + if (priv->pin_button) + clutter_actor_map (priv->pin_button); + if (priv->clear_button) + clutter_actor_map (priv->clear_button); +} + +static void +hrn_searchbar_unmap (ClutterActor *self) +{ + HrnSearchBarPrivate *priv = HRN_SEARCH_BAR (self)->priv; + + CLUTTER_ACTOR_CLASS (hrn_search_bar_parent_class)->unmap (self); + + if (priv->pin_button) + clutter_actor_unmap (priv->pin_button); + if (priv->clear_button) + clutter_actor_unmap (priv->clear_button); +} static void hrn_search_bar_style_changed (NbtkWidget *widget) @@ -78,6 +103,8 @@ hrn_search_bar_class_init (HrnSearchBarClass *klass) gobject_class->constructor = hrn_search_bar_constructor; actor_class->paint = hrn_searchbar_paint; actor_class->pick = hrn_searchbar_pick; + actor_class->map = hrn_searchbar_map; + actor_class->unmap = hrn_searchbar_unmap; actor_class->allocate = hrn_searchbar_allocate; widget_class->style_changed = hrn_search_bar_style_changed; @@ -350,19 +377,19 @@ hrn_search_bar_dispose (GObject *object) static void hrn_searchbar_allocate (ClutterActor *self, const ClutterActorBox *box, - gboolean origin_changed) + ClutterAllocationFlags flags) { HrnSearchBarPrivate *priv = HRN_SEARCH_BAR_GET_PRIVATE (self); - CLUTTER_ACTOR_CLASS (hrn_search_bar_parent_class)->allocate (self, box, origin_changed); + CLUTTER_ACTOR_CLASS (hrn_search_bar_parent_class)->allocate (self, box, flags); clutter_actor_set_x (CLUTTER_ACTOR (priv->pin_button), clutter_actor_get_width (self)); clutter_actor_set_x (CLUTTER_ACTOR (priv->clear_button), clutter_actor_get_x (priv->pin_button)- 20); - clutter_actor_allocate_preferred_size (CLUTTER_ACTOR (priv->pin_button), origin_changed); - clutter_actor_allocate_preferred_size (CLUTTER_ACTOR (priv->clear_button), origin_changed); + clutter_actor_allocate_preferred_size (CLUTTER_ACTOR (priv->pin_button), flags); + clutter_actor_allocate_preferred_size (CLUTTER_ACTOR (priv->clear_button), flags); } static void diff --git a/src/hrn-sidebar-subitem.c b/src/hrn-sidebar-subitem.c index 50e1554..3760baf 100644 --- a/src/hrn-sidebar-subitem.c +++ b/src/hrn-sidebar-subitem.c @@ -222,9 +222,9 @@ static void rename_cb (gpointer button) ClutterColor shade_color = {0x0,0x0,0x0,0xff}; ClutterStage *stage = CLUTTER_STAGE (clutter_stage_get_default ()); ClutterActor *text; - guint sw, sh; - gint x, y; - guint w, h; + gfloat sw, sh; + gfloat x, y; + gfloat w, h; gint i; data = g_new0 (struct _rename_data, 1); diff --git a/src/hrn-sidebar.c b/src/hrn-sidebar.c index 8533d22..77fb1e5 100644 --- a/src/hrn-sidebar.c +++ b/src/hrn-sidebar.c @@ -58,13 +58,38 @@ hrn_sidebar_dispose (GObject *object); static void hrn_sidebar_allocate (ClutterActor *self, const ClutterActorBox *box, - gboolean origin_changed); + ClutterAllocationFlags flags); static void hrn_sidebar_paint (ClutterActor *actor); static void hrn_sidebar_pick (ClutterActor *actor, const ClutterColor *color); - + +static void +hrn_sidebar_map (ClutterActor *self) +{ + HrnSidebarPrivate *priv = HRN_SIDEBAR (self)->priv; + + CLUTTER_ACTOR_CLASS (hrn_sidebar_parent_class)->map (self); + + if (priv->scroll) + clutter_actor_map (CLUTTER_ACTOR (priv->scroll)); + if (priv->expanded) + clutter_actor_map (CLUTTER_ACTOR (priv->expanded)); +} + +static void +hrn_sidebar_unmap (ClutterActor *self) +{ + HrnSidebarPrivate *priv = HRN_SIDEBAR (self)->priv; + + CLUTTER_ACTOR_CLASS (hrn_sidebar_parent_class)->unmap (self); + + if (priv->scroll) + clutter_actor_unmap (CLUTTER_ACTOR (priv->scroll)); + if (priv->expanded) + clutter_actor_unmap (CLUTTER_ACTOR (priv->expanded)); +} static void @@ -79,6 +104,8 @@ hrn_sidebar_class_init (HrnSidebarClass *klass) actor_class->allocate = hrn_sidebar_allocate; actor_class->paint = hrn_sidebar_paint; actor_class->pick = hrn_sidebar_pick; + actor_class->map = hrn_sidebar_map; + actor_class->unmap = hrn_sidebar_unmap; g_type_class_add_private (gobject_class, sizeof (HrnSidebarPrivate)); @@ -209,7 +236,7 @@ void hrn_retrieve_query (const gchar *qname) hrn_view_set_source (HRN_VIEW (hrn_view), source); - tb = hrn_toolbar_group_get_view_toolbar (hrn_toolbar); + tb = hrn_toolbar_group_get_view_toolbar (HRN_TOOLBAR_GROUP (hrn_toolbar)); hrn_toolbar_set_mode (tb, filter); hrn_view_set_filter (HRN_VIEW (hrn_view), filter); @@ -323,7 +350,7 @@ static void add_source (HrnSidebar *sidebar, HrnSource *source, gboolean is_local) { - HrnSidebarPrivate *priv = HRN_SIDEBAR_GET_PRIVATE (sidebar); + HrnSidebarPrivate *priv = sidebar->priv; NbtkWidget *button; @@ -335,6 +362,8 @@ static void add_source (HrnSidebar *sidebar, button = nbtk_button_new_with_label (name); } + g_print ("%p %p %i\n", sidebar, source, is_local); + nbtk_widget_set_style_class_name (button, "HrnSidebarItem"); clutter_actor_set_reactive (CLUTTER_ACTOR (button), TRUE); @@ -456,9 +485,10 @@ static void add_source (HrnSidebar *sidebar, void hrn_sidebar_update_sources (HrnSidebar *sidebar) { GList *sources, *s; - HrnSidebarPrivate *priv = HRN_SIDEBAR_GET_PRIVATE (sidebar); + HrnSidebarPrivate *priv = sidebar->priv; HrnSource *source; + { GList *c, *children = clutter_container_get_children (CLUTTER_CONTAINER (priv->flow)); @@ -506,7 +536,12 @@ hrn_sidebar_constructor (GType type, nbtk_widget_set_style_class_name (NBTK_WIDGET (sidebar), "HrnSidebar"); clutter_actor_set_name (CLUTTER_ACTOR (sidebar), "HrnSidebar"); +#if 1 clutter_actor_set_parent (CLUTTER_ACTOR (priv->scroll), CLUTTER_ACTOR (sidebar)); +#else + clutter_container_add_actor (CLUTTER_CONTAINER (object), priv->scroll); +#endif + clutter_container_add_actor (CLUTTER_CONTAINER (priv->scroll), CLUTTER_ACTOR (priv->flow)); g_object_set_data (object, "HRN_DROP_MASK", GINT_TO_POINTER(HRN_DROP_MASK_SIDEBAR)); g_object_set_data (G_OBJECT(priv->flow), "HRN_DROP_MASK", GINT_TO_POINTER(HRN_DROP_MASK_SIDEBAR)); @@ -529,7 +564,7 @@ hrn_sidebar_constructor (GType type, /* hack to sync up size */ { - guint width = SIDEBAR_WIDTH_PADDED; + gfloat width = SIDEBAR_WIDTH_PADDED; guint height = clutter_actor_get_height (clutter_stage_get_default())-61; clutter_actor_set_size (CLUTTER_ACTOR (priv->flow), width - 40, height); @@ -546,17 +581,17 @@ hrn_sidebar_constructor (GType type, static void hrn_sidebar_allocate (ClutterActor *self, - const ClutterActorBox *box, - gboolean origin_changed) + const ClutterActorBox *box, + ClutterAllocationFlags flags) { HrnSidebarPrivate *priv = HRN_SIDEBAR_GET_PRIVATE (self); ClutterActorClass *parent_class; parent_class = CLUTTER_ACTOR_CLASS (hrn_sidebar_parent_class); - parent_class->allocate (self, box, origin_changed); - clutter_actor_allocate_preferred_size (CLUTTER_ACTOR (priv->scroll), origin_changed); - clutter_actor_allocate_preferred_size (CLUTTER_ACTOR (priv->expanded), origin_changed); + parent_class->allocate (self, box, flags); + clutter_actor_allocate_preferred_size (CLUTTER_ACTOR (priv->scroll), flags); + clutter_actor_allocate_preferred_size (CLUTTER_ACTOR (priv->expanded), flags); } static void @@ -583,21 +618,17 @@ static void hrn_sidebar_pick (ClutterActor *actor, const ClutterColor *color) { - guint width; - guint height; + gfloat width; + gfloat height; + HrnSidebarPrivate *priv = HRN_SIDEBAR_GET_PRIVATE (actor); clutter_actor_get_size (CLUTTER_ACTOR (actor), &width, &height); -#if CLUTTER_MINOR_VERSION < 9 - cogl_color (color); -#else - cogl_set_source_color4ub (color->red, - color->green, - color->blue, - color->alpha); -#endif + cogl_set_source_color ((void*)color); cogl_rectangle (0, 0, width, height); - hrn_sidebar_paint (actor); + clutter_actor_paint (CLUTTER_ACTOR (priv->scroll)); + clutter_actor_paint (CLUTTER_ACTOR (priv->expanded)); + /*hrn_sidebar_paint (actor);*/ } HrnSidebar *hrn_sidebar_new (void) @@ -618,13 +649,13 @@ gboolean sidebar_hide_handler (gpointer foo) nbtk_button_set_checked (NBTK_BUTTON (priv->expanded), FALSE); clutter_actor_animate (hrn_sidebar, CLUTTER_EASE_IN_CUBIC, SIDEBAR_OUT_DURATION, - "x", -180, + "x", -180.0, "opacity", 255, NULL); clutter_actor_animate (hrn_content_area, CLUTTER_EASE_IN_CUBIC, SIDEBAR_OUT_DURATION, - "depth", 0, - "x", 0, + "depth", 0.0, + "x", 0.0, NULL); sidebar_hide_handler_id = 0; @@ -645,7 +676,7 @@ void hrn_sidebar_wake (void) } clutter_actor_animate (hrn_sidebar, CLUTTER_EASE_IN_OUT_QUINT, SIDEBAR_IN_DURATION, - "x", 0, + "x", 0.0, NULL); if (hrn_theatre_get_active (HRN_THEATRE (hrn_theatre))) @@ -658,8 +689,8 @@ void hrn_sidebar_wake (void) else { clutter_actor_animate (hrn_content_area, CLUTTER_EASE_IN_OUT_QUINT, SIDEBAR_IN_DURATION, - "depth", -200, - "x", 110, + "depth", -200.0, + "x", 110.0, NULL); } @@ -681,8 +712,9 @@ void hrn_sidebar_unpin (void) void hrn_sidebar_hide (void) { - if (sidebar_hide_handler_id == 0) - sidebar_hide_handler_id = g_idle_add (sidebar_hide_handler, NULL); + if (sidebar_hide_handler_id != 0) + g_source_remove (sidebar_hide_handler_id); + sidebar_hide_handler (NULL); } diff --git a/src/hrn-square-clone.c b/src/hrn-square-clone.c index c2d388e..760b3f3 100644 --- a/src/hrn-square-clone.c +++ b/src/hrn-square-clone.c @@ -52,9 +52,9 @@ struct _HrnSquareClonePrivate static void hrn_square_clone_get_preferred_width (ClutterActor *self, - ClutterUnit for_height, - ClutterUnit *min_width_p, - ClutterUnit *natural_width_p) + gfloat for_height, + gfloat *min_width_p, + gfloat *natural_width_p) { HrnSquareClonePrivate *priv = HRN_SQUARE_CLONE (self)->priv; @@ -85,9 +85,9 @@ hrn_square_clone_get_preferred_width (ClutterActor *self, static void hrn_square_clone_get_preferred_height (ClutterActor *self, - ClutterUnit for_width, - ClutterUnit *min_height_p, - ClutterUnit *natural_height_p) + gfloat for_width, + gfloat *min_height_p, + gfloat *natural_height_p) { HrnSquareClonePrivate *priv = HRN_SQUARE_CLONE (self)->priv; @@ -186,8 +186,8 @@ hrn_square_clone_paint (ClutterActor *self) bw = cogl_texture_get_width (tex); /* base texture width */ bh = cogl_texture_get_height (tex); /* base texture height */ - aw = CLUTTER_UNITS_TO_INT (box.x2 - box.x1); /* allocation width */ - ah = CLUTTER_UNITS_TO_INT (box.y2 - box.y1); /* allocation height */ + aw = (box.x2 - box.x1); /* allocation width */ + ah = (box.y2 - box.y1); /* allocation height */ /* no comment */ if ((float)bw/bh < (float)aw/ah) diff --git a/src/hrn-switcher.c b/src/hrn-switcher.c index 215d79b..b43f79b 100644 --- a/src/hrn-switcher.c +++ b/src/hrn-switcher.c @@ -105,8 +105,78 @@ hrn_switcher_pick (ClutterActor *actor, static void hrn_switcher_allocate (ClutterActor *self, const ClutterActorBox *box, - gboolean origin_changed); + ClutterAllocationFlags flags); +static void +hrn_switcher_map (ClutterActor *self) +{ + HrnSwitcher *switcher = HRN_SWITCHER (self); + HrnSwitcherPrivate *priv = HRN_SWITCHER_GET_PRIVATE (switcher); + gint i; + + CLUTTER_ACTOR_CLASS (hrn_switcher_parent_class)->map (self); + + for (i = 0; i < priv->state_count; i++) + { + if (priv->states[i].actor) + { + clutter_actor_map (priv->states[i].actor); + } + } +} + +static void +hrn_switcher_unmap (ClutterActor *self) +{ + HrnSwitcher *switcher = HRN_SWITCHER (self); + HrnSwitcherPrivate *priv = HRN_SWITCHER_GET_PRIVATE (switcher); + gint i; + + CLUTTER_ACTOR_CLASS (hrn_switcher_parent_class)->unmap (self); + + for (i = 0; i < priv->state_count; i++) + { + if (priv->states[i].actor) + { + clutter_actor_unmap (priv->states[i].actor); + } + } +} + +static void +hrn_switcher_realize (ClutterActor *self) +{ + HrnSwitcher *switcher = HRN_SWITCHER (self); + HrnSwitcherPrivate *priv = HRN_SWITCHER_GET_PRIVATE (switcher); + gint i; + + for (i = 0; i < priv->state_count; i++) + { + if (priv->states[i].actor) + { + clutter_actor_realize (priv->states[i].actor); + } + } + /*CLUTTER_ACTOR_CLASS (hrn_switcher_parent_class)->realize (self);*/ +} + +static void +hrn_switcher_unrealize (ClutterActor *self) +{ + HrnSwitcher *switcher = HRN_SWITCHER (self); + HrnSwitcherPrivate *priv = HRN_SWITCHER_GET_PRIVATE (switcher); + gint i; + + + for (i = 0; i < priv->state_count; i++) + { + if (priv->states[i].actor) + { + clutter_actor_unrealize (priv->states[i].actor); + } + } + CLUTTER_ACTOR_CLASS (hrn_switcher_parent_class)->unrealize (self); +} static void hrn_switcher_class_init (HrnSwitcherClass *klass) @@ -118,6 +188,10 @@ hrn_switcher_class_init (HrnSwitcherClass *klass) gobject_class->constructor = hrn_switcher_constructor; actor_class->paint = hrn_switcher_paint; actor_class->pick = hrn_switcher_pick; + actor_class->map = hrn_switcher_map; + actor_class->unmap = hrn_switcher_unmap; + actor_class->realize = hrn_switcher_realize; + actor_class->unrealize = hrn_switcher_unrealize; actor_class->allocate = hrn_switcher_allocate; g_type_class_add_private (gobject_class, sizeof (HrnSwitcherPrivate)); @@ -166,19 +240,19 @@ hrn_switcher_constructor (GType type, static void hrn_switcher_allocate (ClutterActor *self, const ClutterActorBox *box, - gboolean origin_changed) + ClutterAllocationFlags flags) { HrnSwitcherPrivate *priv = HRN_SWITCHER_GET_PRIVATE (self); ClutterActorClass *parent_class; parent_class = CLUTTER_ACTOR_CLASS (hrn_switcher_parent_class); - parent_class->allocate (self, box, origin_changed); + parent_class->allocate (self, box, flags); hrn_switcher_adapt (HRN_SWITCHER (self)); if (priv->states[priv->state].actor) - clutter_actor_allocate_preferred_size (priv->states[priv->state].actor, origin_changed); + clutter_actor_allocate_preferred_size (priv->states[priv->state].actor, flags); } void @@ -368,8 +442,8 @@ hrn_switcher_add_state (HrnSwitcher *self, void hrn_actor_get_geom (ClutterActor *actor, - gint *ox, gint *oy, - guint *owidth, guint *oheight, + gfloat *ox, gfloat *oy, + gfloat *owidth, gfloat *oheight, gdouble *oscalex, gdouble *oscaley) { gfloat x, y; @@ -392,7 +466,7 @@ hrn_actor_get_geom (ClutterActor *actor, parent = clutter_actor_get_parent (actor); while (parent) { - gint ax, ay; + gfloat ax, ay; clutter_actor_get_anchor_point (parent, &ax, &ay); clutter_actor_get_scale (parent, &scalex, &scaley); x -= ax; @@ -412,7 +486,7 @@ hrn_actor_get_geom (ClutterActor *actor, they are more expensive than the above as well */ { - guint w,h; + gfloat w,h; gint nx, ny; clutter_actor_get_transformed_size (actor, &w, &h); clutter_actor_get_transformed_position (actor, &nx, &ny); @@ -435,15 +509,15 @@ static gboolean hrn_actor_is_off_stage (HrnSwitcher *switcher, ClutterActor *actor) { - gint x, y; - guint width, height; + gfloat x, y; + gfloat width, height; gdouble scalex, scaley; HrnSwitcherPrivate *priv = HRN_SWITCHER_GET_PRIVATE (switcher); /*gint sw = CLUTTER_STAGE_WIDTH ();*/ gint sh = CLUTTER_STAGE_HEIGHT (); - hrn_actor_get_geom (actor, &x, &y, &width,&height,&scalex, &scaley); + hrn_actor_get_geom (actor, &x, &y, &width, &height, &scalex, &scaley); if ( (gint)(y + height) < -sh * (HRN_OFF_STAGE_FUDGE) || diff --git a/src/hrn-texture-cache.c b/src/hrn-texture-cache.c index d52101c..1f5995a 100755 --- a/src/hrn-texture-cache.c +++ b/src/hrn-texture-cache.c @@ -222,6 +222,11 @@ hrn_texture_cache_get_texture (HrnTextureCache *self, ClutterActor *clone; HrnCacheEntry *entry; + /* XXX: originally planned to use clones here, but it seems the square + * texture works well on its own when it is not forced to be square + */ + return hrn_texture_cache_get_sq_texture (self, path_or_uri, load_async); + if (!path_or_uri) return NULL; file = g_file_new_for_commandline_arg (path_or_uri); @@ -278,7 +283,7 @@ hrn_texture_cache_get_texture (HrnTextureCache *self, g_hash_table_insert (priv->cache, g_strdup (path), entry); { - guint w,h; + gfloat w,h; clutter_actor_get_size (original, &w, &h); priv->sum_size += w*h * 4; } @@ -329,7 +334,7 @@ hrn_texture_cache_get_texture (HrnTextureCache *self, /*g_assert (G_OBJECT(nuke_entry->original)->ref_count == 1); not valid with anim */ clutter_actor_destroy (nuke_entry->original); { - guint w,h; + gfloat w,h; clutter_actor_get_size (nuke_entry->original, &w, &h); priv->sum_size -= w*h * 4; } @@ -414,7 +419,7 @@ hrn_texture_cache_get_sq_texture (HrnTextureCache *self, g_hash_table_insert (priv->cache, g_strdup (path), entry); { - guint w,h; + gfloat w,h; clutter_actor_get_size (original, &w, &h); priv->sum_size += w*h * 4; } diff --git a/src/hrn-theatre.c b/src/hrn-theatre.c index 9fda276..51013be 100644 --- a/src/hrn-theatre.c +++ b/src/hrn-theatre.c @@ -75,17 +75,17 @@ hrn_theatre_get_property (GObject *object, static void hrn_theatre_allocate (ClutterActor *actor, const ClutterActorBox *box, - gboolean origin_changed) + ClutterAllocationFlags flags) { HrnTheatre *theatre = (HrnTheatre *) actor; HrnTheatrePrivate *priv = theatre->priv; CLUTTER_ACTOR_CLASS (hrn_theatre_parent_class)->allocate (actor, box, - origin_changed); + flags); if (priv->player) { clutter_actor_allocate_preferred_size (priv->player, - origin_changed); + flags); } } @@ -304,7 +304,6 @@ br_player_show_uri (BrIfacePlayer *player, HrnTheatre *theatre = (HrnTheatre *) player; HrnTheatrePrivate *priv = theatre->priv; gboolean new_player = FALSE; - int no; if (uri == NULL || mimetype == NULL) { return TRUE; @@ -425,7 +424,7 @@ hrn_theatre_show (HrnTheatre *theatre) NULL); clutter_actor_animate (hrn_scrollbar, CLUTTER_EASE_IN_OUT_CUBIC, HRN_TO_THEATRE_DURATION, - "x", 30, + "x", 30.0, NULL); hrn_controls_can_has_fade = TRUE; @@ -433,8 +432,8 @@ hrn_theatre_show (HrnTheatre *theatre) clutter_actor_animate (hrn_content_area, CLUTTER_EASE_IN_OUT_CUBIC, SIDEBAR_OUT_DURATION, - "depth", 0, - "x", 0, + "depth", 0.0, + "x", 0.0, NULL); clutter_actor_animate (hrn_sidebar, CLUTTER_EASE_IN_OUT_CUBIC, @@ -491,7 +490,7 @@ hrn_theatre_hide (HrnTheatre *theatre) clutter_actor_animate (hrn_scrollbar, CLUTTER_EASE_IN_OUT_CUBIC, HRN_FROM_THEATRE_DURATION, - "x", 0, + "x", 0.0, NULL); clutter_actor_animate (hrn_controls_frame, CLUTTER_LINEAR, HRN_FROM_THEATRE_DURATION, @@ -508,8 +507,8 @@ hrn_theatre_hide (HrnTheatre *theatre) if (hrn_sidebar_visible ()) { clutter_actor_animate (hrn_content_area, CLUTTER_EASE_IN_OUT_QUINT, SIDEBAR_IN_DURATION, - "depth", -200, - "x", 110, + "depth", -200.0, + "x", 110.0, NULL); } diff --git a/src/hrn-toolbar-group.c b/src/hrn-toolbar-group.c index 35204de..ac2a796 100644 --- a/src/hrn-toolbar-group.c +++ b/src/hrn-toolbar-group.c @@ -97,7 +97,7 @@ hrn_toolbar_group_set_mode (HrnToolbarGroup *group, NULL); /* When switching to view mode, focus the toolbar */ - hrn_toolbar_focused (priv->view_toolbar); + hrn_toolbar_focused (CLUTTER_ACTOR (priv->view_toolbar)); break; case HRN_TOOLBAR_GROUP_MODE_THEATRE: diff --git a/src/hrn-toolbar.c b/src/hrn-toolbar.c index a90460e..f135b13 100644 --- a/src/hrn-toolbar.c +++ b/src/hrn-toolbar.c @@ -114,9 +114,36 @@ hrn_toolbar_set_query (HrnToolbar *toolbar, } static void +hrn_toolbar_map (ClutterActor *self) +{ + HrnToolbarPrivate *priv = HRN_TOOLBAR (self)->priv; + + CLUTTER_ACTOR_CLASS (hrn_toolbar_parent_class)->map (self); + + if (priv->zoom_bar_label) + clutter_actor_map (CLUTTER_ACTOR (priv->zoom_bar_label)); +} + +static void +hrn_toolbar_unmap (ClutterActor *self) +{ + HrnToolbarPrivate *priv = HRN_TOOLBAR (self)->priv; + + CLUTTER_ACTOR_CLASS (hrn_toolbar_parent_class)->unmap (self); + + if (priv->zoom_bar_label) + clutter_actor_unmap (CLUTTER_ACTOR (priv->zoom_bar_label)); +} + + +static void hrn_toolbar_class_init (HrnToolbarClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); + ClutterActorClass *actor_class = CLUTTER_ACTOR_CLASS (klass); + + actor_class->map = hrn_toolbar_map; + actor_class->unmap = hrn_toolbar_unmap; g_type_class_add_private (klass, sizeof (HrnToolbarPrivate)); @@ -279,7 +306,7 @@ static gboolean sort_button_release (ClutterActor *actor, { if (event->button.button == 1) { - gint x, y; + gfloat x, y; const gchar *sortfunc; gint selected; clutter_actor_get_transformed_position (actor, &x, &y); @@ -315,7 +342,7 @@ static gboolean showbutton_release (ClutterActor *actor, { if (event->button.button == 1) { - gint x, y; + gfloat x, y; gint selected; clutter_actor_get_transformed_position (actor, &x, &y); x-=14; /* XXX: hardcoded offset to handle padding */ @@ -421,7 +448,8 @@ hrn_toolbar_init (HrnToolbar *self) "nbtk-zoom-bar"); clutter_actor_set_name (CLUTTER_ACTOR (priv->zoom_bar_label), "hrn-zoom-bar-label"); - clutter_actor_set_parent (priv->zoom_bar_label, CLUTTER_ACTOR (self)); + clutter_actor_set_parent (CLUTTER_ACTOR (priv->zoom_bar_label), + CLUTTER_ACTOR (self)); g_signal_connect (priv->settings_button, "clicked", G_CALLBACK (hrn_toolbar_settings_clicked_cb), self); diff --git a/src/hrn-video-player.c b/src/hrn-video-player.c index a1fe597..7c90169 100644 --- a/src/hrn-video-player.c +++ b/src/hrn-video-player.c @@ -70,17 +70,17 @@ hrn_video_player_get_property (GObject *object, static void hrn_video_player_allocate (ClutterActor *actor, const ClutterActorBox *box, - gboolean origin_changed) + ClutterAllocationFlags flags) { HrnVideoPlayer *player = (HrnVideoPlayer *) actor; HrnVideoPlayerPrivate *priv = player->priv; CLUTTER_ACTOR_CLASS (hrn_video_player_parent_class)->allocate - (actor, box, origin_changed); + (actor, box, flags); if (priv->video_player) { clutter_actor_allocate_preferred_size (priv->video_player, - origin_changed); + flags); } } @@ -102,6 +102,30 @@ hrn_video_player_pick (ClutterActor *actor, hrn_video_player_paint (actor); } + +static void +hrn_video_player_map (ClutterActor *self) +{ + HrnVideoPlayerPrivate *priv = HRN_VIDEO_PLAYER (self)->priv; + + CLUTTER_ACTOR_CLASS (hrn_video_player_parent_class)->map (self); + + if (priv->video_player) + clutter_actor_map (CLUTTER_ACTOR (priv->video_player)); +} + +static void +hrn_video_player_unmap (ClutterActor *self) +{ + HrnVideoPlayerPrivate *priv = HRN_VIDEO_PLAYER (self)->priv; + + CLUTTER_ACTOR_CLASS (hrn_video_player_parent_class)->unmap (self); + + if (priv->video_player) + clutter_actor_unmap (CLUTTER_ACTOR (priv->video_player)); +} + + static void hrn_video_player_class_init (HrnVideoPlayerClass *klass) { @@ -116,6 +140,8 @@ hrn_video_player_class_init (HrnVideoPlayerClass *klass) a_class->allocate = hrn_video_player_allocate; a_class->paint = hrn_video_player_paint; a_class->pick = hrn_video_player_pick; + a_class->map = hrn_video_player_map; + a_class->unmap = hrn_video_player_unmap; g_type_class_add_private (klass, sizeof (HrnVideoPlayerPrivate)); } diff --git a/src/hrn-view.c b/src/hrn-view.c index 87ce82f..52b2bc8 100644 --- a/src/hrn-view.c +++ b/src/hrn-view.c @@ -29,6 +29,8 @@ #include "hrn-switcher.h" +static void hrn_view_pause (void); +static void hrn_view_go (void); static void hrn_view_refilter (HrnView *view); typedef struct _HrnViewActorData HrnViewActorData; @@ -78,19 +80,19 @@ static void hrn_view_pick (ClutterActor *actor, static void hrn_view_get_preferred_width (ClutterActor *self, - ClutterUnit for_height, - ClutterUnit *min_width_p, - ClutterUnit *natural_width_p); + gfloat for_height, + gfloat *min_width_p, + gfloat *natural_width_p); static void hrn_view_get_preferred_height (ClutterActor *self, - ClutterUnit for_width, - ClutterUnit *min_height_p, - ClutterUnit *natural_height_p); + gfloat for_width, + gfloat *min_height_p, + gfloat *natural_height_p); static void hrn_view_allocate (ClutterActor *self, const ClutterActorBox *box, - gboolean absolute_origin_changed); + ClutterAllocationFlags flags); void source_item_added (HrnSource *source, BklItem *item, gpointer userdata); @@ -113,9 +115,9 @@ G_DEFINE_TYPE_WITH_CODE (HrnView, hrn_view, struct _HrnViewPrivate { - ClutterUnit for_height, for_width; - ClutterUnit pref_width, pref_height; - ClutterUnit alloc_width, alloc_height; + gfloat for_height, for_width; + gfloat pref_width, pref_height; + gfloat alloc_width, alloc_height; ClutterActor *group; @@ -131,14 +133,14 @@ struct _HrnViewPrivate gdouble height; - gboolean absolute_origin_changed; + ClutterAllocationFlags flags; GHashTable *hash_table; GList *list; gint labels_visible; gboolean first_of_batch; - ClutterUnit a_current_sum, a_wrap; + gfloat a_current_sum, a_wrap; HrnSource *current_source; guint32 item_added_id; @@ -176,9 +178,38 @@ struct _HrnViewActorData gint cells; /* the number of cells needed for item when * expanded. */ - gint xmod; /* the position of the first item */ + gfloat xmod; /* the position of the first item */ }; + +static void +hrn_view_map (ClutterActor *self) +{ + HrnViewPrivate *priv = HRN_VIEW (self)->priv; + + CLUTTER_ACTOR_CLASS (hrn_view_parent_class)->map (self); + + if (priv->group) + clutter_actor_map (CLUTTER_ACTOR (priv->group)); + if (priv->lasso) + clutter_actor_map (CLUTTER_ACTOR (priv->lasso)); +} + +static void +hrn_view_unmap (ClutterActor *self) +{ + HrnViewPrivate *priv = HRN_VIEW (self)->priv; + + CLUTTER_ACTOR_CLASS (hrn_view_parent_class)->unmap (self); + + if (priv->group) + clutter_actor_unmap (CLUTTER_ACTOR (priv->group)); + if (priv->lasso) + clutter_actor_map (CLUTTER_ACTOR (priv->lasso)); +} + + + static void hrn_view_class_init (HrnViewClass *klass) { @@ -193,6 +224,8 @@ hrn_view_class_init (HrnViewClass *klass) actor_class->paint = hrn_view_paint; actor_class->pick = hrn_view_pick; + actor_class->map = hrn_view_map; + actor_class->unmap = hrn_view_unmap; actor_class->get_preferred_width = hrn_view_get_preferred_width; actor_class->get_preferred_height = hrn_view_get_preferred_height; actor_class->allocate = hrn_view_allocate; @@ -432,21 +465,12 @@ GList *hrn_view_get_selected (HrnView *view) return g_hash_table_get_values (priv->selected); } -static void destroy_when_done (ClutterAnimation *anim, - HrnViewPrivate *priv) -{ - if (priv->lasso) - clutter_actor_destroy (priv->lasso); - priv->lasso = NULL; -} - - static guint select_capture = 0; static gboolean view_capture (ClutterActor *actor, ClutterEvent *event, gpointer view) { - ClutterUnit x, y; + gfloat x, y; HrnViewPrivate *priv = HRN_VIEW (view)->priv; switch (clutter_event_type (event)) { @@ -457,7 +481,7 @@ static gboolean view_capture (ClutterActor *actor, #if 1 clutter_actor_animate (priv->lasso, CLUTTER_LINEAR, 250, "opacity", 0, - "signal::completed", destroy_when_done, priv, + /* "signal::completed", destroy_when_done, priv,*/ NULL); #endif @@ -592,7 +616,7 @@ static gboolean view_pressed (ClutterActor *actor, ClutterEvent *event, gpointer data) { - ClutterUnit x, y; + gfloat x, y; HrnViewPrivate *priv = HRN_VIEW (actor)->priv; ClutterModifierType state = event->button.modifier_state; g_print ("pressed view\n"); @@ -656,7 +680,7 @@ hrn_view_new (void) g_signal_connect (self, "scroll-event", G_CALLBACK (handle_scroll), NULL); { - guint w,h; + gfloat w,h; clutter_actor_get_size (self, &w, &h); } @@ -807,15 +831,15 @@ hrn_view_pick (ClutterActor *actor, static void hrn_view_get_preferred_width (ClutterActor *self, - ClutterUnit for_height, - ClutterUnit *min_width_p, - ClutterUnit *natural_width_p) + gfloat for_height, + gfloat *min_width_p, + gfloat *natural_width_p) { HrnView *layout = (HrnView *) self; HrnViewPrivate *priv = layout->priv; - ClutterUnit natural_width; + gfloat natural_width; - natural_width = CLUTTER_UNITS_FROM_INT (1024 * 2); + natural_width = 1024 * 2; if (min_width_p) *min_width_p = natural_width; if (natural_width_p) @@ -826,17 +850,15 @@ hrn_view_get_preferred_width (ClutterActor *self, static void hrn_view_get_preferred_height (ClutterActor *self, - ClutterUnit for_width, - ClutterUnit *min_height_p, - ClutterUnit *natural_height_p) + gfloat for_width, + gfloat *min_height_p, + gfloat *natural_height_p) { HrnView *layout = (HrnView *) self; HrnViewPrivate *priv = layout->priv; - ClutterUnit natural_height; + gfloat natural_height; - natural_height = CLUTTER_UNITS_FROM_INT (600 * 2); /* XXX: making sure - it is large enough - for netbooks first */ + natural_height = 600 * 2; priv->for_width = for_width; priv->pref_height = natural_height; @@ -1067,7 +1089,7 @@ hrn_view_center (ClutterActor *self, static void hrn_view_allocate (ClutterActor *self, const ClutterActorBox *box, - gboolean absolute_origin_changed) + ClutterAllocationFlags flags) { HrnView *layout = (HrnView *) self; HrnViewPrivate *priv = layout->priv; @@ -1078,22 +1100,22 @@ hrn_view_allocate (ClutterActor *self, /* chain up to set actor->allocation */ CLUTTER_ACTOR_CLASS (hrn_view_parent_class) - ->allocate (self, box, absolute_origin_changed); + ->allocate (self, box, flags); gdouble scale; clutter_actor_get_scale (self, &scale, NULL); scale = hrn_actor_get_abs_scale (self); priv->alloc_width = box->x2 - box->x1; priv->alloc_height = box->y2 - box->y1; - priv->absolute_origin_changed = absolute_origin_changed; + priv->flags = flags; clutter_actor_get_preferred_size (self, NULL, NULL, NULL, NULL); clutter_actor_allocate_preferred_size (CLUTTER_ACTOR (priv->group), - absolute_origin_changed); + flags); if (priv->lasso) clutter_actor_allocate_preferred_size (CLUTTER_ACTOR (priv->lasso), - absolute_origin_changed); + flags); priv->a_wrap = priv->alloc_width; @@ -1101,7 +1123,7 @@ hrn_view_allocate (ClutterActor *self, for (i=0,iter = priv->list; iter; i++,iter=iter->next) { ClutterActor *child = iter->data; - clutter_actor_allocate_preferred_size (CLUTTER_ACTOR (child), absolute_origin_changed); + clutter_actor_allocate_preferred_size (CLUTTER_ACTOR (child), flags); } } @@ -1270,10 +1292,10 @@ hrn_view_reposition (HrnView *self) for (i=0,iter = priv->list; iter; i++,iter=iter->next) { - ClutterActor *child = iter->data; - ClutterActorBox child_box; - ClutterUnit natural_a; - ClutterUnit natural_b; + ClutterActor *child = iter->data; + ClutterActorBox child_box; + gfloat natural_a; + gfloat natural_b; HrnViewActorData *data; @@ -1301,10 +1323,10 @@ hrn_view_reposition (HrnView *self) else if (y > BUG_THRESHOLD ) y = BUG_THRESHOLD ; #endif - child_box.y1 = CLUTTER_UNITS_FROM_FLOAT (y); + child_box.y1 = y; } - child_box.x1 = CLUTTER_UNITS_FROM_FLOAT (hrn_view_compute_x (data->num, data->accum_pos, scale)); - clutter_actor_set_positionu (child, child_box.x1, child_box.y1); + child_box.x1 = hrn_view_compute_x (data->num, data->accum_pos, scale); + clutter_actor_set_position (child, child_box.x1, child_box.y1); /* clamp the vertical position to avoid overflow (both on * stage as well as in clutter functions @@ -1783,7 +1805,7 @@ hrn_view_set_source (HrnView *view, static void hrn_view_refilter (HrnView *view) { - HrnViewPrivate *priv = HRN_VIEW_GET_PRIVATE (view); + HrnViewPrivate *priv = view->priv; GList *children, *iter; g_print ("["); @@ -1967,12 +1989,16 @@ extern gint desired_pos; void hrn_set_zoom (gdouble zoom) { - HrnViewPrivate *priv = hrn_view->priv; + HrnViewPrivate *priv = HRN_VIEW (hrn_view)->priv; /* (hrn_target_zoom contains the old value in these checks) */ if (priv->zoom_lock) { return; } + if (zoom != hrn_target_zoom || zoom != scale) + { + + } priv->zoom_lock = TRUE; @@ -2056,6 +2082,7 @@ gdouble hrn_view_get_loc (void) void hrn_view_set_loc (gdouble loc) { HrnViewPrivate *priv = HRN_VIEW_GET_PRIVATE (hrn_view); + priv->target_center_pos = priv->height * loc; @@ -2074,6 +2101,7 @@ gint hrn_view_center_pos (void) void hrn_view_set_pos (gint pos) { + hrn_target_loc = pos; hrn_view_center (hrn_view, pos); hrn_view_reposition (HRN_VIEW (hrn_view)); @@ -2143,9 +2179,13 @@ static gboolean transition_iterate (ClutterTimeline *timeline, else scale = hrn_target_zoom; } + } else if (hrn_target_zoom != scale) - scale = hrn_target_zoom; + { + scale = hrn_target_zoom; + + } else break; } @@ -2154,10 +2194,11 @@ static gboolean transition_iterate (ClutterTimeline *timeline, { if (fabs (priv->target_center_pos - priv->center_pos) > 1) { - #define RATE 0.02 + #define RATE 0.012 priv->center_pos = priv->target_center_pos * (RATE) + priv->center_pos * (1.0-RATE); + } else if (priv->target_center_pos != priv->center_pos) priv->center_pos = priv->target_center_pos; @@ -2450,7 +2509,7 @@ hrn_text_paint (gint x, gint y, const gchar *text) if(0)clutter_actor_set_position (actor, x, y); { ClutterActorBox box; - ClutterUnit natural_x, natural_y; + gfloat natural_x, natural_y; clutter_actor_get_preferred_size (actor, NULL, NULL, &natural_x, &natural_y); diff --git a/src/hrn-view.h b/src/hrn-view.h index 6cdf29e..f90fe52 100644 --- a/src/hrn-view.h +++ b/src/hrn-view.h @@ -57,10 +57,10 @@ struct _HrnView ClutterActor parent; HrnViewPrivate *priv; - gint bkl_item_type_mask; - gchar *search; + gint bkl_item_type_mask; + gchar *search; - gboolean dirty_frames; + gboolean dirty_frames; }; GType hrn_view_get_type (void) G_GNUC_CONST; diff --git a/src/hrn.h b/src/hrn.h index 4d69b0b..08ab297 100644 --- a/src/hrn.h +++ b/src/hrn.h @@ -117,11 +117,11 @@ extern gint DIM; #define HRN_FRAME_USE_RECTANGLE 0 #define HRN_STAGE_COLOR 0xff,0xff,0xff,0xff /*#define HRN_STAGE_COLOR 0x00,0x00,0x00,0xff*/ -#define HRN_VIEW_FPS 30 +#define HRN_VIEW_FPS 60 #define HRN_CACHE_MAX_SIZE (1024*1024*128) /* 128mb texture memory */ -#define HRN_ZOOM_RATE 1.0011/* 1.0015 seems good the rate of zooming */ +#define HRN_ZOOM_RATE 1.0009/* 1.0015 seems good the rate of zooming */ #define HRN_OFF_STAGE_FUDGE 0.1 /* how many stage sizes to include above 00 and below the stage to be considered "on-stage" (this will act as a @@ -225,8 +225,8 @@ ClutterActor *hrn_texture_load (const gchar *path); void hrn_actor_get_geom (ClutterActor *actor, - gint *ox, gint *oy, - guint *owidth, guint *oheight, gdouble *oscalex, gdouble *oscaley); + gfloat *ox, gfloat *oy, + gfloat *owidth, gfloat *oheight, gdouble *oscalex, gdouble *oscaley); void hrn_sidebar_hide (void); diff --git a/src/nbtk-texture-frame.c b/src/nbtk-texture-frame.c index 9cec8cf..2557ec5 100644 --- a/src/nbtk-texture-frame.c +++ b/src/nbtk-texture-frame.c @@ -68,9 +68,9 @@ struct _HrnTextureFramePrivate static void hrn_texture_frame_get_preferred_width (ClutterActor *self, - ClutterUnit for_height, - ClutterUnit *min_width_p, - ClutterUnit *natural_width_p) + gfloat for_height, + gfloat *min_width_p, + gfloat *natural_width_p) { HrnTextureFramePrivate *priv = HRN_TEXTURE_FRAME (self)->priv; @@ -101,9 +101,9 @@ hrn_texture_frame_get_preferred_width (ClutterActor *self, static void hrn_texture_frame_get_preferred_height (ClutterActor *self, - ClutterUnit for_width, - ClutterUnit *min_height_p, - ClutterUnit *natural_height_p) + gfloat for_width, + gfloat *min_height_p, + gfloat *natural_height_p) { HrnTextureFramePrivate *priv = HRN_TEXTURE_FRAME (self)->priv; -- cgit v0.8.2