From: Hartmut Schirmer Newsgroups: comp.os.msdos.djgpp Subject: Re: GRX Date: Mon, 13 Jan 1997 09:32:50 +0100 Organization: Technische Fakultaet, University of Kiel, Germany Lines: 35 Message-ID: <32D9F332.715E@techfak.uni-kiel.de> References: <5b8icg$ma7 AT news DOT interlog DOT com> NNTP-Posting-Host: zora.techfak.uni-kiel.de Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Gautam N. Lad wrote: > All I want is to get an image from X,Y with a width (W) and height (H) > and a pointer to a buffer (void *buffer). This is what I know > in Turbo C. GrContext ic; char *memory[4]; /* 4 is magic */ int planes, planesze, i; planes = GrNumPlanes(); planesze = GrPlaneSize(width, height); for (i=0; i < planes; ++i) memory[i] = malloc(planesze); while (i<4) memory[i++] = NULL; GrCreateContext(width, height, memory, &ic); GrBitBlt(&ic, 0, 0, NULL, left, low, right, top, GrWRITE); Now the memory context ic holds a copy of the screen area selected. Put it back to screen is easy: GrBitBlt(NULL, left, low, &ic, 0, 0, ic.gc_xmax, ic.gc_ymax, GrWRITE); I didn't check the code above, just copied it from BCC2GRX getimage()/putimage() functions. See http://www.techfak.uni-kiel.de/~hsc/BCC2GRX/ or any DJGPP mirror site form BCC2GRX zip archive Hartmut -- Hartmut Schirmer | Phone: +49-431-77572-709 FAX:-703 Automatisierungs- & Regelungstech. | hsc AT techfak DOT uni-kiel DOT de Technische Fakult"at, | http://www.techfak.uni-kiel.de/~hsc Kaiserstr. 2, 24143 Kiel, Germany | PGP key via WWW, Key ID:6D84AEC1