<!DOCTYPE html>
<!--
Copyright (c) 2013 The Chromium Authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->

<link rel="import" href="/core/tracks/rect_track.html">

<script>
'use strict';

tv.exportTo('tv.c.tracks', function() {
  /**
   * A track that displays an array of Sample objects.
   * @constructor
   * @extends {HeadingTrack}
   */
  var SampleTrack = tv.b.ui.define(
      'sample-track', tv.c.tracks.RectTrack);

  SampleTrack.prototype = {

    __proto__: tv.c.tracks.RectTrack.prototype,

    decorate: function(viewport) {
      tv.c.tracks.RectTrack.prototype.decorate.call(this, viewport);
    },

    get samples() {
      return this.rects;
    },

    set samples(samples) {
      this.rects = samples;
    },

    getModelEventFromItem: function(sample) {
      return sample;
    }
  };

  return {
    SampleTrack: SampleTrack
  };
});
</script>

