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

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

<script>
'use strict';

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

  SpacingTrack.prototype = {
    __proto__: tr.c.tracks.HeadingTrack.prototype,

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

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

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

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

