I ran into an issue with WMF files in helping someone get an application to work (Athena Visual Studio) and I worked around it by pre-rendering the application's vector WMF files. I don't currently have the time to resolve the issue, but for when I do I'm curious whether there is a reason that OleLoadPicture* has been implemented manually. It seems that the LGPL "libwmf" has excellent support for both bitmap and vector WMF files (it at least worked for converting the files I had trouble with!), so it seems to me like it would make sense to use this library rather than spinning a separate implementation. Any comments are appreciated.
Erich Hoover ehoover@mines.edu
It seems that the LGPL "libwmf" has excellent support for both bitmap and vector WMF files (it at least worked for converting the files I had trouble with!), so it seems to me like it would make sense to use this library rather than spinning a separate implementation. Any comments are appreciated.
As always, patches are appreciated. --Juan
Wine must contain an implementation of WMF because it is tightly integrated into the public gdi32 API. Some Windows applications are known to play back WMF files one record at a time and depend on the device context where they are being rendered to change exactly as it does on Windows (and this detail is, itself, different between 9x and NT). For compatibility, Wine needs detailed control over its WMF reading and rendering, and it needs to expose this to apps that will misuse it in strange ways.
OleLoadPicture* does not need such things. If oleaut32 were the only place where Wine needed WMF support, it might be able to use an external library. Given that we already need to have an implementation in Wine, it makes sense to use it.
Vincent Povirk
On Thu, Jan 15, 2009 at 8:38 PM, Erich Hoover ehoover@mines.edu wrote:
I ran into an issue with WMF files in helping someone get an application to work (Athena Visual Studio) and I worked around it by pre-rendering the application's vector WMF files. I don't currently have the time to resolve the issue, but for when I do I'm curious whether there is a reason that OleLoadPicture* has been implemented manually. It seems that the LGPL "libwmf" has excellent support for both bitmap and vector WMF files (it at least worked for converting the files I had trouble with!), so it seems to me like it would make sense to use this library rather than spinning a separate implementation. Any comments are appreciated.
http://msdn.microsoft.com/en-us/library/ms693724(VS.85).aspx
Erich Hoover ehoover@mines.edu