It is never good to reply to your own posts, but it doesn't usually stop me 
.....

I posted the same question slightly differently to Win32-perl, and the reply I 
got there gives a much simpler solution that my original suggestion.

A better solution is to put an 'after install' script in my PPMs for 
Alien::wxWidgets.
This puts gdiplus.dll in Alien/wxWidgets/wxXX-XX-XX-XX/lib/gdilib/gdiplus.dll.
IF the Windows version requires, it also puts the DLL side by side with 
wxWidgets DLLs in Alien/wxWidgets/wxXX-XX-XX-XX/lib/

For PAR::Packer / PDK etc.  Wx::Perl::Packager assists in always packaging 
gdiplus.dll as gdilib/gdiplus.dll
At runtime, IF executable is Parl or PerlApp, Wx::Perl::Packager checks $^0 and 
puts gdilib on the PATH when necessary.

No changes to Alien::wxWidgets or Wx::Mini required.

Much better, I think.

Regards

Mark


Mark Dootson wrote:
> Hi,
> 
> I've been pondering how to support wxGraphicsContext in wxMSW binary PPM's.
> 
> The problem:
> 
> wxGraphicsContext uses gdiplus on wxMSW. This presents its own set of 
> problems with regard to compiling / MinGW. Looking at the current status of 
> MinGW vs gdiplus headers etc, I think you currently need the MS platform SDK 
> if you want to build wxWidgets with wxGraphicsContext support. But that isn't 
> the issue I'm concerned with - I'm currently just thinking about binary PPMs.
> 
> Microsoft make a gdiplus DLL available and this is distributable with your 
> applications.
> The issue is deploying gdiplus to different versions of Windows.
> 
> The instructions from Microsoft are quite clear:
> 
> DO NOT install for Win XP or above - these systems have their own gdiplus.
> On Win 2000 and below, deploy gdiplus.dll to the application directory.
> 
> Possible Solution:
> 
> Create Alien::Win32GDIPlusBinary. This contains gdiplus.dll.
> 
> Build Alien::wxWidgets for PPMs against a wxWidgets with wxGraphicsContext 
> included.
> 
> Within Wx::Mini, do checks for:
> $^O
> Win32::GetOSVersion();
> -e <inc>'Alien/Win32GDIPlusBinary/lib/gdiplus.dll
> 
> If status indicates necessary, either load gdiplus.dll or put it on the path.
> 
> In the PPM for Alien::wxWidgets, I could add Alien::Win32GDIPlusBinary as a 
> dependency, so it should all work OK whether you are running Win 2000 or XP 
> or whatever.
> 
> For users of PerlApp / PAR::Packer etc, I'd add the necessary stuff to 
> Wx::Perl::Packager
> 
> Any thoughts anyone?
> 
> Regards
> 
> Mark
> 
> 
> 
>  - 
> 


Reply via email to