From: Wade Humeniuk
Subject: LWW GDI Package
Date: 
Message-ID: <a2pv2d$e3$1@news3.cadvision.com>
I sent some code to Rafael Le�n.  It is the start of a LWW extension to the
Window's GDI interface.  I just thought since it is gathering dust that it
would not be lost.  It extends some functionality that is not in CAPI/GP.

The file is at

http://www.cadvision.com/humeniuw/gdi.zip

There is also a test file for bitmaps, I forget if it all works or not.

http://www.cadvision.com/humeniuw/bitmap-tests.lisp


Example of its uses

CAPIGDI 60 > (setf pane (capi:contain (make-instance 'capi:output-pane
:min-width 200 :min-height 200)))
#<CAPI:OUTPUT-PANE  21673C6C>

CAPIGDI 61 > (setf pixmap-port (gp:create-pixmap-port pane 200 200 :clear t
:background :black))
#<GRAPHICS-PORTS:PIXMAP-PORT 21674674>

CAPIGDI 62 > (gp:draw-rectangle pixmap-port 10 10 50 50 :background :white
:foreground :white :filled t)
T

CAPIGDI 63 > (winapi::|BitBlt| (hdc pane) 0 0 200 200 (hdc pixmap-port) 0 0
winapi::SRCCOPY)
T

CAPIGDI 64 >

Wade

From: Martin Simmons
Subject: Re: LWW GDI Package
Date: 
Message-ID: <1012239049.331734@itn.cam.harlequin.co.uk>
"Wade Humeniuk" <········@cadvision.com> wrote in message
················@news3.cadvision.com...
> I sent some code to Rafael Le�n.  It is the start of a LWW extension to the
> Window's GDI interface.  I just thought since it is gathering dust that it
> would not be lost.  It extends some functionality that is not in CAPI/GP.
>
> ...snip...
>
> CAPIGDI 63 > (winapi::|BitBlt| (hdc pane) 0 0 200 200 (hdc pixmap-port) 0 0
> winapi::SRCCOPY)
> T

FWIW, (gp:pixblt pane boole-1 pixmap-port 0 0 200 200 0 0) will do this in
CAPI/GP.

--
Martin Simmons, Xanalys Software Tools
······@xanalys.com
rot13 to reply
From: Wade Humeniuk
Subject: Re: LWW GDI Package
Date: 
Message-ID: <a346h7$c40$1@news3.cadvision.com>
"Martin Simmons" <······@xanalys.com> wrote in message
······················@itn.cam.harlequin.co.uk...
> "Wade Humeniuk" <········@cadvision.com> wrote in message
> ················@news3.cadvision.com...
> > I sent some code to Rafael Le�n.  It is the start of a LWW extension to
the
> > Window's GDI interface.  I just thought since it is gathering dust that
it
> > would not be lost.  It extends some functionality that is not in
CAPI/GP.
> >
> > ...snip...
> >
> > CAPIGDI 63 > (winapi::|BitBlt| (hdc pane) 0 0 200 200 (hdc pixmap-port)
0 0
> > winapi::SRCCOPY)
> > T
>
> FWIW, (gp:pixblt pane boole-1 pixmap-port 0 0 200 200 0 0) will do this in
> CAPI/GP.

Yes it should.

The problem that Rafael was experiencing was that the LWW pixblt was doing
the same thing for any operation.  He ended up using winapi::|BitBlt| with
winapi::SRCINVERT to do what he needed.  I suggested to Rafael that he might
put in a bug report but he wanted it quickly.  I am sure the operation
parameter worked before, but for some reason it does not anymore.

Wade
From: Martin Simmons
Subject: Re: LWW GDI Package
Date: 
Message-ID: <1012299023.545604@itn.cam.harlequin.co.uk>
"Wade Humeniuk" <········@cadvision.com> wrote in message
·················@news3.cadvision.com...
> "Martin Simmons" <······@xanalys.com> wrote in message
> ······················@itn.cam.harlequin.co.uk...
> > FWIW, (gp:pixblt pane boole-1 pixmap-port 0 0 200 200 0 0) will do this in
> > CAPI/GP.
>
> Yes it should.
>
> The problem that Rafael was experiencing was that the LWW pixblt was doing
> the same thing for any operation.  He ended up using winapi::|BitBlt| with
> winapi::SRCINVERT to do what he needed.  I suggested to Rafael that he might
> put in a bug report but he wanted it quickly.  I am sure the operation
> parameter worked before, but for some reason it does not anymore.

Ah, I see -- you are correct that LWW 4.1 ignored the operation for pixblt. This
has been fixed in the latest version.
--
Martin Simmons, Xanalys Software Tools
······@xanalys.com
rot13 to reply