Index: src/core/SkPaintOptionsAndroid.cpp |
diff --git a/src/core/SkPaintOptionsAndroid.cpp b/src/core/SkPaintOptionsAndroid.cpp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..df71ca87a4aaa92ba9b96b7889b1e83b801f045b |
--- /dev/null |
+++ b/src/core/SkPaintOptionsAndroid.cpp |
@@ -0,0 +1,43 @@ |
+ |
+/* |
+ * Copyright 2012 The Android Open Source Project |
+ * |
+ * Use of this source code is governed by a BSD-style license that can be |
+ * found in the LICENSE file. |
+ */ |
+ |
+#include "SkPaintOptionsAndroid.h" |
+#include "SkReadBuffer.h" |
+#include "SkWriteBuffer.h" |
+#include "SkTDict.h" |
+#include "SkThread.h" |
+#include <cstring> |
+ |
+SkLanguage SkLanguage::getParent() const { |
+ SkASSERT(!fTag.isEmpty()); |
+ const char* tag = fTag.c_str(); |
+ |
+ // strip off the rightmost "-.*" |
+ const char* parentTagEnd = strrchr(tag, '-'); |
+ if (parentTagEnd == NULL) { |
+ return SkLanguage(); |
+ } |
+ size_t parentTagLen = parentTagEnd - tag; |
+ return SkLanguage(tag, parentTagLen); |
+} |
+ |
+void SkPaintOptionsAndroid::flatten(SkWriteBuffer& buffer) const { |
+ buffer.writeUInt(fFontVariant); |
+ buffer.writeString(fLanguage.getTag().c_str()); |
+ // to maintain picture compatibility for the old fUseFontFallbacks variable |
+ buffer.writeBool(false); |
+} |
+ |
+void SkPaintOptionsAndroid::unflatten(SkReadBuffer& buffer) { |
+ fFontVariant = (FontVariant)buffer.readUInt(); |
+ SkString tag; |
+ buffer.readString(&tag); |
+ fLanguage = SkLanguage(tag); |
+ // to maintain picture compatibility for the old fUseFontFallbacks variable |
+ buffer.readBool(); |
+} |