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 Subject: Mouse Cursors, GUI's. Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Precedence: bulk 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 --