• src/conio/bitmap_con.c bi

    From Deuc¿@VERT to Git commit to main/sbbs/m on Tuesday, March 17, 2026 22:37:00
    https://gitlab.synchro.net/main/sbbs/-/commit/c6d0edd8fcf155a351fedf6f
    Modified Files:
    src/conio/bitmap_con.c bitmap_con.h ciolib.c ciolib.h cterm.adoc cterm.c
    Log Message:
    Add OSC 4 palette query, DECRQSS cursor style, and getpalette API

    OSC 4 query: when pY is '?', respond with rgb:RR/GG/BB at 8-bit
    precision matching internal storage.

    DECRQSS SP q: report current DECSCUSR cursor style (blinking/steady block/underline).

    getpalette: new ciolib API (uint8_t r/g/b) backed by bitmap_con,
    wired through all bitmap backends. Returns 8-bit values directly
    from the palette array.

    Also refactored OSC 4 set path: strncmp == 0 positive check instead
    of inverted break, cleaner if/else if/else structure for '?'/rgb/bad.

    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/m on Thursday, March 19, 2026 14:38:00
    https://gitlab.synchro.net/main/sbbs/-/commit/dbbf05a922e359202b3905e4
    Modified Files:
    src/conio/bitmap_con.c bitmap_con.h ciolib.c ciolib.h cterm.c
    Log Message:
    Add movetext_clear() to fix status bar smear during scroll (ticket 228)

    New ciolib API: movetext_clear() moves text and atomically fills the non-overlapping source area with a caller-provided vmem_cell. Handles
    the general case of up to two clear rectangles (horizontal + vertical
    strips) for diagonal moves.

    In the bitmap fast-scroll path, the exposed pixel rows are cleared
    under screenlock so the display thread never sees stale data from the
    circular buffer wrap.

    cterm_scrollup() and scrolldown() now use movetext_clear() instead of
    separate movetext() + cterm_clrblk() calls.

    Also removes memset_u32() which used a slow memcpy-per-element loop.

    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/m on Monday, July 13, 2026 10:44:00
    https://gitlab.synchro.net/main/sbbs/-/commit/ef09ed918208f9fb7037de0e
    Modified Files:
    src/conio/bitmap_con.c bitmap_con.h ciolib.c ciolib.h cterm.adoc cterm.c src/syncterm/CHANGES term.c
    Log Message:
    Add scaled graphics APC blits

    Add a ciolib blit operation that supports clipped integer scaling and
    x/y mirroring while leaving setpixels() as a strict compatibility
    wrapper.

    Use the new path for DrawPPM, DrawJXL, and P;Paste so graphics APC
    draws can clip off-screen destinations. Add FX/FY and ZX/ZY APC
    arguments, allow signed DX/DY destinations, document the revision bump,
    and mention the change in CHANGES.

    Co-Authored-By: OpenAI Codex <noreply@openai.com>

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