On Support Request #26, Manfred Zindel requested a way to read the screen window's scrollbar positions from LOGO. His specific use case is to determine where on the screen a turtle is to be able to use SCROLLX and SCROLLY to keep the turtle in view.
DLLCALL currently is not expressive enough to be used, as the win32 API for getting the scrollbar positions uses an in/out buffer and DLLCALL only supports in or out. Even if DLLCALL could bs used, it would return the platform's position, which may not be the same as turtle steps (for example, a future FMSLogo might make each scroll position 10 turtle steps).
Adding a new primitive has the risk breaking compatibility with any program which happens to define a procedure with the same name. Since I think this is unlikely to be used by anyone other than Manfred, adding it to end of the list output by MACHINE makes sense. MACHINE already has members for the width/height of the screen window, so adding scroll position is a natural fit.
Great idea to add this to MACHINE! It would help us much even without a callback event. And I can think of a lot of more ideas to teach FMSLogo and use this feature.
On the other hand, somehow I feel misunderstood as the above remark sounds like this feature had only to serve my personal hobbyhorse. But the partner of my company pbreport concerning teaching and making informatics curricula is zdi (Zukunft durch Innovation - future by innovation), a long term government agenda of NRW, the largest German country. Please see the enclosed sketch showing the shape of NRW with all the zdi-centres in it (each of them the head of a very active regional network).
Of course now we suffer from corona hitting Germany harder than ever while Omikron is arriving. There have been delays of many of our activities since months. Otherwise we'd have had achieved more in introducing FMSLogo via zdi..
Our project COPTER is meant for all of these centres and their students. For all of these regions there are regional assets for COPTER, that means, many, many tiles for different heights, and they are updated year by year, by a fleet of high tech planes and given to all experimenters free of charge with an appropriate free license..
l
So my collegues and I are part of a really big effort. We think of FMSLogo as a very mighty tool and are grateful for your marvellous effort to keep it vital.
It's not just because I'm feeeling bored.
Diff:
This was implemented in [r5848] and documented by [r5851]. The positions of the horizontal and vertical scrollbars are now available as the last two members of what MACHINE outputs. This will be available in FMSLogo 8.3.0.
I have attached a private build which has this feature implemented.
Related
Commit: [r5848]
Commit: [r5851]