Deleted Added
full compact
demo.c (50476) demo.c (53013)
1/*-
2 * Copyright (c) 1991-1997 S�ren Schmidt
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 11 unchanged lines hidden (view full) ---

20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *
1/*-
2 * Copyright (c) 1991-1997 S�ren Schmidt
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 11 unchanged lines hidden (view full) ---

20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *
28 * $FreeBSD: head/share/examples/libvgl/demo.c 50476 1999-08-28 00:22:10Z peter $
28 * $FreeBSD: head/share/examples/libvgl/demo.c 53013 1999-11-08 11:37:46Z yokota $
29 */
30
31#include <sys/types.h>
32#include <machine/console.h>
33#include "vgl.h"
34
35int
36main(int argc, char **argv)
37{
38 int x, y, xsize, ysize, i,j;
29 */
30
31#include <sys/types.h>
32#include <machine/console.h>
33#include "vgl.h"
34
35int
36main(int argc, char **argv)
37{
38 int x, y, xsize, ysize, i,j;
39 VGLBitmap tmp;
39 VGLBitmap *tmp;
40
41 // set graphics mode, here 320x240 256 colors
42 // supported modes are (from <machine/console.h>):
43 // SW_VGA_CG320: std VGA 320x200 256 colors
44 // SW_VGA_MODEX: Modex VGA 320x240 256 colors
45 // SW_VGA_VG640: std VGA 640x480 16 colors
46 VGLInit(SW_VGA_MODEX);
47
48 // initialize mouse and show pointer
49 VGLMouseInit(VGL_MOUSESHOW);
50
51 // VGLDisplay is a ptr to a struct Bitmap defined and initialized by
52 // libvgl. The Bitmap points directly to screen memory etc.
53 xsize=VGLDisplay->Xsize;
54 ysize=VGLDisplay->Ysize;
55
40
41 // set graphics mode, here 320x240 256 colors
42 // supported modes are (from <machine/console.h>):
43 // SW_VGA_CG320: std VGA 320x200 256 colors
44 // SW_VGA_MODEX: Modex VGA 320x240 256 colors
45 // SW_VGA_VG640: std VGA 640x480 16 colors
46 VGLInit(SW_VGA_MODEX);
47
48 // initialize mouse and show pointer
49 VGLMouseInit(VGL_MOUSESHOW);
50
51 // VGLDisplay is a ptr to a struct Bitmap defined and initialized by
52 // libvgl. The Bitmap points directly to screen memory etc.
53 xsize=VGLDisplay->Xsize;
54 ysize=VGLDisplay->Ysize;
55
56 // alloc a new bitmap (there should be a function for this)
57 tmp.Type = MEMBUF; tmp.Bitmap = (char*)malloc(256*256);
58 tmp.Xsize = 256; tmp.Ysize = 256;
56 // alloc a new bitmap
57 tmp = VGLBitmapCreate(MEMBUF, 256, 256, NULL);
58 VGLBitmapAllocateBits(tmp);
59 VGLClear(tmp, 0);
59
60 // fill the screen with colored lines
61 for (y=0; y<ysize; y++)
62 VGLLine(VGLDisplay, 0, y, xsize-1, y, y/2 % 256);
63
64 // draw some lines and circles just to show off
65 VGLLine(VGLDisplay, 0, 0, xsize-1, ysize-1, 63);
66 VGLLine(VGLDisplay, 0, ysize-1, xsize-1, 0, 63);

--- 14 unchanged lines hidden (view full) ---

81 sleep(2);
82 VGLBitmapString(VGLDisplay, 100,100,
83 "This is text", 63, 0, 0, VGL_DIR_DOWN);
84 sleep(2);
85
86 // now show some simple bitblit
87 for (i=0; i<256; i++)
88 for (j=0; j<256; j++)
60
61 // fill the screen with colored lines
62 for (y=0; y<ysize; y++)
63 VGLLine(VGLDisplay, 0, y, xsize-1, y, y/2 % 256);
64
65 // draw some lines and circles just to show off
66 VGLLine(VGLDisplay, 0, 0, xsize-1, ysize-1, 63);
67 VGLLine(VGLDisplay, 0, ysize-1, xsize-1, 0, 63);

--- 14 unchanged lines hidden (view full) ---

82 sleep(2);
83 VGLBitmapString(VGLDisplay, 100,100,
84 "This is text", 63, 0, 0, VGL_DIR_DOWN);
85 sleep(2);
86
87 // now show some simple bitblit
88 for (i=0; i<256; i++)
89 for (j=0; j<256; j++)
89 tmp.Bitmap[i+256*j] = i%16;
90 VGLBitmapCopy(&tmp, 0, 0, VGLDisplay, 0, 0, 128, 128);
90 tmp->Bitmap[i+256*j] = i%16;
91 VGLBitmapCopy(tmp, 0, 0, VGLDisplay, 0, 0, 128, 128);
91 for (i=0; i<256; i++)
92 for (j=0; j<256; j++)
92 for (i=0; i<256; i++)
93 for (j=0; j<256; j++)
93 tmp.Bitmap[i+256*j] = j%16;
94 VGLBitmapCopy(&tmp, 0, 0, VGLDisplay, 3, 128, 128, 128);
94 tmp->Bitmap[i+256*j] = j%16;
95 VGLBitmapCopy(tmp, 0, 0, VGLDisplay, 3, 128, 128, 128);
95 sleep(2);
96 sleep(2);
96 VGLBitmapCopy(VGLDisplay, 237, 311, &tmp, 64, 64, 128, 128);
97 VGLBitmapCopy(&tmp, 32, 32, VGLDisplay, 400, 128, 128, 128);
97 VGLBitmapCopy(VGLDisplay, 237, 311, tmp, 64, 64, 128, 128);
98 VGLBitmapCopy(tmp, 32, 32, VGLDisplay, 400, 128, 128, 128);
98 sleep(2);
99 VGLBitmapCopy(VGLDisplay, 300, 300, VGLDisplay, 500, 128, 128, 128);
100 sleep(5);
101 i=0;
102
103 // loop around drawing and copying
104 while (++i) {
105 VGLBitmapCopy(VGLDisplay, rand()%xsize, rand()%ysize,

--- 15 unchanged lines hidden ---
99 sleep(2);
100 VGLBitmapCopy(VGLDisplay, 300, 300, VGLDisplay, 500, 128, 128, 128);
101 sleep(5);
102 i=0;
103
104 // loop around drawing and copying
105 while (++i) {
106 VGLBitmapCopy(VGLDisplay, rand()%xsize, rand()%ysize,

--- 15 unchanged lines hidden ---