diff -r ff6ea2cb5620 -r 1811beeb472f yapf/yapf_common.cpp --- a/yapf/yapf_common.cpp Mon Jan 01 18:27:08 2007 +0000 +++ b/yapf/yapf_common.cpp Mon Jan 01 19:44:02 2007 +0000 @@ -27,3 +27,39 @@ TRACKDIR_BIT_NONE , //14 TRACKDIR_BIT_NONE , //15 }; + +const char* GetTrackdirName(Trackdir td) +{ + static const char * const td_names[] = { + "INVALID_TRACKDIR", + "X_NE", + "Y_SE", + "UPPER_E", + "LOWER_E", + "LEFT_S", + "RIGHT_S", + "<6>", + "<7>", + "X_SW", + "Y_NW", + "UPPER_W", + "LOWER_W", + "LEFT_N", + "RIGHT_N", + "TRACKDIR_END" + }; + if (((int)td <= (int)TRACKDIR_END)) { + int idx = ((int8)td) + 1; + return td_names[idx]; + } + return ""; +} + +CStrA GetTrackdirBitsName(TrackdirBits td_bits) +{ + CStrA name; + for(int tdb = td_bits; tdb != 0; tdb = KillFirstBit2x64(tdb)) { + name.Format("%s%s", name.Size() > 0 ? "+" : "", GetTrackdirName((Trackdir)FindFirstBit2x64(tdb))); + } + return name.Transfer(); +}