On the Apple II BASIC in the 1980s, you would use “HGR” to go to the screen, “HCOLOR” set the color, and “HPLOT” would display the dots. You can also manipulate screen byte data, and you do not have to transfer program control to any event handler. This ridiculous rudimentary functionality seems to be missing today in every language and in every library.
So, I wrote a small library to do this in C using the X Window API: HGR (x, y) puts the XWindow, HCOLOR (i) sets the color, and HPLOT (i, j) displays the dot, plus you extract the bitmap of the window and you can change it and display the changed thing. It was not easy, and I do not want to repeat it again.
I am using Perl for some things now, and I need a tool for Perl, something where you can call a routine that preferably returns without creating a new thread, displaying a window where you can add graphic material to windows and request events, when your program is like this. This is the functionality of the 80s BASIC, so it should not be difficult. But the tools that I saw did not do this:
- GD: As far as I could see, it makes image files, not image windows. It seems you need to transfer it to another program.
- Gtk2: I have to unlock a separate thread to catch events, otherwise it will not display a window. I don’t want to wag anything, and I basically don’t care about any events, unless I specifically ask for later to see things gathered in the queue.
- Qt : here you must also give control to the event handler, without passing, without displaying. In the C ++ version, I could get Qt to render and draw without a handover.
- PerlTk: again with a stupid handover.
- OpenGL: Here I do not know how to catch X Window events, such as keystrokes, when I want to see what happened.
- , XWindow , GUI, , , , ? API- X Window Perl, , C, C Perl . . , , . HGR Perl ?
, , , . , , C. , .