On Tue, 2007-01-30 at 22:31 +0000, Nuno Lucas wrote:
> The GetCharWidth32 hasn't two variations on WinCE as it has on Windows
> (even if they are the same).

Yes, this is true for many functions. I'm a bit confused by your
proposed patch, and what I see in our libcoredll.a though.

In other places, e.g. src/w32api/include/winuser.h, these definitions
are triggered not by _WIN32_WCE but by #ifdef UNICODE .

My gut says your approach looks better than the #ifdef UNICODE, but I'd
like to be certain.

Also I'm not sure which direction the macro's should point. An example :
#ifdef UNICODE
[..]
#define MessageBox MessageBoxW

dannypc: {85} arm-wince-cegcc-nm libcoredll.a | grep MessageBox
00000000 T MessageBoxW
00000000 I __imp_MessageBoxW
dannypc: {86} arm-wince-cegcc-nm libcoredll.a | grep GetCharWidth32
00000000 T GetCharWidth32
00000000 I __imp_GetCharWidth32

This confuses me. Should we define MessageBoxW in the lib with the W,
but GetCharWidth32 without the W ? What do other Windows architectures
implement ?

        Danny

> This was discovered by simply noticing the import libraries already
> declare it as they should, only the declaration is wrong.
> 
> This patch fixes this:
> 
> 
> --- w32api/include/wingdi.h     2007-01-26 23:03:05.000000000 +0000
> +++ wingdi.h     2007-01-27 19:47:35.000000000 +0000
> @@ -2802,12 +2802,16 @@
>  WINGDIAPI BOOL WINAPI GetCharABCWidthsFloatW(HDC,UINT,UINT,LPABCFLOAT);
>  WINGDIAPI DWORD WINAPI
> GetCharacterPlacementA(HDC,LPCSTR,int,int,LPGCP_RESULTSA,DWORD);
>  WINGDIAPI DWORD WINAPI
> GetCharacterPlacementW(HDC,LPCWSTR,int,int,LPGCP_RESULTSW,DWORD);
> +#ifndef _WIN32_WCE
>  WINGDIAPI BOOL WINAPI GetCharWidth32A(HDC,UINT,UINT,LPINT);
>  WINGDIAPI BOOL WINAPI GetCharWidth32W(HDC,UINT,UINT,LPINT);
>  WINGDIAPI BOOL WINAPI GetCharWidthA(HDC,UINT,UINT,LPINT);
>  WINGDIAPI BOOL WINAPI GetCharWidthW(HDC,UINT,UINT,LPINT);
>  WINGDIAPI BOOL WINAPI GetCharWidthFloatA(HDC,UINT,UINT,PFLOAT);
>  WINGDIAPI BOOL WINAPI GetCharWidthFloatW(HDC,UINT,UINT,PFLOAT);
> +#else
> +WINGDIAPI BOOL WINAPI GetCharWidth32(HDC,UINT,UINT,LPINT);
> +#endif
>  WINGDIAPI int WINAPI GetClipBox(HDC,LPRECT);
>  WINGDIAPI int WINAPI GetClipRgn(HDC,HRGN);
>  WINGDIAPI BOOL WINAPI GetColorAdjustment(HDC,LPCOLORADJUSTMENT);
> @@ -3092,7 +3096,9 @@
>  #define GetCharABCWidthsFloat GetCharABCWidthsFloatW
>  #define GetCharABCWidths GetCharABCWidthsW
>  #define GetCharacterPlacement GetCharacterPlacementW
> +#ifndef _WIN32_WCE
>  #define GetCharWidth32 GetCharWidth32W
> +#endif
>  #define GetCharWidthFloat GetCharWidthFloatW
>  #define GetCharWidth GetCharWidthW
>  #define GetEnhMetaFile GetEnhMetaFileW
> 
> 
> Regards,
> ~Nuno Lucas
> 
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys - and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Cegcc-devel mailing list
> Cegcc-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/cegcc-devel
-- 
Danny Backx ; danny.backx - at - scarlet.be ; http://danny.backx.info

Attachment: signature.asc
Description: This is a digitally signed message part

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Cegcc-devel mailing list
Cegcc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cegcc-devel

Reply via email to