Example #1
0
static AtkObject*
goo_canvas_item_accessible_ref_child (AtkObject *accessible,
				      gint       child_num)
{
  GooCanvasItem *item, *child;
  AtkObject *atk_object;
  GObject *object;

  g_return_val_if_fail (GOO_IS_CANVAS_ITEM_ACCESSIBLE (accessible), NULL);

  object = atk_gobject_accessible_get_object (ATK_GOBJECT_ACCESSIBLE (accessible));
  if (object == NULL)
    return NULL;

  item = GOO_CANVAS_ITEM (object);

  child = goo_canvas_item_get_child (item, child_num);
  if (!child)
    return NULL;

  atk_object = atk_gobject_accessible_for_object (G_OBJECT (child));
  g_object_ref (atk_object);

  return atk_object;
}
Example #2
0
void canvas_t::move_background(int x, int y)
{
  canvas_goocanvas *gcanvas = static_cast<canvas_goocanvas *>(this);
  GooCanvasItem *bgitem = goo_canvas_item_get_child(gcanvas->group[CANVAS_GROUP_BG], 0);
  assert(bgitem != nullptr);

  g_object_set(G_OBJECT(bgitem),
               "x", static_cast<gdouble>(x) / gcanvas->bg.scale.x,
               "y", static_cast<gdouble>(y) / gcanvas->bg.scale.y,
               nullptr);
}
Example #3
0
/*
 * This does the moves of the game items on the play canvas
 *
 */
static gint planegame_move_items (GtkWidget *widget, gpointer data)
{
    int i;

    /* Check collision with each cloud */
    for(i = 0;
            i < goo_canvas_item_get_n_children(clouds_rootitem);
            i++)
        planegame_cloud_colision(goo_canvas_item_get_child(clouds_rootitem,
                                 i));

    /* move the plane */
    planegame_move_plane(planeitem);
    planemove_id = g_timeout_add (speed,
                                  (GtkFunction) planegame_move_items, NULL);

    return(FALSE);
}