summaryrefslogtreecommitdiff
path: root/Build/source/libs/icu/icu-4.6/samples/layout/Surface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/icu/icu-4.6/samples/layout/Surface.cpp')
-rw-r--r--Build/source/libs/icu/icu-4.6/samples/layout/Surface.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-4.6/samples/layout/Surface.cpp b/Build/source/libs/icu/icu-4.6/samples/layout/Surface.cpp
new file mode 100644
index 00000000000..1f515241a95
--- /dev/null
+++ b/Build/source/libs/icu/icu-4.6/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);
+}
+