]> git.donarmstrong.com Git - lilypond.git/blob - lily/dimension-cache.cc
use the new spacing-interface stuff in staff-spacing
[lilypond.git] / lily / dimension-cache.cc
1 /*
2   dimension-cache.cc -- implement Dimension_cache
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 1998--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
7 */
8
9
10 #include "dimension-cache.hh"
11
12 #include "warn.hh"
13 #include "grob.hh"
14
15 Dimension_cache::Dimension_cache (Dimension_cache const &d)
16 {
17   init ();
18   offset_ = d.offset_ ? new Real (*d.offset_) : 0;
19   parent_ = d.parent_;
20   extent_ = d.extent_ ? new Interval (*d.extent_) : 0;
21 }
22
23 Dimension_cache::Dimension_cache ()
24 {
25   init ();
26 }
27
28 void
29 Dimension_cache::init ()
30 {
31   offset_ = 0;
32   extent_ = 0;
33   parent_ = 0;
34 }
35
36 Dimension_cache::~Dimension_cache ()
37 {
38   clear ();
39 }
40
41 void
42 Dimension_cache::clear ()
43 {
44   delete extent_;
45   delete offset_;
46   extent_ = 0;
47   offset_ = 0;
48 }