• src/conio/win32gdi.c

    From Deuc¿@VERT to Git commit to main/sbbs/master on Thursday, April 27, 2023 22:12:03
    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 Friday, April 28, 2023 21:10:46
    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 Friday, April 28, 2023 21:49:47
    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 Saturday, April 29, 2023 12:48:01
    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 Saturday, April 29, 2023 12:53:18
    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 Saturday, April 29, 2023 16:20:14
    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 Saturday, April 29, 2023 17:13:30
    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 Saturday, April 29, 2023 23:04:21
    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 Sunday, April 30, 2023 10:19:29
    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 Sunday, April 30, 2023 17:47:56
    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 Sunday, April 30, 2023 23:55:12
    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 Wednesday, May 03, 2023 09:19:16
    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 Wednesday, May 03, 2023 09:29:51
    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 Thursday, May 04, 2023 20:16:14
    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 Thursday, May 04, 2023 20:20:41
    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 Thursday, May 04, 2023 21:01:30
    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 Thursday, May 04, 2023 21:27:58
    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 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 Sunday, November 17, 2024 11:08:47
    https://gitlab.synchro.net/main/sbbs/-/commit/22b0bdaa8df1e5876322ff6d
    Modified Files:
    src/conio/win32gdi.c
    Log Message:
    When SyncTERM is deactivated and it is in fullscreen mode, minimize.

    This appears to be the best we can do when Windows+M (minimize all)
    is pressed. We don't seem to be notified that we should minimize,
    only that a different application is being activated.

    This also makes Alt-TAB behave a bit more like expected.

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