delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/09/28/05:44:39

Message-Id: <3.0.16.19970928113810.1c0f11e8@hem1.passagen.se>
Date: Sun, 28 Sep 1997 11:40:05 -0400
To: djgpp AT delorie DOT com
From: Peter Palotas <blizzar AT hem1 DOT passagen DOT se>
Subject: Mouse Cursors, GUI's.
Mime-Version: 1.0

I've been wondering... Is there any good GUI's out there? I mean good
looking, and good working, portable GUI's`? (For DJGPP ofcourse, well,
portable means that it should compile on several platforms, but since I'm
olny interested in it compiling using GCC, and since *I* am using GCC on
DOS, i.e. DJGPP that's what I'm interested in.)

Well, anyway, I*ve seen a lot of bad GUI's anyway, but not very many good
ones. I've also written some bad ones myself, but I think that maybe I
should write a good one. Then I have some problems though... 

First problem is the mouse-pointer. How do you greate an absolutely
flicker-free mouse-pointer? I mean, just look at windows. It doesn't
flicker. How did they do their mouse-pointer really? I mean, in DOS most
GUI's and mouse-apps, (with source-code released anyways) hide the
mouse-cursor whenever a draw is about to occur. This is all nice, and works
in most cases, but it doesn't look good. And how a GUI looks, *is* really
important I think.

Next problem, which isn't really a *big* problem, would be the event
handler. How do you write a good event-handler? Using interrupts such as
the keyboard-interrupt and mouseinterrupt to trap events doesn't work very
nice since you can't do I/O from a hooked interrupt. So that's out of the
question. What you could have is a procedure looping, checking for events,
this works, but then you can't do anything else in your program meanwhile,
hence it leads to quite a lot of idle time. You could use a
multi-threading-library I suppose, but I don't know how stable these are,
and so on. Wouldn't it be good if DJGPP implemented a version of fork()
(Which I've understood is a multithreading-function under unix)?

Then all of the above almost only applies to DOS, not unix... Well, I don't
know much about unix, so I guess someone would have to help me convert some
stuff anyway. BUt what you do need is a keyboard-handler, and a
mouse-handler that is portable... Are there two such things out there?


-- Peter Palotas alias Blizzar -- blizzar AT hem1 DOT passagen DOT se --

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019