OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2006 The Android Open Source Project | 2 * Copyright 2006 The Android Open Source Project |
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 #include "SkAdvancedTypefaceMetrics.h" | 8 #include "SkAdvancedTypefaceMetrics.h" |
9 #include "SkBase64.h" | 9 #include "SkBase64.h" |
10 #include "SkColorPriv.h" | 10 #include "SkColorPriv.h" |
(...skipping 1205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1216 | 1216 |
1217 for (int y = 0; y < glyph.fHeight; y++) { | 1217 for (int y = 0; y < glyph.fHeight; y++) { |
1218 for (int i = 0; i < width; i++) { | 1218 for (int i = 0; i < width; i++) { |
1219 dst[i] = rgb_to_lcd16<APPLY_PREBLEND>(src[i], tableR, tableG, tableB
); | 1219 dst[i] = rgb_to_lcd16<APPLY_PREBLEND>(src[i], tableR, tableG, tableB
); |
1220 } | 1220 } |
1221 src = SkTAddOffset<const SkGdiRGB>(src, srcRB); | 1221 src = SkTAddOffset<const SkGdiRGB>(src, srcRB); |
1222 dst = (uint16_t*)((char*)dst - dstRB); | 1222 dst = (uint16_t*)((char*)dst - dstRB); |
1223 } | 1223 } |
1224 } | 1224 } |
1225 | 1225 |
1226 static inline unsigned clamp255(unsigned x) { | |
1227 SkASSERT(x <= 256); | |
1228 return x - (x >> 8); | |
1229 } | |
1230 | |
1231 void SkScalerContext_GDI::generateImage(const SkGlyph& glyph) { | 1226 void SkScalerContext_GDI::generateImage(const SkGlyph& glyph) { |
1232 SkASSERT(fDDC); | 1227 SkASSERT(fDDC); |
1233 | 1228 |
1234 const bool isBW = SkMask::kBW_Format == fRec.fMaskFormat; | 1229 const bool isBW = SkMask::kBW_Format == fRec.fMaskFormat; |
1235 const bool isAA = !isLCD(fRec); | 1230 const bool isAA = !isLCD(fRec); |
1236 | 1231 |
1237 size_t srcRB; | 1232 size_t srcRB; |
1238 const void* bits = fOffscreen.draw(glyph, isBW, &srcRB); | 1233 const void* bits = fOffscreen.draw(glyph, isBW, &srcRB); |
1239 if (NULL == bits) { | 1234 if (NULL == bits) { |
1240 LogFontTypeface::EnsureAccessible(this->getTypeface()); | 1235 LogFontTypeface::EnsureAccessible(this->getTypeface()); |
(...skipping 1271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2512 | 2507 |
2513 private: | 2508 private: |
2514 SkTDArray<ENUMLOGFONTEX> fLogFontArray; | 2509 SkTDArray<ENUMLOGFONTEX> fLogFontArray; |
2515 }; | 2510 }; |
2516 | 2511 |
2517 /////////////////////////////////////////////////////////////////////////////// | 2512 /////////////////////////////////////////////////////////////////////////////// |
2518 | 2513 |
2519 SkFontMgr* SkFontMgr_New_GDI() { | 2514 SkFontMgr* SkFontMgr_New_GDI() { |
2520 return SkNEW(SkFontMgrGDI); | 2515 return SkNEW(SkFontMgrGDI); |
2521 } | 2516 } |
OLD | NEW |