Commit Graph

  • 93e32ef6cb
    Updated Unicode zero-width character table to Unicode 15.1.0 (from 14.0.0). Bill-Gray 2024-01-26 15:10:56 -0500
  • 1840243cfe
    DRM port : finding 'drm.h' reliably appears to be an iffy prospect at best. So I'm just setting the include path to have both candidate directories. Bill-Gray 2024-01-26 15:10:06 -0500
  • b895e890e2
    If PDC_millisecs() is used outside the library (happens in some of the 'test' code), it should be declared as PDCEX. Bill-Gray 2024-01-26 15:08:58 -0500
  • c714cd9bcc
    Framebuffer port : resize on first loading a font, even if the screen size hasn't changed (it is, after all, still a new font and a redraw should occur) Bill-Gray 2024-01-26 15:05:32 -0500
  • 45949000c3
    Use the 'proper' feature test macros to determine if clock_gettime() and/or gettimeofday() are available; use ftime() if neither is available. This should evade a warning on some platforms; see issue #311. Bill-Gray 2023-12-16 19:11:06 -0500
  • eaee2a61f2
    Very unlikely edge case : PDC_millisecs( ) can roll over, causing blinking to stop. Generally speaking, PDC_millisecs( ) should alway be used relative to another call to PDC_millisecs( ). Bill-Gray 2023-12-16 15:51:33 -0500
  • 2a5719d3b0
    Comment changes only. In some places, 'PDCurses' was used to refer to PDCursesMod-specific features; you could reasonably have thought that the features in question were part of PDCurses, but they weren't. I haven't fixed everything yet. Bill-Gray 2023-12-16 15:40:56 -0500
  • 70d27245d1
    Fix out-of-bounds read in wingui implementation (#312) slipher 2023-12-11 20:52:14 -0600
  • c8db427108 Fix out-of-bounds read in wingui implementation slipher 2023-12-11 19:25:59 -0600
  • 02a61c1191
    Brought HISTORY.md and MANUAL.md up to date v4.4.0 Bill-Gray 2023-12-01 13:57:26 -0500
  • 087c20cc87
    WinGUI keyboard input could be unresponsive. Fix for issue #310. Bill-Gray 2023-11-30 18:35:19 -0500
  • 4f6ff6cbcc
    Extended commit a4e563d763, adding double- and triple-clicks for SDL2 and GL, to SDL1. The logic is almost exactly the same, except that SDL1 lacks SDL_WaitEventTimeout(); fortunately, it was easy to implement that function. See issue #309. Bill-Gray 2023-11-16 20:24:00 -0500
  • a4e563d763
    Added double and triple click detection for SDL2 and GL (#309) Lyle Tafoya 2023-11-16 17:19:50 -0800
  • d1c1d26de1
    'ozdemo' didn't list the newest (GL) platform Bill-Gray 2023-11-16 20:13:44 -0500
  • f9dc64f368
    'panel.c' : the code to check overlapping panels really should be code to check overlapping _windows_; this may allow re-use of that function. This also enabled the code to be slightly cleaner. Bill-Gray 2023-11-16 20:12:24 -0500
  • 1c1eb85c43
    USERS.md didn't list the A_TOP/WA_TOP attributes and had outdated comments on some of the attribute flags. Bill-Gray 2023-11-16 20:10:00 -0500
  • 5fd12f8ec9
    Wide-character builds can now set a 'thick' style for boxes/borders. See 'test_pan.c' for example usage. Bill-Gray 2023-11-16 19:55:47 -0500
  • 9a4ea8ca77
    Tightened some assert() statements. Bill-Gray 2023-11-16 19:54:12 -0500
  • db9f7154a3 Added double and triple click detection for SDL2 and GL Lyle-Tafoya 2023-10-26 12:50:35 -0700
  • d4e69e63e7
    Fixed issue where mouse clicks were always reported as separate button down and button up events. (#308) Lyle Tafoya 2023-10-26 07:21:03 -0700
  • 8209335fa4 Fixed issue where mouse clicks were always reported as separate button down and button up events. Lyle-Tafoya 2023-10-26 00:20:47 -0700
  • 35fa67d4e7
    Several curses functions can be either macros or functions. For these, the function parameter can (and arguably should) be of type const where possible. Bill-Gray 2023-10-15 22:01:00 -0400
  • 481005f8b6
    Test for overlapping panels was needlessly complex. Also, the only part of the panel used is the window, and having code to detect overlapping windows may be of general utility. Bill-Gray 2023-10-15 19:42:39 -0400
  • dd8f51a4af
    Ripped-off lines are allocated a little more sensibly (I'm keeping in mind that we may have multiple screens eventually...) Updated history and version constants. Bill-Gray 2023-10-13 16:34:48 -0400
  • f8aa267b31 Added variable pdc_window_title which can be used to set the title of the SDL window for SDL2 and GL builds Lyle-Tafoya 2023-10-11 16:58:44 -0700
  • ac96c5511e
    SDL2 Makefile had a recursive definition of CC and PREFIX (issue #302). Also revised the GL Makefile to resemble the SDL2 one a little more closely. Still some work to be done there... Bill-Gray 2023-10-10 20:19:39 -0400
  • 7c26ec92ed
    Eliminated numpad key repeat issue for sdl2 and gl on Windows. Fixes #304 (#305) Lyle Tafoya 2023-10-10 17:07:24 -0700
  • 88c51fbd3f Eliminated numpad key repeat issue for sdl2 and gl on Windows. Fixes #304 Lyle-Tafoya 2023-10-08 04:31:52 -0700
  • e6a5edee79
    Added some small test programs Bill-Gray 2023-10-04 22:12:06 -0400
  • a089491c06
    Updated HISTORY.md and version month/day Bill-Gray 2023-10-04 21:37:11 -0400
  • 05e09e5368
    Ripped-off lines were very buggy and didn't redraw correctly when the screen was resized. Bill-Gray 2023-10-04 19:48:27 -0400
  • 25ca3b2c97
    Restoring shouldn't mangle the window list or color tables. (Still some work to do here.) Bill-Gray 2023-10-04 10:17:23 -0400
  • ca0fabd99b
    The maximum number of ripped-off lines is five (5). Let's make that a defined constant instead of a magic number. Bill-Gray 2023-10-04 10:13:52 -0400
  • 9c16db9589
    supersedes #276, #278 where the discussion is (#303) Pavel Stehule 2023-10-04 16:05:05 +0200
  • a946868496 supersedes #276, #278 where the discussion is okbob@github.com 2023-10-03 20:54:52 +0200
  • be99baccb8
    [WIN32] external definition adjusted (#301) Simon Sobisch 2023-09-26 19:48:04 +0200
  • 7617288cc0
    [WIN32] external definition adjusted Simon Sobisch 2023-09-25 09:31:28 +0200
  • e65c8c037d
    Follow-up to commit 666bf7ab0e to make further VT100 escape sequences more human-readable Bill-Gray 2023-09-22 21:24:43 -0400
  • 746bd9fd2b
    Merge branch 'v4.4' Bill-Gray 2023-09-22 21:17:02 -0400
  • 666bf7ab0e
    Modified the way the CSI and OSC (VT100) commands were expressed to make them a little clearer Bill-Gray 2023-09-22 21:16:44 -0400
  • f94027bd77
    'libobjs.mif' now states explicitly that it's used with GCC Simon Sobisch 2023-08-31 10:21:32 -0400
  • 6045af6e3e
    Updated version constants, with a workaround for the August/September issue described for commit 23bf302975. We do still have to avoid 08 and 09 for PDC_VER_DAY, but that shouldn't be difficult. Bill-Gray 2023-08-28 13:21:05 -0400
  • f54d625651
    minor fix to docs/README Simon Sobisch 2023-08-22 14:18:44 +0200
  • e4e06efb07
    Added some missing documentation on wheel mice to vt/pdckbd.c Bill-Gray 2023-08-28 12:41:33 -0400
  • 4124f52f5f
    minor fix to docs/README Simon Sobisch 2023-08-22 14:18:44 +0200
  • 23bf302975
    Backdated PDC_VER_MONTH and PDC_VER_DAY. Sadly, PDC_VER_MONTH = 08 is interpreted as a malformed octal constant. I'll have to figure out a way around this, or else August and September will always be problems. But for the nonce, I'm just backdating. Bill-Gray 2023-08-11 12:23:06 -0400
  • 5f920f592a
    Now that SCREEN is opaque, we don't need the separate _opaque_screen_t structure. Moving its elements directly into the SCREEN struct makes the code much cleaner. It doesn't affect how anything actually works. Bill-Gray 2023-08-10 22:32:53 -0400
  • 6736043295
    (Forehead slap) Used a non-existent attribute Bill-Gray 2023-07-27 21:03:57 -0400
  • bd50d86522
    Failed to change a leftover WA_OVERLINE to WA_TOP Bill-Gray 2023-07-27 21:01:05 -0400
  • 3fabd2f98c
    Brought history and manual up to date, and updated the version date constant. Bill-Gray 2023-07-27 20:50:55 -0400
  • a201843fd6
    No need for this variable to be global. Bill-Gray 2023-07-27 20:37:48 -0400
  • a54fdb6ff1
    Mostly very pedantic fixes to ensure that WA_ macros are used for attributes, and eliminating some non-standard use of A_LEFTLINE, etc. Should have no actual effect on how the code works. Bill-Gray 2023-07-27 20:37:23 -0400
  • 4da423c59e
    Modified 'testcurs.c' attribute test to show which flags are set in term_attrs(). Bill-Gray 2023-07-27 20:23:52 -0400
  • 3b54290f13
    'color.c' : code to refresh line attributes after a color change was quite wrong. The (academic for PDCurses*) difference between WA_ and A_ attributes wasn't handled properly. The documentation didn't mention all of the line attributes affected by PDC_set_line_color(). Bill-Gray 2023-07-27 11:27:45 -0400
  • 16ac494c25
    Raised KEY_MAX to allow for possible expansion of the list of predefined 'special' keys Bill-Gray 2023-07-25 14:06:38 -0400
  • 65f115f23c
    'newtest.c' and 'testcurs.c' demos : both programs used WA_ and A_ macros somewhat indiscriminately. This works on ncurses, PDCurses, and PDCursesMod, where chtype == attr_t. But it's not safe behavior. Also removed some references to obsolete/renamed attributes (WA_RIGHTLINE is now WA_RIGHT, etc.) Bill-Gray 2023-07-25 13:44:08 -0400
  • 78658c94cd
    WA_* macros are now distinct in (default) 64-bit chtype/attr_t builds, bringing us into conformance with X/Open. Clarified a bit as to which attributes are 'standard' and which are PDCurses, ncurses, or PDCursesMod extensions. Marked A_LEFTLINE, A_RIGHTLINE, A_OVERLINE as obsolete/not portable. Changed endwin_ macros to ensure you can't accidentally link 4.3.n code to a 4.4.0 library, or vice versa. Bill-Gray 2023-07-25 13:36:14 -0400
  • 3259719b37
    The WINDOW struct is now also private. This may require use of the ncurses-style 'opaque' window functions. Bill-Gray 2023-07-23 12:55:39 -0400
  • 11671880e2
    Made the SCREEN structure innards private, and made SP internal to the PDCursesMod library. This breaks the binary API, so we are also going from version 4.3.7 to 4.4.0. Bill-Gray 2023-07-23 12:49:11 -0400
  • bae8da4581
    Updated history and version date constants. Bill-Gray 2023-07-23 12:36:27 -0400
  • 7963576358
    'mbrot.c' : removed unused #define, made 'help' text clearer Bill-Gray 2023-07-23 12:36:01 -0400
  • 9e38ff8089
    Changed 'palette_size' to '_palette_size' to fix a (correct) warning about a shadowed variable when compiling sdl2/pdcscrn.c with MSVC Bill-Gray 2023-07-23 11:58:56 -0400
  • 8521042e58
    HAVE_WCWIDTH should only be #defined if _XOPEN_SOURCE is #defined. Bill-Gray 2023-07-23 11:54:51 -0400
  • 3a26aa86a3
    Precision timing code was duplicated in 'getch.c' and in the framebuffer/DRM port's 'pdcdisp.c'. Bill-Gray 2023-07-23 11:50:27 -0400
  • 3b64ddca92
    VT platform in Windows : the console output is locale-dependent. So demos now set the UTF-8 locale. SetConsoleOutputCP( 65001); is supposed to force UTF-8 output, though only for fixed-pitch Unicode fonts, but actually doesn't even do that... it appears Windows provides no programmatic way to say 'use this Unicode glyph on the console'. Bill-Gray 2023-07-15 12:35:14 -0400
  • d62083a096
    VT in Windows : we can get the screen size via GetConsoleScreenBufferInfo(). Thus far, this is only used at startup to detect the initial screen size, but at least in theory, we could use it to detect resizing. Bill-Gray 2023-07-15 12:18:50 -0400
  • 5c0bc334f8
    'touch' functions : some assert()s and checks for error conditions were wrong or insufficient or both. touchoverlap() un-touched parts of the window that didn't overlap (see wmcbrine/PDCurses#149). Bill-Gray 2023-07-12 11:03:28 -0400
  • 87d4ecd92d
    'picsview' : MSVC warned that an integer was implicitly cast to a short. Setting a color beyond 32K with attr_set() can't be done, unless you rely on ncurses/PDCurses extended use of the 'opt' parameter. We're better off just using attrset(), which can handle integer colors past 32K. Bill-Gray 2023-07-12 09:44:27 -0400
  • 1680bc4b51
    MSVC warned (correctly) that we already had a variable named j, and were 'shadowing' it. Bill-Gray 2023-07-12 09:38:49 -0400
  • 8830b71392
    'panels' library almost completely rewritten. The new version is _much_ better at figuring out which parts of the screen need to be updated, aided in part by a new PDC_touched_range() function to determine which parts of a window have changed. The panels are stored in a circularly-linked list, of which the stdscr pseudo panel is always a member, so edge cases are mostly eliminated. Panel overlap is computed in a less confusing manner. Bill-Gray 2023-07-11 20:36:07 -0400
  • abc2874350
    Made an assert() statement slightly more comprehensive Bill-Gray 2023-07-11 12:56:25 -0400
  • 37702e0e16
    'widetest' now shows the expanded version of all characters in the combining character line, instead of stopping about halfway through. Bill-Gray 2023-07-11 12:55:48 -0400
  • dec3f4fa45
    Correction : accidentally omitted two files from preceding commit cb8c87b287. Bill-Gray 2023-07-11 12:54:26 -0400
  • cb8c87b287
    PDC_transform_line_sliced() ensures that PDC_transform_line() is fed manageable packets, and that packets are split after fullwidth and combining characters. This avoids some mis-alignment issues, and should make support for fullwidth and combining characters simpler for WinCon, SDLn, DOSVGA, and the framebuffer ports. Bill-Gray 2023-07-11 11:43:21 -0400
  • 2b2488397c
    Updated history and version date constants. Bill-Gray 2023-07-10 12:51:54 -0400
  • 5735a1cb31
    Correction to commit c03e650a70. I left in the (now-deleted) line, which was redundant _and_ meant you could still access an out-of-bounds element. Bill-Gray 2023-07-10 11:37:38 -0400
  • 19169a1b18
    'widetest' modified to verify that both precomposed and combining characters can be copied with getcchar() and setcchar(). Bill-Gray 2023-07-06 08:13:04 -0400
  • 97f1956275
    Clarified a somewhat vague comment. Bill-Gray 2023-07-05 12:45:25 -0400
  • 9e236abb17
    reset_color_pairs() reset everything in the 'opaque' screen structure to zero. In the process, the 'window_list' was zeroed, meaning that delscreen() wouldn't delete them, resulting in a (small) memory leak. Bill-Gray 2023-07-05 12:43:33 -0400
  • 944046f249
    Follow-up to commit e8bc5415b6 : Xinitscr() doesn't allow one to delete the screen after use. At some point, I'll need to figure out a workaround for this; it may result in Xinitscr() being deprecated. Bill-Gray 2023-07-05 10:58:54 -0400
  • 6434bd0e99
    Should have been part of commit 2d114bf406 : HAVE_SNPRINTF was redundantly and duplicatively #defined. Bill-Gray 2023-07-03 23:14:12 -0400
  • e8bc5415b6
    Demos modified to delscreen() the pointer returned by newterm(). This is more portable than using delscreen(SP). For example, it'll work with ncurses. (Generally speaking, programs shouldn't use SP, ever. It may vanish in future version of PDCursesMod, and maybe even in PDCurses.) Bill-Gray 2023-07-03 23:01:16 -0400
  • 05e496edb8
    'panel.c' : minor comment changes, cleanup, and use of 'const' where possible Bill-Gray 2023-06-28 18:24:15 -0400
  • 2d114bf406
    Fixes for some ncurses demos, shamelessly copied from commit wmcbrine/PDCurses@977dcc9a31 Bill-Gray 2023-06-28 16:23:28 -0400
  • e2b2205da6
    Fix to bug in panel library (see issue #252). If a panel didn't overlap any other panel, it wouldn't be checked against the pseudo-panel for stdscr. If it _did_ overlap/was overlapped by N panels, it would be checked against that pseudo-panel N times, causing an admittedly unmeasurably tiny performance impact. Bill-Gray 2023-06-25 16:52:12 -0400
  • 0f49d9ac7d
    'panel.c' : removed not-very-useful PANEL_DEBUG code. Bill-Gray 2023-06-24 17:41:34 -0400
  • 6b571be281
    'panel' library changed to use the WINDOW struct's dimensions, instead of duplicating them within the PANEL struct. This both simplifies the code and avoids a bug when the main screen is resized, either programmatically or by the user. Bill-Gray 2023-06-24 17:37:29 -0400
  • 8ef616a087
    Updated MANUAL.md, HISTORY.md, and version constants for a new release. v4.3.7 Bill-Gray 2023-06-17 19:25:53 -0400
  • b09c91ea15
    The 'resize' test in testcurs failed for SDL2 and GL. The window would only flash at the resized dimensions, then flash back to the original size. It turned out that we get spurious resizing events, causing testcurs to receive an (unneeded) KEY_RESIZE. Bill-Gray 2023-06-15 23:12:54 -0400
  • 6966af7578
    'picsview' had issues in 8-bit character mode Bill-Gray 2023-06-12 21:45:37 -0400
  • 89727917e7
    'picsview', 'mbrot' demos now work with ncurses. The locale needed to be set, and attr_set() used instead of attrset(). Unnecessary distinctions between PDCurses* and ncurses removed. Bill-Gray 2023-06-12 14:15:06 -0400
  • 2f01b46956
    Removed duplicate is_leaveok() definition, and made use of that function in the getsyx() macro. I think the latter is the only change required to enable an 'opaque' WINDOW structure. Bill-Gray 2023-06-11 11:57:29 -0400
  • c51efbbf88
    'terminfo.o' was not included in the DOSVGA Makefile, nor in the WinCon Microsoft(R) makefile. The WinCon Digital Mars makefile said 'term.obj' where it should have said 'terminfo.obj'. Found after a careful check of the reversion of commit 22c4d82f8c, which was done in commits d5d2d8a857, 248146021e and ab1c007273. Bill-Gray 2023-06-10 22:18:27 -0400
  • 71e29ebfbb
    Fixed a pedantic (but not entirely unreasonable) warning Bill-Gray 2023-06-10 17:25:11 -0400
  • 73d820f7c3
    'newtest' revised to handle PDC_FORCE_UTF8=Y, with PDC_WIDE not (yet) set (gets set _after_ curses.h is included) Bill-Gray 2023-06-10 17:22:36 -0400
  • abbb6de7de
    realloc( ptr, 0); is equivalent to free( ptr); and returns NULL on most systems... but not FreeBSD, and isn't guaranteed by the C standards. This caused an assertion to trigger during endwin() on FreeBSD. Bill-Gray 2023-06-07 13:09:09 -0400
  • 0a4e1e9065
    Buffer was one element too small, missing room for a null terminator. Reported by nhmall. See issue #295. Bill-Gray 2023-06-04 22:10:59 -0400
  • f8cacee655
    Now using ncurses-6.4 instead of 6.3. Added #define HAVE_s for some capabilities (probably others should be added). Bill-Gray 2023-06-04 17:46:26 -0400
  • 3113ea90cf Add multithreading option to gl port Julius Ikkala 2023-06-03 16:24:28 +0300
  • f90874a0cd
    Brought HISTORY.md up to date. Bill-Gray 2023-06-02 13:21:13 -0400