Thanks for your letting us share in the fruit of your efforts, Philip.

On 7/6/07, Philip Sheard <[EMAIL PROTECTED]> wrote:
>
> OK, here is the source for the main module:
>
> void capture(Char *buf){
>         MemHandle h;
>         WinHandle w1, w2;
>         FileRef f;
>         void *p;
>         UInt32 n, depth;
>         BitmapType *bmap;
>         Err err;
>         RectangleType r;
>         Int16 i;
>         UInt8 *q;
>
>         // check color depth
>         WinScreenMode(winScreenModeGet, 0, 0, &depth, 0);
>
>         if(depth != 8){
>                 SndPlaySystemSound(sndError);
>                 return;
>         }
>
>         // open bitmap file
>         f = openFile(buf);
>
>         if(f == vfsInvalidFileRef)
>                 return;
>
>         // create bitmap
>         bmap = BmpCreate(160, 160, 8, 0, &err);
>
>         if(err){
>                 SndPlaySystemSound(sndError);
>                 VFSFileClose(f);
>                 return;
>         }
>
>         // copy bitmap header
>         h = DmGetResource('tbin', 1000);
>         p = MemHandleLock(h);
>         VFSFileWrite(f, 1078, p, &n);
>         DmReleaseResource(h);
>
>         // set up rectangle
>         r.topLeft.x = 0;
>         r.topLeft.y = 0;
>         r.extent.x = 160;
>         r.extent.y = 160;
>
>         // copy screen image
>         w1 = WinGetDrawWindow();
>         w2 = WinCreateBitmapWindow(bmap, &err);
>         WinCopyRectangle(w1, w2, &r, 0, 0, winPaint);
>         q = BmpGetBits(bmap);
>
>         for(i = 0; i < 160; i++)
>                 VFSFileWrite(f, 160, q + 160 * (159 - i), &n);
>
>         // epilog
>         WinDeleteWindow(w2, false);
>         MemPtrFree(bmap);
>         VFSFileClose(f);
>         SndPlaySystemSound(sndConfirmation);
> }
>
> The openFile function just opens a named file for output, and returns the
> handle.
>
> The resource it uses is the first 1078 bytes of another bitmap, that you
> can create using POSE. Just include it in your application, as custom data.
>
> Note that the Windows bitmap is flipped horizontally, relative to the Palm
> bitmap. My method is not the quickest, but it is probably the simplest.
> --
> For information on using the ACCESS Developer Forums, or to unsubscribe,
> please see http://www.access-company.com/developers/forums/
>

-- 
For information on using the ACCESS Developer Forums, or to unsubscribe, please 
see http://www.access-company.com/developers/forums/

Reply via email to