OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2007 Apple Computer, Inc. | 2 * Copyright (C) 2007 Apple Computer, Inc. |
3 * Copyright (c) 2007, 2008, 2009, Google Inc. All rights reserved. | 3 * Copyright (c) 2007, 2008, 2009, Google Inc. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
7 * met: | 7 * met: |
8 * | 8 * |
9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 20 matching lines...) Expand all Loading... |
31 | 31 |
32 #ifndef FontCustomPlatformData_h | 32 #ifndef FontCustomPlatformData_h |
33 #define FontCustomPlatformData_h | 33 #define FontCustomPlatformData_h |
34 | 34 |
35 #include "platform/PlatformExport.h" | 35 #include "platform/PlatformExport.h" |
36 #include "platform/fonts/FontOrientation.h" | 36 #include "platform/fonts/FontOrientation.h" |
37 #include "third_party/skia/include/core/SkRefCnt.h" | 37 #include "third_party/skia/include/core/SkRefCnt.h" |
38 #include "wtf/Allocator.h" | 38 #include "wtf/Allocator.h" |
39 #include "wtf/Forward.h" | 39 #include "wtf/Forward.h" |
40 #include "wtf/Noncopyable.h" | 40 #include "wtf/Noncopyable.h" |
| 41 #include "wtf/RefCounted.h" |
41 #include "wtf/text/WTFString.h" | 42 #include "wtf/text/WTFString.h" |
42 #include <memory> | |
43 | 43 |
44 class SkTypeface; | 44 class SkTypeface; |
45 | 45 |
46 namespace blink { | 46 namespace blink { |
47 | 47 |
48 class FontPlatformData; | 48 class FontPlatformData; |
49 class SharedBuffer; | 49 class SharedBuffer; |
50 class FontVariationSettings; | 50 class FontVariationSettings; |
51 | 51 |
52 class PLATFORM_EXPORT FontCustomPlatformData { | 52 class PLATFORM_EXPORT FontCustomPlatformData |
| 53 : public RefCounted<FontCustomPlatformData> { |
53 USING_FAST_MALLOC(FontCustomPlatformData); | 54 USING_FAST_MALLOC(FontCustomPlatformData); |
54 WTF_MAKE_NONCOPYABLE(FontCustomPlatformData); | 55 WTF_MAKE_NONCOPYABLE(FontCustomPlatformData); |
55 | 56 |
56 public: | 57 public: |
57 static std::unique_ptr<FontCustomPlatformData> create( | 58 static PassRefPtr<FontCustomPlatformData> create(SharedBuffer*, |
58 SharedBuffer*, | 59 String& otsParseMessage); |
59 String& otsParseMessage); | |
60 ~FontCustomPlatformData(); | 60 ~FontCustomPlatformData(); |
61 | 61 |
62 FontPlatformData fontPlatformData( | 62 FontPlatformData fontPlatformData( |
63 float size, | 63 float size, |
64 bool bold, | 64 bool bold, |
65 bool italic, | 65 bool italic, |
66 FontOrientation = FontOrientation::Horizontal, | 66 FontOrientation = FontOrientation::Horizontal, |
67 const FontVariationSettings* = nullptr); | 67 const FontVariationSettings* = nullptr); |
68 | 68 |
69 size_t dataSize() const { return m_dataSize; } | 69 size_t dataSize() const { return m_dataSize; } |
70 static bool supportsFormat(const String&); | 70 static bool supportsFormat(const String&); |
71 | 71 |
72 private: | 72 private: |
73 FontCustomPlatformData(sk_sp<SkTypeface>, size_t dataSize); | 73 FontCustomPlatformData(sk_sp<SkTypeface>, size_t dataSize); |
74 sk_sp<SkTypeface> m_baseTypeface; | 74 sk_sp<SkTypeface> m_baseTypeface; |
75 size_t m_dataSize; | 75 size_t m_dataSize; |
76 }; | 76 }; |
77 | 77 |
78 } // namespace blink | 78 } // namespace blink |
79 | 79 |
80 #endif // FontCustomPlatformData_h | 80 #endif // FontCustomPlatformData_h |
OLD | NEW |