On 6 Sep 2006, at 17:10, Marcel Kilgus wrote:
>
>> I have discovered why some of my programs are so slow with v3.12 on
>> the Q60. It is because changing the window size is now much much
>> slower than with v3.10. The code causing the trouble finds the
>> biggest dimensions of window. The width is easy to find but, on older
>> systems than SMSQE the height is not and I use trial and error to
>> determine the maximum height.
>
> Erm, why don't you just use iop.flim? It does, after all, tell you the
> maximum dimension a window is allowed to have, which sounds exactly
> like what you're trying to do.

1. I now remember that I tried iop.flim in the past and found it no  
use. It returns the maximum window size and its position for the  
channel ID presented to it. If the window is a primary the maximum is  
the whole screen, at 0,0. If you open two windows in a program and  
present the second ID to iop.flim it returns the size and position of  
the first. No good for my purpose.

2. Just calling trap#3 involves a lot of instructions. My program to  
find the maximum screen using pt_xscr and assuming a0 points to  
system variables is :

        movea.l sys_clnk(a0).a0
        move.l  pt_xscr(a0),d0

or for a 68020+

        move.l  ([sys_clnk,a0],pt_xscr),d0

This is nice and short and does what I want.

3. SMSQE now has a new vector block. Its address, says QPC2's manual,  
is at pt_vecs(a3) where a3 is the address of the CON linkage. This  
declaration implies that the value of pt_vecs will not change in  
future versions of SMSQE. I hope that the same can be assumed for  
pt_xscr.

George
_______________________________________________
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm

Reply via email to