yapf/yapf_common.cpp
branchcustombridgeheads
changeset 5626 1811beeb472f
parent 5621 6ce400c0a2f4
--- 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();
+}