[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