[2/2] wineps.drv: Implement GetTextExtentExPointI.

Dmitry Timoshkov dmitry at baikal.ru
Tue Jan 22 02:19:20 CST 2013


---
 dlls/wineps.drv/builtin.c | 18 ++++++++++++++++++
 dlls/wineps.drv/init.c    |  2 +-
 dlls/wineps.drv/psdrv.h   |  1 +
 3 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/dlls/wineps.drv/builtin.c b/dlls/wineps.drv/builtin.c
index a799a00..73f30bb 100644
--- a/dlls/wineps.drv/builtin.c
+++ b/dlls/wineps.drv/builtin.c
@@ -276,6 +276,24 @@ DWORD PSDRV_GetGlyphIndices(PHYSDEV dev, LPCWSTR str, INT count,
 }
 
 /***********************************************************************
+ *           PSDRV_GetTextExtentExPointI
+ */
+BOOL PSDRV_GetTextExtentExPointI(PHYSDEV dev, const WORD *idx,
+                                 INT count, LPINT dxs)
+{
+    PSDRV_PDEVICE *physDev = get_psdrv_dev( dev );
+
+    if (physDev->font.fontloc == Download)
+    {
+        dev = GET_NEXT_PHYSDEV( dev, pGetTextExtentExPointI );
+        return dev->funcs->pGetTextExtentExPointI( dev, idx, count, dxs );
+    }
+
+    /* FIXME */
+    return FALSE;
+}
+
+/***********************************************************************
  *           PSDRV_GetTextMetrics
  */
 BOOL PSDRV_GetTextMetrics(PHYSDEV dev, TEXTMETRICW *metrics)
diff --git a/dlls/wineps.drv/init.c b/dlls/wineps.drv/init.c
index 83a5640..9d60572 100644
--- a/dlls/wineps.drv/init.c
+++ b/dlls/wineps.drv/init.c
@@ -783,7 +783,7 @@ static const struct gdi_dc_funcs psdrv_funcs =
     NULL,                               /* pGetSystemPaletteEntries */
     NULL,                               /* pGetTextCharsetInfo */
     PSDRV_GetTextExtentExPoint,         /* pGetTextExtentExPoint */
-    NULL,                               /* pGetTextExtentExPointI */
+    PSDRV_GetTextExtentExPointI,        /* pGetTextExtentExPointI */
     NULL,                               /* pGetTextFace */
     PSDRV_GetTextMetrics,               /* pGetTextMetrics */
     NULL,                               /* pGradientFill */
diff --git a/dlls/wineps.drv/psdrv.h b/dlls/wineps.drv/psdrv.h
index 470f4c8..1a19e81 100644
--- a/dlls/wineps.drv/psdrv.h
+++ b/dlls/wineps.drv/psdrv.h
@@ -435,6 +435,7 @@ extern BOOL PSDRV_FillPath( PHYSDEV dev ) DECLSPEC_HIDDEN;
 extern BOOL PSDRV_GetCharWidth(PHYSDEV dev, UINT firstChar, UINT lastChar, LPINT buffer) DECLSPEC_HIDDEN;
 extern DWORD PSDRV_GetGlyphIndices(PHYSDEV dev, LPCWSTR str, INT count, LPWORD idx, DWORD flags) DECLSPEC_HIDDEN;
 extern BOOL PSDRV_GetTextExtentExPoint(PHYSDEV dev, LPCWSTR str, INT count, LPINT alpDx) DECLSPEC_HIDDEN;
+extern BOOL PSDRV_GetTextExtentExPointI(PHYSDEV dev, const WORD *idx, INT count, LPINT dxs) DECLSPEC_HIDDEN;
 extern BOOL PSDRV_GetTextMetrics(PHYSDEV dev, TEXTMETRICW *metrics) DECLSPEC_HIDDEN;
 extern BOOL PSDRV_LineTo(PHYSDEV dev, INT x, INT y) DECLSPEC_HIDDEN;
 extern BOOL PSDRV_PaintRgn( PHYSDEV dev, HRGN hrgn ) DECLSPEC_HIDDEN;
-- 
1.8.0.2




More information about the wine-patches mailing list