• src/conio/win32gdi.c

    From Deuc¿@VERT to Git commit to main/sbbs/master on Wednesday, May 31, 2023 09:59:03
    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 Monday, June 05, 2023 15:07:42
    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 Monday, June 05, 2023 15:15:14
    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 Tuesday, June 06, 2023 09:22:54
    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 Sunday, July 30, 2023 05:44:02
    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 Wednesday, December 27, 2023 20:24:04
    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 Saturday, February 10, 2024 21:56:29
    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 Saturday, February 10, 2024 22:28:17
    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 Friday, February 16, 2024 21:36:45
    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 Saturday, February 17, 2024 10:18:29
    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 Sunday, February 18, 2024 05:40:14
    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 Sunday, February 18, 2024 12:15:10
    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 Sunday, February 18, 2024 14:43:45
    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 Monday, February 19, 2024 07:50:59
    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 Monday, February 19, 2024 08:09:15
    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
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Saturday, September 28, 2024 15:31:00
    https://gitlab.synchro.net/main/sbbs/-/commit/a33d1e117751d6da20e0ce8c
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Fix reversed mouse wheel on Win32GDI...

    From MSDN:
    A positive value indicates that the wheel was rotated forward
    away from the user; a negative value indicates that the wheel
    was rotated backward, toward the user.

    Fixes bug 143.

    However, this re-opens the confusion around request 75...
    nigel and DigitalMan should take a look at this more closely
    in rc2 (or an updated nightly).

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Saturday, October 12, 2024 11:13:59
    https://gitlab.synchro.net/main/sbbs/-/commit/4c5d2dd87cee11fe76aa9ed0
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Improve input in GDI mode

    This may be a fix for bug 150 (which was reported against SDL mode).
    Basically, Windows will report AltGr as Alt + Ctrl, so we need to
    be able to parse that.

    Since we're here, support WM_UNICHAR to avoid the need to have
    Windows convert to "ANSI" for us, and allow direct unicode input
    (even in "ANSI" mode).

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Saturday, October 12, 2024 12:47:47
    https://gitlab.synchro.net/main/sbbs/-/commit/9afd899ba2f71e58a834e9dc
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Whoops.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Saturday, January 03, 2026 11:11:49
    https://gitlab.synchro.net/main/sbbs/-/commit/30e18fb3dc21780a29ade29d
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Only adjust the bottom/left corner of the sizing rectangle

    Adjusting anything else can lead to weirdness due to the unreliable
    nature of window decoration sizes.

    Should bug fix ticket 215

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Thursday, March 19, 2026 14:38:35
    https://gitlab.synchro.net/main/sbbs/-/commit/e3a6c390aae2eeb7a6ce5c2f
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Sync modifier key state on focus regain in Win32 GDI (ticket 226)

    After Ctrl+clicking a URL, the window loses focus before the Ctrl
    key-up event arrives, leaving the internal modifier state stuck.
    Poll GetKeyState() on WM_ACTIVATEAPP to reset mods to match reality.

    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to Git commit to main/sbbs/master on Saturday, March 21, 2026 20:46:07
    https://gitlab.synchro.net/main/sbbs/-/commit/95dbfeb369f2c4de0f7561e3
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Use GetAsyncKeyState for modifier sync on focus regain (ticket 226)

    GetKeyState returns message-queue-synchronized state, which is stale
    when the key-up event was delivered to another window. Switch to GetAsyncKeyState which reads the actual hardware key state, so Ctrl
    and Shift are correctly cleared when the user released them while
    the browser (or other app) had focus.

    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¨@VERT to Git commit to main/sbbs/master on Saturday, March 21, 2026 23:25:27
    https://gitlab.synchro.net/main/sbbs/-/commit/cb106dbe65584cdf688429e1
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    Fix stuck modifier keys by handling WM_KILLFOCUS/WM_SETFOCUS in gdi_WndProc (ticket 226)

    WM_KILLFOCUS and WM_SETFOCUS are sent (synchronous), not posted, so
    they go directly to gdi_WndProc bypassing the GetMessage/magic_message
    path entirely. The previous fix in magic_message never ran.

    Move mods to file scope so gdi_WndProc can access it. Clear mods on WM_KILLFOCUS, and re-sync from GetAsyncKeyState on WM_SETFOCUS to
    catch modifiers held across the focus boundary. Remove the
    WM_ACTIVATEAPP handler and message-loop sync machinery which were
    unnecessary Ä debug logging confirmed the thread keyboard state (GetKeyboardState) correctly showed Ctrl as released; only the mods
    variable was stale, causing magic_message to consume key events as
    Ctrl+key combos via the keyval table.

    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

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