OSDN Git Service

Remove MinikinSkiaFont::GetGlyph.
[android-x86/frameworks-base.git] / core / jni / android / graphics / MinikinSkia.h
1 /*
2  * Copyright (C) 2013 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #ifndef _ANDROID_GRAPHICS_MINIKIN_SKIA_H_
18 #define _ANDROID_GRAPHICS_MINIKIN_SKIA_H_
19
20 #include <minikin/MinikinFont.h>
21
22 namespace android {
23
24 class MinikinFontSkia : public MinikinFont {
25 public:
26     // Note: this takes ownership of the reference (will unref on dtor)
27     explicit MinikinFontSkia(SkTypeface *typeface);
28
29     ~MinikinFontSkia();
30
31     float GetHorizontalAdvance(uint32_t glyph_id,
32         const MinikinPaint &paint) const;
33
34     void GetBounds(MinikinRect* bounds, uint32_t glyph_id,
35         const MinikinPaint &paint) const;
36
37     // If buf is NULL, just update size
38     bool GetTable(uint32_t tag, uint8_t *buf, size_t *size);
39
40     int32_t GetUniqueId() const;
41
42     SkTypeface* GetSkTypeface() const;
43
44     static uint32_t packPaintFlags(const SkPaint* paint);
45     static void unpackPaintFlags(SkPaint* paint, uint32_t paintFlags);
46
47     // set typeface and fake bold/italic parameters
48     static void populateSkPaint(SkPaint* paint, const MinikinFont* font, FontFakery fakery);
49 private:
50     SkTypeface *mTypeface;
51 };
52
53 }  // namespace android
54
55 #endif  // _ANDROID_GRAPHICS_MINIKIN_SKIA_H_