#define LIBR2C2_TRACKATTACHMENT_H_
#include "object.h"
-#include "trackiter.h"
+#include "track.h"
+#include "trackoffsetiter.h"
namespace R2C2 {
class TrackAttachment: public Object, public sigc::trackable
{
protected:
- TrackIter track;
- float offset;
+ TrackOffsetIter track;
TrackAttachment(Layout &);
public:
virtual ~TrackAttachment();
- const TrackIter &get_track_iter() const { return track; }
+ const TrackOffsetIter &get_track_iter() const { return track; }
Track *get_track() const { return track.track(); }
unsigned get_entry() const { return track.entry(); }
- float get_offset() const { return offset; }
+ float get_offset() const { return track.offset(); }
+ float get_offset_from_endpoint(unsigned) const;
protected:
- void attach_to(const TrackIter &, float);
+ void attach_to(const TrackOffsetIter &);
void attach_to_closest(float);
float find_offset(const TrackIter &, const Vector &);