mutable_property_alist_ = SCM_EOL;
immutable_property_alist_ = immutable_init;
smobify_self ();
- stencil_ = s;
- init_vars ();
-}
+ SCM yext = get_property ("Y-extent");
+
+ if (is_number_pair (yext))
+ {
+
+ Box b = s.extent_box();
+ b[Y_AXIS] = ly_scm2interval (yext);
+
+ s = Stencil (b, s.expr ());
+ }
+ set_property ("stencil", s.smobbed_copy ());
+}
Paper_system::~Paper_system ()
{
{
Paper_system *system = (Paper_system *) SCM_CELL_WORD_1 (smob);
scm_gc_mark (system->mutable_property_alist_);
- scm_gc_mark (system->immutable_property_alist_);
- return system->stencil_.expr ();
+ return system->immutable_property_alist_;
}
int
{
Paper_system *p = (Paper_system *) SCM_CELL_WORD_1 (smob);
scm_puts ("#<", port);
- scm_puts (classname (p), port);
+ scm_puts ("Paper_system", port);
scm_display (p->mutable_property_alist_, port);
scm_display (p->immutable_property_alist_, port);
return 1;
}
-
-Stencil
-Paper_system::to_stencil () const
-{
- return stencil_;
-}
-
void
Paper_system::init_vars ()
{
- SCM yext = get_property ("Y-extent");
- if (is_number_pair (yext))
- {
- Box b = stencil_.extent_box();
- b[Y_AXIS] = ly_scm2interval (yext);
-
- stencil_ = Stencil (b, stencil_.expr ());
- }
}
SCM