PDCursesMod 4.5.0 - 2024 Dec 31 #328
Bill-Gray
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
PDCursesMod 4.5.0 - 2024 Dec 31
(See
docs/HISTORY.md
for more details, and/or the Git log for extreme detail.)Major new features
Added an OS/2 GUI port, provided by chasonr. 23b1fbe 267f92a
The ncurses 'menu' library can be compiled and used with PDCursesMod,
and the ncurses program 'demo_menus' built to test it out. (The
'forms' library can be built in 8-bit character mode -- it currently
uses ncurses internals for wide mode -- but doesn't appear to
actually work yet.) 07bc4ac 1ad9562
Minor new features
The DRM and Linux framebuffer port now allows for screen rotation.
Hit Alt-/ for a 90-degree rotation. This should pave the way for
support on phones and other rotatable displays (and already helps if
you have a monitor in portrait mode). 0e41ba5 1b7b432
Added
is_cbreak()
,is_echo()
,is_nl()
,is_raw()
functions toaccess members of the non-opaque
SCREEN
struct. The first tworeplace
PDC_getcbreak()
andPDC_getecho()
. 98b6969Windows can be created, moved, and resized that go off the right
and bottom edges of the screen, a la ncurses. (I think this was
an acknowledgment of the fact that after resizing a screen, windows
might go over those edges anyway.) Windows still cannot go off the
left or top edges. bc51d18
Added a new 'test' program for the issues mentioned above with
scrolling and
winsertln()
,wdeleteln()
,winsdelln()
. 98c7405Three new small test programs to investigate various aspects of
how curses works (or doesn't work). 5cef1e3
The 'tests' programs can now be built, on some platforms, with
'make -f Makefile tests'. 200b548 e611673 63138ea
80fdfe7 218aa8c
Switched from defaulting to ncurses-6.4 tests to ncurses-6.5.
WinGUI now defaults to resizable windows, similar to SDLn, WinCon,
and X11. 58807ea
winsnstr()
handled 513 bytes from the input, instead of the clearlyintended 513
wchar_t
s. This worked, but was an unnecessarily lowlimitation. It is now fixed, and the function can now handle
arbitrarily long strings via recursion. Added some code to test this
in 'show_col.c'. 3f8dfa9 18ef78d
PDC_wcwidth( )
updated from Unicode 14.0.0 to 16.0.0 93e32ef a5f13c2Bug fixes
In rare cases, blinking on the framebuffer port could be disabled
due to an integer rollover. eaee2a6
In WinGUI, we could potentially read memory out of bounds. From
slipher. 70d2724
In WinGUI, theoretically 'monospaced' fonts were not necessarily
monospaced. Reverted to drawing each character separately. b99fed1
In WinGUI, when redrawing a string of characters, the preceding and
subsequent glyphs were also redrawn. This was apparently needed at
one time to avoid stray pixels, but appears to be unnecessary now.
8466f73
In WinGUI and WinCon,
PDC_clearclipboard()
would fail if the clipboardwas not open. From Mark Hessling. a071130
If
napms()
was called with a negative value, it would lock. 65dfa7eFramebuffer/DRM port didn't redraw upon changing fonts if the new font
was the same size as the old one. c714cd9
wsetscrreg()
required the cursor for the window to be positionedbetween the 'top' and 'bottom' of the new scroll region. 5a0d5be
wdeleteln()
would delete the line currently under the cursor, thenbring up lines down to the end of the current scroll region, inserting
a blank line there. It really should delete all the way to the bottom
of the window. See also Scrolling and inserting/deleting lines wmcbrine/PDCurses#165. b02f94f
The 'picsview' demo had a possible buffer overrun error. Reported and
fix proposed by Michael Knap. fcd2dd0
Plan9 port ran into a compile error due to different timekeeping
functions. Also was missing a few demos and term.h. 1e8472c
Removed an
assert()
inmvwin()
when the window was moved outside thescreen area. Some programs (including 'test_pan') assume they can try
moving a window, then check the return value to see if it was actually
on screen. c801354
PDC_set_box_type()
has been removed, because it's an unneeded redundancy.You can get double-lined or thick-lined boxes, and/or rounded corners,
via the standard Curses
wborder_set()
function, and it'll work withncurses and other libraries. 'test_pan' revised to provide an example
of how that's done. f8d87ed549 099fa28
printw()
overflowed a buffer when asked to output more than 512 bytes.ddf80d0
napms()
rounded up to the nearest clock tick on DOS and DOSVGA; it nowrounds to the nearest clock tick (with at least one tick being used).
Modified the documentation to reflect this. 785113f
PDC_wcstombs()
could overflow a buffer in the UTF8 decoding. 7d704ddDOS and DOSVGA builds failed on Digital Mars. Several small fixes were
required. 981893b d22725b 32f2266 fd1ddf8
Fixes for Borland Turbo C compilation. a59f452 26128c2
d6b7e99
panel_hidden()
is now portable, returning TRUE (1) and FALSE (0) insteadof
OK
(0) andERR
(-1) This may break existing applications, so you possiblywant to check for the PDCursesMod build (
PDC_BUILD < 4500
). Or seedemos/testpan.c
for a solution portable to ncurses and PDCurses.This discussion was created from the release PDCursesMod 4.5.0 - 2024 Dec 31.
Beta Was this translation helpful? Give feedback.
All reactions