--- 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 "<invalid value>";
+}
+
+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();
+}