Page 1 of 1

Qmenu - Outln_rext

Posted: Tue Apr 30, 2019 9:49 am
by tcat
Hi,

Just toying with Qmenu V4 and V7 on genuine black `QL'. There is `Outln_rext' extension. In standard boot file supplied in the package, windows are redifined,

Code: Select all

140 OUTLN#0,512,256,0,0
150 WINDOW#0,512,52,0,204:BORDER#0,1,4:PAPER#0,0:INK#0,7:CLS#0
160 WINDOW 256,204,256,0 :BORDER 1,4  :PAPER 0  :INK 7  :CLS
170 WINDOW#2,256,204,0,0 :BORDER#2,1,4:PAPER#2,0:INK#2,7:CLS#2
I can see some parameters 512,256, on which outln#0 gives bad parameter error.
Cannot figure out, what is the intended use of OUTLN command?

Many thanks
Tomas

Re: Qmenu - Outln_rext

Posted: Tue Apr 30, 2019 10:24 am
by tofro
Tomas,

The S-Basic reference Manual has a pretty extensive and detailed explanation of the OUTLN command - I don't think I can do any better.

What needs to be mentioned is the difference between a primary (#0 in most cases) and a secondary window, because OUTLN sets different limits on them

Code: Select all

OUTLN #0, SCR_XLIM, SCR_YLIM, 0, 0
should always work IMHO, while doing the same thing with a secondary can come back with an error when you ask for a secondary to be bigger than the primary's outline. Maybe your version of OUTLN (there seem to be quite some) asks for a default shadow width that you must subtract from the outline.

Tobias

BTW:

Code: Select all

OUTLN #0,SCR_XLIM,SCR_YLIM,0,0
OUTLN #0,SCR_XLIM-5,SCR_YLIM-5,0,0,5 
does very funny things to my QPC screen when I test that - something must be wrong here

Re: Qmenu - Outln_rext

Posted: Tue Apr 30, 2019 11:52 am
by tcat
Hi Tobias,

Yes, needed to do some width, height recalc, to take border shadow into account.
My windows get redefined on booting from SER2 to adjust for non QL tely.

Code: Select all

2 WINDOW #0,467,51,35,205
3 BORDER #0 : PAPER #0,0 : INK #0,4 : CLS #0
4 WINDOW #2,225,202,32,0
5 BORDER #2,1,255 : PAPER #2,7 : INK #2,2 : CLS #2
6 WINDOW 242,202,257,0
7 BORDER 1,255 : PAPER 2 : INK 7 : CLS
8 PROG_USE mdv1_
9 DATA_USE mdv2_
Then I boot further with this for QMenu, and hopefully does resolve that bad parameter.

Code: Select all

10 BAUD 9600
20 LRESPR ser2: REMark menu_rext
30 LRESPR ser2: REMark outln_rext
40 OUTLN#0,469,256,32,0:WINDOW #0,467,51,32,205
50 BORDER#0,1,4:PAPER#0,0:INK#0,7:CLS#0
60 BORDER 1,4  :PAPER 0  :INK 7  :CLS
70 BORDER#2,1,4:PAPER#2,0:INK#2,7:CLS#2
Reading Dilwyn's article on QMenu to get me started, not having orginal manual, anyhere to be got?

Also I wonder what is the difference between V4 and V7, they differ by some 4K in size, but the former gets started with an earlier PTR_GEN I usually run on my genuine QL.

Many thanks.
Tomas

Re: Qmenu - Outln_rext

Posted: Tue Apr 30, 2019 1:39 pm
by NormanDunbar
You can get the latest QMENU manual from Marcel's fine web site at https://www.kilgus.net/smsqe/qmenu/

Cheers,
Norm.

Re: Qmenu - Outln_rext

Posted: Sat May 04, 2019 9:52 am
by tcat
Hi,

Seeing picture on p.96 of J.Jones's book, made me tidy up the menu definition.

Code: Select all

2 WINDOW #0,464,50,34,206
3 BORDER #0 : PAPER #0,0 : INK #0,4
4 WINDOW #2,232,202,32,0
5 BORDER #2,1,255 : PAPER #2,7 : INK #2,2
6 WINDOW 232,202,264,0
7 BORDER 1,255 : PAPER 2 : INK 7
8 PROG_USE mdv1_ : DATA_USE mdv2_
9 MODE 4
And Qmenu boot

Code: Select all

10 BAUD 9600
20 LRESPR ser2: REMark menu_rext
30 LRESPR ser2: REMark outln_rext
40 OUTLN#0,464,256,32,0:WINDOW #0,464,50,32,206
50 BORDER#0,1,4:PAPER#0,0:INK#0,7:CLS#0
60 BORDER 1,4  :PAPER 0  :INK 7  :CLS
70 BORDER#2,1,4:PAPER#2,0:INK#2,7:CLS#2
Which I belive is almost right, if not already.