bool is_live () const;
/* naming. */
- string name () const;
+ std::string name () const;
/* Properties */
SCM get_property_alist_chain (SCM) const;
void internal_set_property (SCM sym, SCM val);
/* messages */
- void warning (const string&) const;
- void programming_error (const string&) const;
+ void warning (const std::string&) const;
+ void programming_error (const std::string&) const;
/* class hierarchy */
virtual System *get_system () const;
/* interfaces */
bool internal_has_interface (SCM intf);
- DECLARE_GROB_INTERFACE ();
/* offsets */
void translate_axis (Real, Axis);
/* extents */
Interval extent (Grob *refpoint, Axis) const;
void flush_extent_cache (Axis);
- virtual Interval pure_height (Grob *refpoint, int start_col, int end_col);
+ virtual Interval pure_y_extent (Grob *refpoint, int start, int end);
Interval maybe_pure_extent (Grob *refpoint, Axis, bool pure, int start, int end);
/* refpoints */
static SCM internal_skylines_from_element_stencils (SCM, Axis);
};
+template <class T>
+inline bool has_interface(Grob *g)
+{
+ return g && g->internal_has_interface (Grob_interface<T>::interface_symbol_);
+}
+
/* unification */
-void uniquify (vector <Grob *> &);
+void uniquify (std::vector <Grob *> &);
/* refpoints */
Grob *common_refpoint_of_list (SCM elt_list, Grob *, Axis a);
-Grob *common_refpoint_of_array (vector<Grob *> const &, Grob *, Axis a);
-Grob *common_refpoint_of_array (set<Grob *> const &, Grob *, Axis a);
+Grob *common_refpoint_of_array (std::vector<Grob *> const &, Grob *, Axis a);
+Grob *common_refpoint_of_array (std::set<Grob *> const &, Grob *, Axis a);
System *get_root_system (Grob *me);
/* extents */