2 box.cc -- implement Box
4 source file of the GNU LilyPond music typesetter
6 (c) 1996--2003 Han-Wen Nienhuys <hanwen@cs.uu.nl>
13 Box::translate (Offset o
)
15 for (Axis i
=X_AXIS
; i
< NO_AXES
; incr (i
))
16 interval_a_
[i
] += o
[i
];
22 for (Axis i
=X_AXIS
; i
< NO_AXES
; incr (i
))
23 interval_a_
[i
].unite (b
[i
]);
36 interval_a_
[X_AXIS
].set_empty ();
37 interval_a_
[Y_AXIS
].set_empty ();
40 Box::Box (Interval ix
, Interval iy
)
47 Box::operator[] (Axis a
)
49 return interval_a_
[a
];
53 Box::operator[] (Axis a
)const
55 return interval_a_
[a
];
61 interval_a_
[X_AXIS
] *= s
;
62 interval_a_
[Y_AXIS
] *= s
;
66 Box::add_point (Offset o
)
68 interval_a_
[X_AXIS
].add_point (o
[X_AXIS
]);
69 interval_a_
[Y_AXIS
].add_point (o
[Y_AXIS
]);
75 return Offset (interval_a_
[X_AXIS
].center(),
76 interval_a_
[Y_AXIS
].center());