Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(240)

Side by Side Diff: src/ports/SkTypeface_win_dw.h

Issue 2075913002: Revert of Support pixel antialising in DirectWrite. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/ports/SkScalerContext_win_dw.cpp ('k') | src/ports/SkTypeface_win_dw.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2014 Google Inc. 2 * Copyright 2014 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #ifndef SkTypeface_win_dw_DEFINED 8 #ifndef SkTypeface_win_dw_DEFINED
9 #define SkTypeface_win_dw_DEFINED 9 #define SkTypeface_win_dw_DEFINED
10 10
11 #include "SkAdvancedTypefaceMetrics.h" 11 #include "SkAdvancedTypefaceMetrics.h"
12 #include "SkDWrite.h" 12 #include "SkDWrite.h"
13 #include "SkHRESULT.h" 13 #include "SkHRESULT.h"
14 #include "SkLeanWindows.h" 14 #include "SkLeanWindows.h"
15 #include "SkTScopedComPtr.h" 15 #include "SkTScopedComPtr.h"
16 #include "SkTypeface.h" 16 #include "SkTypeface.h"
17 #include "SkTypefaceCache.h" 17 #include "SkTypefaceCache.h"
18 18
19 #include <dwrite.h> 19 #include <dwrite.h>
20 #if SK_HAS_DWRITE_1_H 20 #if SK_HAS_DWRITE_1_H
21 # include <dwrite_1.h> 21 # include <dwrite_1.h>
22 #endif 22 #endif
23 #if SK_HAS_DWRITE_2_H
24 # include <dwrite_2.h>
25 #endif
26 23
27 class SkFontDescriptor; 24 class SkFontDescriptor;
28 struct SkScalerContextRec; 25 struct SkScalerContextRec;
29 26
30 static SkFontStyle get_style(IDWriteFont* font) { 27 static SkFontStyle get_style(IDWriteFont* font) {
31 int weight = font->GetWeight(); 28 int weight = font->GetWeight();
32 int width = font->GetStretch(); 29 int width = font->GetStretch();
33 SkFontStyle::Slant slant = SkFontStyle::kUpright_Slant; 30 SkFontStyle::Slant slant = SkFontStyle::kUpright_Slant;
34 switch (font->GetStyle()) { 31 switch (font->GetStyle()) {
35 case DWRITE_FONT_STYLE_NORMAL: slant = SkFontStyle::kUpright_Slant; brea k; 32 case DWRITE_FONT_STYLE_NORMAL: slant = SkFontStyle::kUpright_Slant; brea k;
(...skipping 21 matching lines...) Expand all
57 , fDWriteFont(SkRefComPtr(font)) 54 , fDWriteFont(SkRefComPtr(font))
58 , fDWriteFontFace(SkRefComPtr(fontFace)) 55 , fDWriteFontFace(SkRefComPtr(fontFace))
59 { 56 {
60 #if SK_HAS_DWRITE_1_H 57 #if SK_HAS_DWRITE_1_H
61 if (!SUCCEEDED(fDWriteFontFace->QueryInterface(&fDWriteFontFace1))) { 58 if (!SUCCEEDED(fDWriteFontFace->QueryInterface(&fDWriteFontFace1))) {
62 // IUnknown::QueryInterface states that if it fails, punk will be se t to nullptr. 59 // IUnknown::QueryInterface states that if it fails, punk will be se t to nullptr.
63 // http://blogs.msdn.com/b/oldnewthing/archive/2004/03/26/96777.aspx 60 // http://blogs.msdn.com/b/oldnewthing/archive/2004/03/26/96777.aspx
64 SkASSERT_RELEASE(nullptr == fDWriteFontFace1.get()); 61 SkASSERT_RELEASE(nullptr == fDWriteFontFace1.get());
65 } 62 }
66 #endif 63 #endif
67 #if SK_HAS_DWRITE_2_H
68 if (!SUCCEEDED(fDWriteFontFace->QueryInterface(&fDWriteFontFace2))) {
69 SkASSERT_RELEASE(nullptr == fDWriteFontFace2.get());
70 }
71 if (!SUCCEEDED(fFactory->QueryInterface(&fFactory2))) {
72 SkASSERT_RELEASE(nullptr == fFactory2.get());
73 }
74 #endif
75 } 64 }
76 65
77 public: 66 public:
78 SkTScopedComPtr<IDWriteFactory> fFactory; 67 SkTScopedComPtr<IDWriteFactory> fFactory;
79 #if SK_HAS_DWRITE_2_H
80 SkTScopedComPtr<IDWriteFactory2> fFactory2;
81 #else
82 const decltype(nullptr) fFactory2 = nullptr;
83 #endif
84 SkTScopedComPtr<IDWriteFontCollectionLoader> fDWriteFontCollectionLoader; 68 SkTScopedComPtr<IDWriteFontCollectionLoader> fDWriteFontCollectionLoader;
85 SkTScopedComPtr<IDWriteFontFileLoader> fDWriteFontFileLoader; 69 SkTScopedComPtr<IDWriteFontFileLoader> fDWriteFontFileLoader;
86 SkTScopedComPtr<IDWriteFontFamily> fDWriteFontFamily; 70 SkTScopedComPtr<IDWriteFontFamily> fDWriteFontFamily;
87 SkTScopedComPtr<IDWriteFont> fDWriteFont; 71 SkTScopedComPtr<IDWriteFont> fDWriteFont;
88 SkTScopedComPtr<IDWriteFontFace> fDWriteFontFace; 72 SkTScopedComPtr<IDWriteFontFace> fDWriteFontFace;
89 #if SK_HAS_DWRITE_1_H 73 #if SK_HAS_DWRITE_1_H
90 SkTScopedComPtr<IDWriteFontFace1> fDWriteFontFace1; 74 SkTScopedComPtr<IDWriteFontFace1> fDWriteFontFace1;
91 #endif 75 #endif
92 #if SK_HAS_DWRITE_2_H
93 SkTScopedComPtr<IDWriteFontFace2> fDWriteFontFace2;
94 #else
95 const decltype(nullptr) fDWriteFontFace2 = nullptr;
96 #endif
97 76
98 static DWriteFontTypeface* Create(IDWriteFactory* factory, 77 static DWriteFontTypeface* Create(IDWriteFactory* factory,
99 IDWriteFontFace* fontFace, 78 IDWriteFontFace* fontFace,
100 IDWriteFont* font, 79 IDWriteFont* font,
101 IDWriteFontFamily* fontFamily, 80 IDWriteFontFamily* fontFamily,
102 IDWriteFontFileLoader* fontFileLoader = nu llptr, 81 IDWriteFontFileLoader* fontFileLoader = nu llptr,
103 IDWriteFontCollectionLoader* fontCollectio nLoader = nullptr) { 82 IDWriteFontCollectionLoader* fontCollectio nLoader = nullptr) {
104 SkFontID fontID = SkTypefaceCache::NewFontID(); 83 SkFontID fontID = SkTypefaceCache::NewFontID();
105 return new DWriteFontTypeface(get_style(font), fontID, factory, fontFace , font, fontFamily, 84 return new DWriteFontTypeface(get_style(font), fontID, factory, fontFace , font, fontFamily,
106 fontFileLoader, fontCollectionLoader); 85 fontFileLoader, fontCollectionLoader);
(...skipping 27 matching lines...) Expand all
134 SkTypeface::LocalizedStrings* onCreateFamilyNameIterator() const override; 113 SkTypeface::LocalizedStrings* onCreateFamilyNameIterator() const override;
135 int onGetTableTags(SkFontTableTag tags[]) const override; 114 int onGetTableTags(SkFontTableTag tags[]) const override;
136 virtual size_t onGetTableData(SkFontTableTag, size_t offset, 115 virtual size_t onGetTableData(SkFontTableTag, size_t offset,
137 size_t length, void* data) const override; 116 size_t length, void* data) const override;
138 117
139 private: 118 private:
140 typedef SkTypeface INHERITED; 119 typedef SkTypeface INHERITED;
141 }; 120 };
142 121
143 #endif 122 #endif
OLDNEW
« no previous file with comments | « src/ports/SkScalerContext_win_dw.cpp ('k') | src/ports/SkTypeface_win_dw.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698