diff options
Diffstat (limited to 'Build/source/libs/icu/icu-xetex/samples/layout/Surface.cpp')
-rw-r--r-- | Build/source/libs/icu/icu-xetex/samples/layout/Surface.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-xetex/samples/layout/Surface.cpp b/Build/source/libs/icu/icu-xetex/samples/layout/Surface.cpp new file mode 100644 index 00000000000..1f515241a95 --- /dev/null +++ b/Build/source/libs/icu/icu-xetex/samples/layout/Surface.cpp @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2003, International Business Machines + * Corporation and others. All Rights Reserved. + */ +void GDISurface::setFont(RenderingFontInstance *font) +{ + GDIFontInstance *gFont = (GDIFontInstance *) font; + + if (fCurrentFont != font) { + fCurrentFont = font; + SelectObject(fHdc, gFont->fFont); + } +} + +void GDISurface::drawGlyphs(RenderingFontInstance *font, const LEGlyphID *glyphs, le_int32 count, const le_int32 *dx, + le_int32 x, le_int32 y, le_int32 width, le_int32 height) +{ + RECT clip; + + clip.top = 0; + clip.left = 0; + clip.bottom = height; + clip.right = width; + + setFont(font); + + ExtTextOut(fHdc, x, y - fAscent, ETO_CLIPPED | ETO_GLYPH_INDEX, &clip, + glyphs, count, (INT *) dx); +} + |