• src/conio/win32gdi.c

    From Deuc┬┐@VERT to Git commit to main/sbbs/master on Thu Apr 27 22:12:03 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/a3bdbc68a6988858320a4d3f
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Implement kbhit() and getch() so we can exit.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Fri Apr 28 21:10:46 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/6a907f6f0270bb15104529d0
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    More development...

    Add setwinsize and setwinpos
    Move blit from rect into gdi_thread
    Add beep support
    Add (non-functional) settitle support

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Fri Apr 28 21:49:47 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/dd2c370176d83ac9cf9ce30b
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Fix ALT key handling

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Sat Apr 29 12:48:01 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/d757c3b2de71bb4f9dc2caee
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Don't re-create/delete the bitmap for each frame.

    Instead, only delete it if the size has changed since the last
    frame. This should make things snappier.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Sat Apr 29 12:53:18 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/ec6348e56ac7d3cc1b85f98e
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Clean up DIB invocations

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Sat Apr 29 16:20:14 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/fec44dbb1ad0a8797912f1dc
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    First pass at mouse and copy/paste support

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Sat Apr 29 17:13:30 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/b15555ccdc56f51a696eb5fa
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Implement mousepointer()

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Sat Apr 29 23:04:21 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/3ac1ec71435ed4ae0579acdf
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Final functionality features...

    Load icon from resource file
    implement seticon()

    While the features are all there, some are buggy. Scaling is wrong
    for example, and keyboard input may do weird things if shift or
    control are held when you take focus away from the window, then
    release them when the focus is elsewhere, then re-focus the window.
    This should only impact extended keys (ie: ones that don't send a
    character to the remote).

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Sun Apr 30 10:19:29 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/de4b8867184cfa6ad41b9797
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Clear to black before drawing frame.

    Will be needed once scaling works properly.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Sun Apr 30 17:47:56 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/eb0219ae25caf80cb89a1884
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Update win_to_pos() for new scaling/position method.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Sun Apr 30 23:55:12 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/5cc83981d7cba1ea406432cd
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Only erase black bars and use BitBlt()

    I expect BitBlt(..., BLACKNESS) to be the better optimized of the
    two, and there's no reason to actually reat the source bitmap.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Wed May 3 09:19:16 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/a0311d93335b5d19394aa30e
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Make gdi_initcilib() return status on failure.

    This should allow fall-through to SDL and win32 console if possible.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Wed May 3 09:29:51 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/30cc8cb4b3efe31c071c643d
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Also fail if GetModuleHandleW(NULL) fails.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Thu May 4 20:16:14 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/42a86c0a7b417e9a553f424c
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Don't require that control keys be converted from unicode to codepage

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Thu May 4 20:20:41 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/e578754a0d59dd872fb7069f
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Actually, just pass control keys...

    If the codepage tables have holes where US-ASCII chars go, don't
    send the character under the assumption that it won't be on the
    keyboard (and certainly not in the "same" place).

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Thu May 4 21:01:30 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/15a214e2fc35c5e55ec7aa4e
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Use the reaper and process WM_CLOSE

    One or both of these should fix weird GDI zombie issues.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Thu May 4 21:27:58 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/092885fffcf7ccc105a5e9e5
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Ok, don't use the reaper, just process WM_CLOSE.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Wed May 31 09:59:03 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/365542f1947b2e4204aa6a28
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Call SetStretchBltMode(HDC, HALFTONE) before StretchBlt

    In theory, this will allow higher quality scaling in GDI mode if
    the graphics driver supports it...

    It doesn't look like the drive used for VirtualBox does though, so
    I can't tell if it does anything or not.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Mon Jun 5 15:07:42 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/3e0de1e30032978d39cc85eb
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Add support for fullscreen in GDI mode.

    GDI and X11 still can't be *started* in fullscreen mode though.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Mon Jun 5 15:15:14 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/b071211f969e947735f02ce4
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Store window position when going fullscreen.

    Also, reset struts when not in fullscreen mode.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Tue Jun 6 09:22:54 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/ba28fc1b91440d8f671d99de
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Remove some obsolete comments

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Sun Jul 30 05:44:02 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/0aa622d77326962e525ae929
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Fix the typo, fix the pipes.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Wed Dec 27 20:24:04 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/74f4348c4c15c980cdd6597c
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Fix some obvious MSVC warnings (unused variables, narrowing conversions)


    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Sat Feb 10 21:56:29 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/1dd71e493ebbf033efec9051
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    This value is apparently sometimes an enum, sometimes a macro.

    Just use the raw value and a comment.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Sat Feb 10 22:28:17 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/99f4ec0bb66984df201f2a65
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Fix MSVC warning about defined standard C features.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Fri Feb 16 21:36:45 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/ce7c2cca9a04f2ca6dbdd29d
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Make ALT-F4 map to CIO_KEY_QUIT in GDI mode.

    Fixes issue 124 on Sourceforge.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Sat Feb 17 10:18:29 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/9d06d169299bc144d44054ce
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Ensure the rectangle we're scaling to the screen matches the screen size.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Sun Feb 18 05:40:14 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/2848bf8f111ab9384e8042a6
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Support the third (now preferred) method of setting DPI awareness.

    We will now try SetProcessDpiAwarenessContext() first, then SetProcessDpiAwareness() second, and finally SetProcessDPIAware() [sic].

    Also, "handle" the WM_DPICHANGED event.

    This may solve problems initializing SyncTERM on systems with two
    displays that have different DPI settings.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Sun Feb 18 12:15:10 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/7ced2067c4bd47bd1bbfcb01
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    AdjustWindowRect() can't be used for "High DPI"

    So do more terrible hackery.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Sun Feb 18 14:43:45 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/c4f50632c58e88f2eeaab04a
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Fix pervasive fencepost error calculating width and height.

    Basically everywhere was off by one.

    Also, fix the get dpi size thingie to correct for window decorations.
    We never actually use the result of this, but Windows might for
    outline dragging or something... you can never know.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Mon Feb 19 07:50:59 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/891d50ef633b1ae76db06fee
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    More fencepost errors in the other direction...

    This is likely what make the old broken values appear to work.

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net
  • From Deuc┬┐@VERT to Git commit to main/sbbs/master on Mon Feb 19 08:09:15 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/67a9bb19ec8c0585587dfa53
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Win32 API calls are __stdcall

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