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
"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
"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
"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