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