Tuesday, January 15, 2019

IO manager snippet interface

IO manager hs n clue which thread s making calls and setting state. What state to callers set? The rectangle.

Watch rect;

I think is the command. Rect is a valid rect that xchars already knows, IO manager does not set up rectangle, Xchars does not manage strings.  So caller sets up a rect.  Console loop opens a window, and uses the default window rect, given it the same name defined in a macro somewhere.

So IO manager gets the Watch call, and watches for mouse attempts optimum mouse tracking and capture,  inside the rect.  If the user hits a key he default action is to print the char in the next location pointed to by location pointer.  IO manager calls:
PutString rect char; # null pointed char

OK, I am running out of complex things to do here. User keeps a string 400 bytes long, the u[p arrows mover the pointer thing around on that string. Oh yes, the cursor:

PutString rct white_thing;

OK, how many rectangles? It matters, I would rather not have IO manager depend on a symbol tabe external at the moment, and a linear list of rects should work, something so simple, a one tine push and pop stack stack of rect key values.  The separation, the semantics; it cannot get simpler.  I do not see making io manage thread proof, it is not manager for the personal user and user is not triple handed here. I would give it one thread per user for now, its does a great keyboard and mouse loop. At this point a dozen pros in the tracking business are jumping over he idea of writing enhanced human interface, and gaming io.  Default sticks to default, what happens if no snippet is around, and nothing to do, no configuration. One thread, hat is my app.

Is it always this simple?

Yes, always everywhere.  IO manager, USB manager,  SQL_Lite, QT_Fnts, QT_Gamer, QT_charts; all, half page cheat sheet and things appear in the proper rect from the proper source.  When data manaer ses a hot snippet, she cursnpass, reads al 200 lines, 400 lines. Yes, throw it out on the net, controll it with symbol table, universal in,..... Yes,everywhere, always, this simple.

No comments: