• Join/Login
  • Business Software
  • Open Source Software
  • For Vendors
  • Blog
  • About
  • More
    • Articles
    • Create
    • SourceForge Podcast
    • Site Documentation
    • Subscribe to our Newsletter
    • Support Request
SourceForge logo
For Vendors Help Create Join Login
SourceForge logo
Business Software
Open Source Software
SourceForge Podcast
Resources
  • Articles
  • Case Studies
  • Blog
Menu
  • Help
  • Create
  • Join
  • Login
  • Home
  • Browse
  • FMSLogo
  • Bugs
FMSLogo

Items 12,13,14,15 in MACHINE's output don't look right

A Logo programming environment for Microsoft Windows

Brought to you by: david_costanzo
  • Summary
  • Files
  • Reviews
  • Support
  • Tickets ▾
    • Feature Requests
    • Bugs
    • Support Requests
  • Discussion
  • Code
Menu ▾ ▴
  • Create Ticket
  • View Stats

Group

  • v_6.06x
  • v_6.07.X
  • v_6.08.X
  • v_6.10.X
  • v_6.11.X
  • v_6.13.X
  • v_6.22.X
  • v_6.25.X
  • v_6.26.X
  • v_6.27.X
  • v_6.28.X
  • v_6.29.X

Searches

  • Changes
  • Closed Tickets
  • Open Tickets

Help

  • Formatting Help

#586 Items 12,13,14,15 in MACHINE's output don't look right

v_6.06x
open
David Costanzo
None
5
2022-10-29
2022-08-27
Manfred Zindel
No

I'd like to send you a zipped standalone FMSLogo demo.
It is very simplified and doesn't yet contain Little Helper
(which is meant to be the next step). I hope you can open and run it.
Our problem is that we do not understand the status of MACHINE at the end
from Item 8 on. We discussed it while reading the documentation,
but cannot explain the values we see - some of them exceed the desktop, but shouldn't.

1 Attachments
Standalone FMSLogo_8.3.2 Demo.zip

