• src/conio/sdl_con.c src/syncterm/CHANGES

    From Deuc¨@VERT to Git commit to main/sbbs/master on Sun Oct 13 10:01:29 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/eab705ef05a02f7bd71b5379
    Modified Files:
    src/conio/sdl_con.c src/syncterm/CHANGES
    Log Message:
    Quit video subsystem from video thread.

    Some SDL targets (like Haiku) have issues doing video calls from
    threads other than the video thread.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¨@VERT to Git commit to main/sbbs/master on Sun Oct 20 18:04:31 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/1ac01645b83b97fd0662b0b8
    Modified Files:
    src/conio/sdl_con.c src/syncterm/CHANGES
    Log Message:
    Fix macOS mouse position reporting

    Under SDL2, with HighDPI enabled, we end up with two coordinate
    systems for our window... there's the pixel coordinates which we
    draw in, and are available via SDL_GetWindowSizeInPixels(), and
    there's the "screen" coordinates, which is an underlying source
    size that is scaled from, and is available via SDL_GetWindowSize().

    Mouse events are in the screen coordinates, drawing is in pixel
    coordinates. This commit converts mouse event positions to pixel
    coordinates before converting further to text coordinates. :(

    A specual thanks to u/ten-oh-four for working to track this down
    with me, they ran multiple experimental builds and collected logs
    which allowed to to be tracked down.

    Fixes issue 155

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc¨@VERT to Git commit to main/sbbs/master on Thu Nov 7 10:26:51 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/8b7cbf122fa3e6044490e01e
    Modified Files:
    src/conio/sdl_con.c src/syncterm/CHANGES
    Log Message:
    Fix window scaling on macOS with retina displays

    SDL_SetWindowSize() takes dimensions in imaginary units it makes up
    so it can call something "Retina¿". SyncTERM however lovingly
    crafts everything pixel by pixel for an atisanal ode to BBSing.

    This change converts pixel sizes to Retina¿ sizes before resizing
    the window. Should fix ticket 164.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net