/* Copyright (C) 2007 The cluttermm Development Team
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free
 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

#include <clutter/clutter.h>

namespace Clutter
{

Timeline::Timeline(guint msecs)
:
  _CONSTRUCT("duration", msecs)
{}

std::vector<Glib::ustring> Timeline::list_markers(gint frame_num) const
{
  gsize n_markers = 0;
  gchar** const markers = clutter_timeline_list_markers(const_cast<ClutterTimeline*>(gobj()),
                                                        frame_num, &n_markers);
  std::vector<Glib::ustring> markerVec;
  markerVec.reserve(n_markers);

  for(gsize i = 0; i < n_markers; ++i)
  {
    markerVec.push_back(Glib::ustring(markers[i]));
  }

  return markerVec;
}

} // namespace Clutter