Discussion

  • Manfred Zindel

    Manfred Zindel - 2022-08-27

    ... Sorry, I should have written: We understand MACHINE until ITEM 11, but not the remaining 6 items.

     
    If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
  • Manfred Zindel

    Manfred Zindel - 2022-08-29

    Here is another clyrifying remark: What we cannot explain are the values of Item 12 to Item 15 in our example (all the others are allright) - and these four are of minor importance for our use cases.

     
    If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
  • David Costanzo

    David Costanzo - 2022-08-30

    I think you understand the MACHINE documentation just fine; 12/13 are the dimensions of the overall window and14/15 are the dimensions of the screen's client area. However, 12, 13, 14, 15 all look wrong to me, so I can see why you'd think you didn't understand it.

    The intention is clear from the source code. I don't know why the numbers in the attached screenshot don't match up what I measure in gimp, but I suspect that this is a bug that I introduced when porting FMSLogo to use wxWidgets.

    I confirmed that 12,13 match expectation in MSWLogo 6.5b, so the problem was introduced in FMSLogo. I think I added 14,15 when I added SPLITSCREEN functionality (docking the commander by default).

     
    Thumbnail
    myscreenshot.png
    If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
  • David Costanzo

    David Costanzo - 2022-08-30

    Ticket moved from /p/fmslogo/support-requests/35/

     
    If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
  • David Costanzo

    David Costanzo - 2022-08-30
    • summary: How to understand MACHINE as documen ted --> Items 12,13,14,15 in MACHINE's output don't look right
    • Group: GUI --> v_6.06x
     
    If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
  • David Costanzo

    David Costanzo - 2022-10-28

    I looked into this a bit more and concluded that FMSLogo correctly reports what Windows thinks is the size of the window (at least for ITEM 12,13). It doesn't look right to me when I count pixels, but there might be some invisible padding that recent versions of Windows adds to top-level windows to work better with touch screens.

    When I first tried to run your sample program, it created a window that was too big for my laptop, then ran FULLSCREEN and minimized the commander. I wonder if the problem that I saw isn't the one that you saw. If you use smaller values for the -W and -H command line parameters, does your problem go away? Specifically, I'm wondering if the -W and -H don't work as you expect when the dimensions you choose are close to the size of the windows desktop.

     
    If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
  • Manfred Zindel

    Manfred Zindel - 2022-10-29

    Yes, I think it's helpful to investigate this further. First of all: The most important problem seems to me that -F doesn't work properly. But let me explain it from the start:

    My discolight-program indeed runs FULLSCREEN with a maximized FMSLogo-screen as long as the "discolights" are flickering and then returns to SPLITSCREEN. This is correct. But why creates your laptop a graphics screen larger than the dispay? Perhaps there is a simple reason:

    When using -W 1536 -H 864 I did this as a result of the following calculation: My display settings were 1920 x 1080 as resolution (full HD) and a scale of 125. That means I have to reduce the pixel numbers by the factor 1.25. The result is just 1536 x 864 and this is exactly what MACHINE items 10 and 11 say. This means that the machine used exactly the screen resolution I had chosen in the launcher.

    Is it possible that your laptop used either a smaller screen resolution than full HD or a greater scale factor than 1.25? The problem is that for each personal computer the values of -W and -H have to be recalculated, and this is the reason why I added PRIVATE to the name of the launcher.

    Now it is not comfortable that in principle -W and -H have to be recalculated for each new computer. So all my hopes rest in -F which should do the work for the user. So I wrote an alternate launcher which uses -F instead of -W and -H. But this doesn't work properly.

    I wrote the following auxiliary procedure and integrated it into the program:

    TO present_machine
      CATCH "Error [
        MESSAGEBOX [INFO] 
          (SENTENCE
            [MACHINE ITEM # -> CURRENT VALUE \n\n]
            [01 Is Windows 1, otherwise 0 ->] ITEM 1 MACHINE [\n]
            [02 Machine word size 32 or 64 ->] ITEM 2 MACHINE [\n]  
            [03 Pixel width of drawing surface in screen window ->] ITEM 3 MACHINE [\n] 
            [04 Pixel Height of drawing surface in screen window ->] ITEM 4 MACHINE [\n] 
            [05 Always 0 (no palette possible) ->] ITEM 5 MACHINE [\n] 
            [06 Major version of Windows. ->] ITEM 6 MACHINE [\n] 
            [07 Minor version of Windows. ->] ITEM 7 MACHINE [\n] 
            [08 Pixel width of desktop not obscured by taskbar ->] ITEM 8 MACHINE [\n] 
            [09 Pixel height of desktop not obscured by taskbar ->] ITEM 9 MACHINE [\n] 
            [10 Pixel width of whole desktop ->] ITEM 10 MACHINE [\n] 
            [11 Pixel height of whole desktop ->] ITEM 11 MACHINE [\n] 
            [12 Pixel width of screen with frame, scollbar, etc. ->] ITEM 12 MACHINE [\n]  
            [13 Pixel height of screen with frame, bars, commander ->] ITEM 13 MACHINE [\n] 
            [14 Pixel width of visible inner drawing surface ->] ITEM 14 MACHINE [\n]
            [15 Pixel height of visible inner drawing surface ->] ITEM 15 MACHINE [\n]
            [16 Pixels scrolled out of view to the left ->] ITEM 16 MACHINE [\n]  
            [17 Pixels scrolled out of view to the top ->] ITEM 17 MACHINE [\n]  
          )
      ]
      IGNORE ERROR
    END
    

    The subroutine is activated at the end of the run and so you can look up all the current values in MACHINE.

    I took two display snips and send them as PNGs attached to this post.

    The results lead to the following questions:

    Why do the values 12 and 13 exceed the corresponding values of 10 and 11 which means that they exceed width and height of the display? (minor importance)

    Why choses F a screen height which is much smaller than the display height???

    The latter result seems to be an important bug which makes it impossible to build a full-dispay-launcher independantly instead of one for each individual computer with its own dispay settings.

    Matching the display size exactly is only one of the most important use cases. Others benefit from FMSLogo's rare capacity of allowing graphic screens larger than the display or viewport. One example is our very successful program for creating individualized documents in high quality printing. Another example is our copter-project which is still in the pipeline but regretably will still have to wait for a while.

    So it is of great importance for us to have a -F that does its job perfectly.

    Please look at the attechments.

     
    Thumbnail
    Display_Snip_F.png
    Thumbnail
    Display_Snip_PRIVATE.png
    If you would like to refer to this comment somewhere else in this project, copy and paste the following link:

Log in to post a comment.

SourceForge
  • Create a Project
  • Open Source Software
  • Business Software
  • Top Downloaded Projects
Company
  • About
  • Team
  • SourceForge Headquarters
    1320 Columbia Street Suite 310
    San Diego, CA 92101
    +1 (858) 422-6466
Resources
  • Support
  • Site Documentation
  • Site Status
  • SourceForge Reviews
SourceForge logo
© 2026 Slashdot Media. All Rights Reserved.
Terms Privacy Opt Out Advertise