From 6ab7f59ee49bc7c4662ab928c2da960a8b4d1f49 Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Mon, 8 Jul 1991 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 1991-07-08 --- gnot/screen.c | 12 ++++-------- gnot/screen.h | 31 +++++++++++++++++++++++++++++++ port/devbit.c | 2 +- power/main.c | 2 +- ss/screen.c | 2 +- ss/screen.h | 29 +++++++++++++++++++++++++++++ 6 files changed, 67 insertions(+), 11 deletions(-) create mode 100644 gnot/screen.h create mode 100644 ss/screen.h diff --git a/gnot/screen.c b/gnot/screen.c index eca37739670013b7e53b488148bc576f01c02463..e49a532d79832651892968429011deae1daa7ac3 100644 --- a/gnot/screen.c +++ b/gnot/screen.c @@ -9,7 +9,10 @@ #include #include -#include "mouse.h" +#include "screen.h" + +/* gnot screen.h defines gbitblt to use balu; doesn't work here */ +#undef gbitblt #define MINX 8 @@ -78,13 +81,6 @@ screenputc(int c) } } -/* Use the balu version */ -void -gbitblt(GBitmap *d, Point p, GBitmap *s, Rectangle r, Fcode f) -{ - balubitblt(d, p, s, r, f); -} - void screenputs(char *s, int n) { diff --git a/gnot/screen.h b/gnot/screen.h new file mode 100644 index 0000000000000000000000000000000000000000..055a2a1bd2dc0b94a52a58135b234a28e6aa7ca6 --- /dev/null +++ b/gnot/screen.h @@ -0,0 +1,31 @@ +typedef struct Mouseinfo Mouseinfo; +typedef struct Cursorinfo Cursorinfo; + +struct Mouseinfo{ + /* + * First three fields are known in some l.s's + */ + int dx; /* interrupt-time delta */ + int dy; + int track; /* update cursor on screen */ + Mouse; + int changed; /* mouse structure changed since last read */ + Rendez r; + int newbuttons; /* interrupt time access only */ + int clock; /* check mouse.track on RTE */ +}; + +struct Cursorinfo{ + Cursor; + Lock; + int visible; /* on screen */ + Rectangle r; /* location */ +}; + + +extern Mouseinfo mouse; +extern Cursorinfo cursor; + +extern void mouseupdate(int); + +#define gbitblt(d,p,s,r,f) balubitblt(d,p,s,r,f) diff --git a/port/devbit.c b/port/devbit.c index 4defc08a7248a1ddc8a64d04fdc1b5b91db5eaa0..ff337c585d4d40134af9f15c94820e9d9046e721 100644 --- a/port/devbit.c +++ b/port/devbit.c @@ -9,7 +9,7 @@ #include #include -#include "mouse.h" +#include "screen.h" extern GFont *defont; diff --git a/power/main.c b/power/main.c index 8d7b44fe76f3d46ce0bcce6fb8ac87bad2c80745..006d0c02d7564128ba35a6ce5935efb68c22bf41 100644 --- a/power/main.c +++ b/power/main.c @@ -377,7 +377,7 @@ exit(void) splhi(); for(i=0; i<2000000; i++) ; -/* duartreset(); /**/ + duartenable0(); firmware(); } diff --git a/ss/screen.c b/ss/screen.c index 2672b81f6c65f647b027682f179073bf4cc2ba94..7f1ef80eefe5a11a6507f73988f3c6ba66bfbadc 100644 --- a/ss/screen.c +++ b/ss/screen.c @@ -9,7 +9,7 @@ #include #include -#include "mouse.h" +#include "screen.h" #define MINX 8 diff --git a/ss/screen.h b/ss/screen.h new file mode 100644 index 0000000000000000000000000000000000000000..de51fd5b8b1ad916ffd7684fb90b38b52bf9fea4 --- /dev/null +++ b/ss/screen.h @@ -0,0 +1,29 @@ +typedef struct Mouseinfo Mouseinfo; +typedef struct Cursorinfo Cursorinfo; + +struct Mouseinfo{ + /* + * First three fields are known in some l.s's + */ + int dx; /* interrupt-time delta */ + int dy; + int track; /* update cursor on screen */ + Mouse; + int changed; /* mouse structure changed since last read */ + Rendez r; + int newbuttons; /* interrupt time access only */ + int clock; /* check mouse.track on RTE */ +}; + +struct Cursorinfo{ + Cursor; + Lock; + int visible; /* on screen */ + Rectangle r; /* location */ +}; + + +extern Mouseinfo mouse; +extern Cursorinfo cursor; + +extern void mouseupdate(int);