In a message dated 08/12/2003 15:16:37 GMT Standard Time, [EMAIL PROTECTED] writes:
On 8 Dec 2003 at 5:49, [EMAIL PROTECTED] wrote:
(...)
> Surely if the screen resolution is altered, any jobs which have windows which
> fall outside the new area should be suspended rather than removed and only
> reinstated once the screen size is large enough to accomodate their windows......

Umpf, and how do you test for that? What happens if the user unsuspends the job
whilst the screen is still too small?
The unsuspend routine could surely check the screen dimensions and refuse to unsuspend the job if the screen is too small...
 
Sorry - not too well today, so not thinking straight...  Not sure if this is possible


> I have made it configurable in QWord (similar to Launchpad) as to whether it
> can alter the screens resolution and colour depth, but this does not help if
> SuperBASIC is killed off, even after the program resets the screen resolution
> and colour depth.

Job 0, the "mother of all SBasics" isn't killed off. I don't think it can be killed at all.
The easiest way around your problem is to set up a hotkey
eg ert hot_wake ('b','sbasic'). This will call up a new sbasic, with the standard windows,
whenever there is none there yet..
Hmm - very odd - I wonder why if SBASIC is set to OUTLN #0,512,256,0,0 and I execute QWord (which resets the screen to 640x480), it is fine when I switch to SBASIC (or quit QWord). - Remember that QWord resets the original screen dimensions when Quit. However, if I set SBASIC to OUTLN #0,800,600,0,0 and then run QWord, on quitting QWord, the screen dimensions are reset to 800x600, but there is no cursor available to #0 - in fact, QPC just hangs !!



> Also, if anyone has followed my work on QWord, they will notice that I now
> need to perform two main tasks if a QWord is QUIT - namely, remove the QTYP
> device driver and reset the colour depth and screen resolution if necessary.
1-
As a general idea, I would think it to be a pretty bad idea to remove a device driver
simply because a job no longer needs the device. Surely it is better to load the device
driver separately by way of a boot program. Many of us will have it installed anyway.
What happens if the driver is there twice? Which one is removed?
Not too sure - I was hoping for some input from TT.  QTYP uses SMS.LIOD to link the new device driver and I am storing the address of the link to use for the pointer to remove the device with SMS.RIOD.  Not actually tested this yet.
 
The idea is to avoid a boot program altogether, so that people who have not installed QTYP on their system as a default, do not have to remember to run a BOOT program before executing QWord.  Surely that is the main reason for linking in extension toolkits when compiling a program !


(BTW - are you sure you're allowed to link the QPYP extensions into your program?).

2-
Surely it would be better if your QWord adapted itself to the existing screen resolution &
colour depth rather than the other way around?
As Phoebus has pointed out - this is nigh impossible with the way that the graphics are designed.  QWord can be configured to use the existing screen resolution and colour depth (though at present does not support mode 4 or mode 8).  However, it does mean that if the resolution is smaller than 640x480 on QPC, it will not run (reports an error), and if the resolution is greater, then the tiles appear smaller on screen (and harder to read).
 
Feedback from users suggests that they would rather QWord be configurable to set the screen accordingly so that it appears as large as possible.


>   Of
> course, it cannot do this if the job is killed from outside or loses focus  -
> we really need an event which can be monitored (aka Windows) to allow a
> program to take certain action when it is killed externally or loses focus.

Do you mean that you want to quit the job every time it loses focus? Does this make
any sense on a multitasking machine?
No - I would want the job to be able to realise that it had lost focus so that it could then reset the colour depth and resolution, or maybe do something in the background instead (such as stop writing to the screen).  The only way it can do this at the moment is to have a small window open on the screen that it attempts to PRINT to and use error trapping to take alternative action when focus is lost (such as not output data).  However, this is not always apt !!



Sorry if I sound rather critical, perhaps I haven't really understood what you meant.
I accept any criticism - postive or otherwise
 
--
Rich Mellor
RWAP Services
35 Chantry Croft, Kinsley, Pontefract, West Yorkshire, WF9 5JH
TEL: 01977 610509
Visit our website at:
URL:http://www.rwapsoftware.co.uk

In need of adventure?
URL: http://www.rwapadventures.com


Stuck with ordinary dial up internet connection ??

Read our review of internet accelerators and broadband at:
URL:http://www.rwapservices.co.uk

Reply via email to