Re: svgalib

Search this archive.

From: Jay Link (jlink@interlink-bbs.com)
Date: Wed 10 May 2000 - 13:43:12 IDT


> I can use the svgalib functions, but not the svgalibgl ones.  They link
> into my program, but don't do anything.  The function that I am suspious
> of is:
> gl_setcontextvgavirtual().  I'm using G640x480xx16 as the passed
> parameter.  Is that what I want?

I assume the two x's before "16" is a typo. Anyway, what you want is
something like this:

#include <vga.h>
#include <vgagl.h>

int main(void)
{
   GraphicsContext *physicalscreen;
   GraphicsContext *virtualscreen;

   vga_init();
   vga_setmode(G640x480x16);

   gl_setcontextvga(G640x480x16);
   physicalscreen = gl_allocatecontext();
   gl_getcontext(physicalscreen);

   gl_setcontextvgavirtual(G640x480x16);
   virtualscreen = gl_allocatecontext();
   gl_getcontext(virtualscreen);

   ...

Then, when you're ready to draw to either the physical or virtual
screen, you must tell the program what screen you're interested in by
using ONE of the following:

   gl_setcontext(virtualscreen);

   -OR-

   gl_setcontext(physicalscreen);

After this, draw as per the usual. To transfer the contents of the virtual
screen to the physical screen (or vice-versa), use any of the following:

    void gl_copyscreen(GraphicsContext * gc);

    void gl_copyboxtocontext(int x1, int y1, int w, int h,
         GraphicsContext * gc, int x2, int y2);

    void gl_copyboxfromcontext(GraphicsContext * gc, int x1, int y1,
         int w, int h, int x2, int y2);


Now, quit being suspicious, and get on with it!  :-)

-JL


This archive was generated by hypermail 2.1.4 : Wed 21 Jan 2004 - 22:10:23 IST