X-Git-Url: http://git.tdb.fi/?p=r2c2.git;a=blobdiff_plain;f=source%2Flibr2c2%2Fzone.h;h=647a6195e2dcac73567a15d934b6ea4379f17d74;hp=9542a0577357f571c8db70e82d162c05dd61a2db;hb=9a2fd67cec715e371e293be638b126e0d1b2148d;hpb=3907520897611cb1b5f2f938c60d3eaff34477a5 diff --git a/source/libr2c2/zone.h b/source/libr2c2/zone.h index 9542a05..647a619 100644 --- a/source/libr2c2/zone.h +++ b/source/libr2c2/zone.h @@ -22,6 +22,7 @@ public: virtual void finish(); void block(unsigned); void direction_hint(unsigned, Direction); + void preferred_direction(Direction); }; private: @@ -29,6 +30,7 @@ private: std::string qualifier; unsigned number; int up_end; + Direction preferred_dir; public: Zone(Layout &); @@ -43,7 +45,14 @@ public: const std::string &get_qualifier() const { return qualifier; } unsigned get_number() const { return number; } +private: + virtual void on_track_added(Track &); + +public: void set_direction_towards(Track &, Direction); + bool has_direction() const { return up_end>=0; } + void set_preferred_direction(Direction); + Direction get_preferred_direction() const { return preferred_dir; } void clear_direction(); virtual TrackIter iter_for(Track &, Direction) const; private: