DIB Engine: Fork DDB-DIB behaviour
[wine/hacks.git] / dlls / winedib.drv / text.c
blob0176011c04a54cadab5390a498c4cb251031c45c
1 /*
2 * DIBDRV text functions
4 * Copyright 2009 Massimo Del Fedele
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 #include "config.h"
22 #include "wine/port.h"
24 #include "dibdrv.h"
26 WINE_DEFAULT_DEBUG_CHANNEL(dibdrv);
28 /***********************************************************************
29 * DIBDRV_ExtTextOut
31 BOOL DIBDRV_ExtTextOut( DIBDRVPHYSDEV *physDev, INT x, INT y, UINT flags,
32 const RECT *lprect, LPCWSTR wstr, UINT count,
33 const INT *lpDx )
35 BOOL res;
37 TRACE("physDev:%p, x:%d, y:%d, flags:%x, lprect:%p, wstr:%s, count:%d, lpDx:%p\n",
38 physDev, x, y, flags, lprect, debugstr_w(wstr), count, lpDx);
40 if(physDev->hasDIB)
42 /* DIB section selected in, use DIB Engine */
43 ONCE(FIXME("TEMPORARY - fallback to X11 driver\n"));
44 res = _DIBDRV_GetDisplayDriver()->pExtTextOut(physDev->X11PhysDev, x, y, flags, lprect,
45 wstr, count, lpDx);
47 else
49 /* DDB selected in, use X11 driver */
50 res = _DIBDRV_GetDisplayDriver()->pExtTextOut(physDev->X11PhysDev, x, y, flags, lprect,
51 wstr, count, lpDx);
53 return res;
56 /***********************************************************************
57 * DIBDRV_GetTextExtentExPoint
59 BOOL DIBDRV_GetTextExtentExPoint( DIBDRVPHYSDEV *physDev, LPCWSTR str, INT count,
60 INT maxExt, LPINT lpnFit, LPINT alpDx, LPSIZE size )
62 BOOL res;
64 TRACE("physDev:%p, str:%s, count:%d, maxExt:%d, lpnFit:%p, alpDx:%p, size:%p\n",
65 physDev, debugstr_w(str), count, maxExt, lpnFit, alpDx, size);
67 if(physDev->hasDIB)
69 /* DIB section selected in, use DIB Engine */
70 ONCE(FIXME("TEMPORARY - fallback to X11 driver\n"));
71 res = _DIBDRV_GetDisplayDriver()->pGetTextExtentExPoint(physDev->X11PhysDev, str, count, maxExt,
72 lpnFit, alpDx, size);
74 else
76 /* DDB selected in, use X11 driver */
77 res = _DIBDRV_GetDisplayDriver()->pGetTextExtentExPoint(physDev->X11PhysDev, str, count, maxExt,
78 lpnFit, alpDx, size);
80 return res;