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