<!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="stylesheet" href="/ui/tracks/spacing_track.css">

<link rel="import" href="/ui/base/heading.html">
<link rel="import" href="/ui/tracks/track.html">

<script>
'use strict';

tr.exportTo('tr.ui.tracks', function() {
  /**
   * @constructor
   */
  var SpacingTrack = tr.ui.b.define('spacing-track', tr.ui.tracks.Track);

  SpacingTrack.prototype = {
    __proto__: tr.ui.tracks.Track.prototype,

    decorate: function(viewport) {
      tr.ui.tracks.Track.prototype.decorate.call(this, viewport);
      this.classList.add('spacing-track');

      this.heading_ = document.createElement('tr-ui-heading');
      this.appendChild(this.heading_);
    },

    draw: function(type, viewLWorld, viewRWorld) {
    },

    addAllEventsMatchingFilterToSelection: function(filter, selection) {
    }
  };

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

