On 17.07.2021 20:02, James Harris wrote:
>>> Any suggestions?
>> easy to use or easy to make one ? :)
> Both, naturally!
hard to get both :)
>> you know I created my own "display-standard" and I made it for easy use,
>> so there is only one "display it"-instance with a single entry point.
>> [KESYS FN50 aka "what's on screen"]
> I'd forgotten that you'd done that. I fear that's what I'll have to do.
> Would you recommend your system and is the API published?
I wont recommend to do it exactly my way, because it's pretty uncommon
and uses code parts as variables for self-modify on resolution changes.
the API were only "published" to a handful members but it is logical
ordered in function groups, I can show a few examples here.
FN50 has four entry points RM/PM16, PM32, INT7F(RM), INT7F(PM16).
input: AL=data(1) AH=0x50 eaxlhb=subfn(2) eaxhhb=(data3)
eDX(text pos4 row/col) eCX(hor5) eBX=(ver6)
1) char, color,line pattern, border style, and more...
2) 256 functions where some have many subfunctions:
Dot-modes(forg and back): PUT, AND, ADD, OR, XOR, transparent
Text format: LSET,RSET,Centered,TABset
NUMeric format: LSET,Tabset,Menu Tabset,DP-aligned,field aligned
colorbox, numeric and text input fields, editable named bit arrays
dual Font set with any dot-mode (Bold, sub, sup, inverse)
text pages, graphic pages, vertical scroll,
dual mouse, animated sprites, bitmaps (non M$ format)
3) additional data like circle aspect ratio or graphic parameter
4) text numeric and input field position use row/column in graphic too
5) 6) graphic elements size(s) position is in global graphic vars then.
>> The code is therefore somehow complicated because it works on both and
>> recognises either graphic or text mode and support all formatting you
>> can think of and allow several fonts simultaneous on screen.
> Having the same interface whether the display is TUI or GUI is exactly
> what I want, at least in the long term, though I'd prefer if there was
> an easy way to start off.
a single bit which tells G or T (re)set when the mode change is enough.
it isn't only one interface but many common things can be shared.