mirror of
https://github.com/dankamongmen/notcurses.git
synced 2024-11-06 03:20:26 +00:00
c6a9997554
* ncplane_at_* and ncplane_at_cursor_* We had notcurses_at_yx() expanding into three distinct parts of the cell structure, and ncplane_at_yx() / ncplane_at_cursor() writing directly to a cell. It was annoying to remember which was which. The latter two now have a signature matching notcurses_at_yx(), while the old functionality has been moved to ncplane_at_yx_cell() and ncplane_at_cursor_yx(). #476
3.9 KiB
3.9 KiB
This document attempts to list user-visible changes and any major internal rearrangements of Notcurses.
-
1.3.1 (not yet released)
ncplane_at_yx()
andncplane_at_cursor()
have been changed to return a heap-allocated EGC, and write the attributes and channels to value-resultuint32_t*
anduint64_t*
parameters, instead of to acell*
. This matchesnotcurses_at_yx()
, and means they're no longer invalidated if the plane in question is destroyed. The previous functionality is available as new functionsncplane_at_yx_cell()
andncplane_at_cursor_cell()
.ncplane_set_base()
inverted itsuint32_t attrword
anduint64_t channels
parameters, thus matching every other function with these two parameters. It movedconst char* egc
before either, to force a type error, as the change would otherwise be likely to go overlooked.- The C++
Notcurses::render()
function now returns non-zero on failure, mirroring the behavior of the core Cnotcurses_render()
. This is an inversion of its previous behavior.
-
1.3.0 (2020-04-12)
- No user-visible changes
-
1.2.9 (2020-04-11)
- No user-visible changes
-
1.2.8 (2020-04-10)
notcurses-tetris
now happily continues if it can't load its background.
-
1.2.7 (2020-04-10)
- Plots now always keep the most recent data to their far right (i.e., the gap that is initially filled is on the left, rather than the right).
-
1.2.6 (2020-04-08)
ncplane_putsimple_yx()
andncplane_putstr_yx()
have been exported as static inline functions.ncplane_set_scrolling()
has been added, allowing control over whether a plane scrolls. All planes, including the standard plane, do not scroll by default. If scrolling is enabled, text output via the*put*
family of functions continues onto the next line when encountering the end of a row. This does not apply to e.g. boxes or lines.ncplane_putstr_yx()
now always returns the inverse of the number of columns advanced on an error (it used to return the positive short count so long as the error was due to plane geometry, not bad input).ncplot_add_sample()
andncplot_set_sample()
have been changed to accept auint64_t
rather thanint64_t
, since negative samples do not currently make sense. Plots were made more accurate in general.notcurses_term_dim_yx()
now accepts aconst struct notcurses*
.notcurses_resize()
is no longer exported. It was never necessary to call this in response to a resize, despite confusing documentation that could have been read to suggest otherwise. If you're in a long block on input, and get anNCKEY_RESIZE
, just callnotcurses_refresh()
(which now callsnotcurses_resize()
internally, asnotcurses_render()
always has).- First Fedora packaging.
-
1.2.5 (2020-04-05)
- Add ncplot, with support for sliding-windowed horizontal histograms.
- gradient, polyfill,
ncplane_format()
andncplane_stain()
all now return the number of cells written on success. Failure still sees -1 returned. ncvisual_render()
now returns the number of cells emitted on success, as opposed to 0. Failure still sees -1 returned.ncvisual_render()
now interprets length parameters of -1 to mean "to the end along this axis", and no longer interprets 0 to mean this. 0 now means "a length of 0", resulting in a zero-area rendering.notcurses_at_yx()
no longer accepts acell*
as its last parameter. Instead, it accepts auint32_t*
and auint64_t*
, and writes the attribute and channels to these parameters. This was done because thegcluster
field of thecell*
was always set to 0, which was surprising and a source of blunders. The EGC is returned via thechar*
return value. https://github.com/dankamongmen/notcurses/issues/410
-
1.2.4 (2020-03-24)
- Add ncmultiselector
- Add
ncdirect_cursor_enable()
andncdirect_cursor_disable()
.