Commit Graph

1076 Commits

Author SHA1 Message Date
nick black
0b4232d07d
[ncstrwidth] yield to ncstrwidth_valid 2021-11-26 01:36:52 -05:00
nick black
d5e451939b
[sixel] copy through sixel_maxy_pristine #2379 2021-11-25 18:46:34 -05:00
nick black
f88f1b8697 [pool_blit_direct] pass newlines through #2196 2021-11-25 15:18:04 -05:00
nick black
919c6db9fb [notcurses.h] more attribute nonnull/format 2021-11-23 20:43:44 -05:00
joseLuís
2a01b305b6 [docs] minor fix & update 2021-11-22 14:16:32 +01:00
nick black
a8be5afe3a [ncplane_putwc_utf32] typo in surrogate upper bound 2021-11-20 19:03:06 -06:00
nick black
a248606b77
[notcurses-info] use putwc_utf32 for symbols for legacy computing #2358 2021-11-19 09:42:01 -05:00
nick black
5e55e0c970
introduce ncplane_putwc_utf32(), use it in notcurses-info #2358 2021-11-19 09:34:27 -05:00
nick black
03a03ca22c
[channels] set_rgb needs clear the palette bit! 2021-11-19 05:36:38 -05:00
nick black
d1c9dd93cf
[core] add ncplane_resize_placewithin #1478 2021-11-17 04:02:49 -05:00
nick black
5730925b7d
[nckeys] break up NCKEY_SIGNAL and NCKEY_RESIZE 2021-11-17 03:07:19 -05:00
nick black
0124daf8b7
restore ncselector_destroy API, set widget in ncreader #2347 2021-11-17 02:02:55 -05:00
nick black
bead8cbffc [widgettrack] hook up nctabbed, nctree, ncreel, nc[ud]plot #2342 2021-11-16 22:28:37 -05:00
joseLuís
da13d8938d [docs] fix ncplane_[format|stain] docs 2021-11-12 19:56:13 +01:00
joseLuís
2620d8ded6 [docs] update outdated info & fix typo 2021-11-11 19:11:55 +01:00
nick black
f377e30300
[fdplane] constify args/env, kill unit test memory leaks 2021-11-11 10:08:03 -05:00
nick black
3bc2f40431
[notcurses.h] remove duplicate declarations 2021-11-11 08:23:51 -05:00
joseLuís
9c4a8d3028 minor fixes: args order, typo, doc warning 2021-11-11 12:10:09 +01:00
nick black
5ff59ce421
[putstr] take size_t* for sbytes, not int* #2331 2021-11-10 22:43:44 -05:00
nick black
9065975a3c
move synthesized events beyond unicode 2021-11-09 04:16:23 -05:00
nick black
c775e8b7af
static inline most capability functions 2021-11-09 02:31:51 -05:00
nick black
8a63270c00
notcurses_{top/bottom} become static inlines 2021-11-09 00:59:33 -05:00
nick black
b42587a1b9
notcurses_getc -> notcurses_get, absolute deadlines 2021-11-09 00:54:29 -05:00
nick black
fe924be5ef
ABI3 changes (#2333)
Long-planned changes for API/ABI3 #1777

* remove old-style notcurses_ rendering functions
* Make notcurses_render() a static inline wrapper around
 ncpile_render(). Remove the deprecated
 notcurses_render_to_file() and ncpile_render_to_file().
* ncstrwidth() becomes static inline wrapper #1777
* remove deprecated ncvisual_subtitle()
* kill ncvisual_inflate(), long deprecated #1777
* remove deprecated palette256 wrappers #1777
* kill ncplane_new() #1777
* remove deprecated renderfp field from notcurses_options #1777
* reorder ncstats fields to match documentation #1777
* kill deprecated style functions #1777
* ncplane_move{top, bottom} become static inline #1777
** ncplane_pixelgeom -> ncplane_pixel_geom() #1777
* ncstyle functions ought return uint16_t #1777 #2200
* ncvisualplane_create: provide new pile functionality #1462
* [heuristics] GNU screen 4x never has rgb
* [BitmapSmoothMove] only WARN in test until sixel supports this #2258
* contour: enable sextants
* interp PoC: clean up ncvisual #2266
* ncselector_options: constify string arguments
* Constify strings in selector/mselector_items
 Use internal types to track items within the
 selector/mselector widgets, rather than pressing the
 user-provided item structs into double-duty. With this
 change, we can constify the strings within those
 user-provided items. Do so, also removing the internal-side
 elements. Update documentation. Closes #2267.
* constify ncmenu_item/_section strings
* constify strings in nctabbed_options
* notcurses-demo FPS graph: back to straight seconds
* remove unused wchar_from_utf8()
* nstrwidth_valid(): properly initialize bytes/width
* [ncneofetch] use GetSystemInfo on Windows
2021-11-09 00:53:30 -05:00
nick black
12e01fdf5c [metric] prefix all defs with NC 2021-11-08 21:05:15 -05:00
nick black
c20e859a6d [python] API conversions 2021-11-08 21:05:15 -05:00
nick black
d29813457b stylemasks ought always be uint16_t 2021-11-08 21:05:15 -05:00
nick black
91420af5ce eliminate recursion in ncplane_polyfill_yx #2328 2021-11-08 21:05:15 -05:00
nick black
0231768406 prefix qprefix(), bprefix(), iprefix() with nc- 2021-11-08 21:05:15 -05:00
nick black
83ff2cfe5a unsigned geometries 2021-11-08 21:05:15 -05:00
nick black
0f5aec510a
[mice] support for pure motion events
Deprecate notcurses_mouse_{enable, disable}. Reimplement
them for now as wrappers around notcurses_mice_enable().
New function notcurses_mice_disable() is a static inline
wrapper around notcurses_mice_enable(). The latter
function takes an unsigned bitmask of event types. We
now turn on the "all motion" tracking DECSET if
NCMICE_MOVE_EVENT is requested. Update the documentation,
and kill some obsolete lines. Add the ypx and xpx fields
to ncinput, to indicate pixel offset within a cell. Add
nckey NCKEY_MOTION for button-free motion events. Update
notcurses-input to pass NCMICE_ALL_EVENTS and decode
NCKEY_MOTION. Only emit mouse sequences when connected
to a TTY (or GPM). Closes #2320.

Request RGB XTGETTCAP.

Fix bug in error check in notcurses_render_to_buffer().

Decode multiple XTGETTCAP responses.
2021-11-05 08:32:35 -04:00
nick black
960414d818
[ncvisual_geom] remove redundant/confusing sentence from docs #2321 2021-11-05 00:10:44 -04:00
nick black
71fd75996c [direct] correct documentation for ncdirect_putstr() 2021-11-04 10:08:26 -04:00
nick black
e9470ac4a9 unsigned box and resize 2021-11-04 10:08:26 -04:00
nick black
3792dd5592 [mergeplane] 0 means remainder #1696 2021-11-04 10:08:26 -04:00
nick black
042d810722 [ncpp] update to match new unsigned signatures #1696 2021-11-04 10:08:26 -04:00
nick black
37f077a653 normalize lenghts for line-drawing functions #1696 2021-11-04 10:08:26 -04:00
nick black
d80884ea48 normalize geometry for ncvisual_from_plane, ncplane_contents, and ncplane_as_rgba() #1696 2021-11-04 10:08:26 -04:00
nick black
2e01c4c217
[ncvisual_blit] improve documentation 2021-11-02 01:17:19 -04:00
nick black
17b06b1180 [ncvgeom] add begy/begx and leny/lenx to ncvgeom 2021-11-01 21:57:05 -04:00
nick black
b19847a06a [visual] extrinsic geometry unit tests 2021-11-01 21:57:05 -04:00
nick black
4028d3f56a ncvisual_geom(NULL, non-NULL) unit test 2021-11-01 21:57:05 -04:00
nick black
a0b34f7062 [core] introduce ncvisual_geom(), replacing ncvisual_blitter_geom() #1684 2021-11-01 21:57:05 -04:00
nick black
c906d2cf8a [ncvisual] move ncvgeom defintion to common area #1684 2021-11-01 21:57:05 -04:00
nick black
935e96a3bc [stats] add hpa_gratuitous stat #2199 2021-10-28 06:42:19 -04:00
nick black
fec64cfc33 [core] use pthread_condattr_setclock rather than pthread_cond_clockwait() #2302 2021-10-27 13:43:10 -04:00
nick black
bdab00a26b
ncplane_putwc_yx: kill VLA #2301 2021-10-26 15:09:52 -04:00
nick black
6e2ab83a08
[utils] declare notcurses_osversion #2293 2021-10-21 18:36:52 -04:00
nick black
864e2710a3 [demo] use pthread_cond_clockwait() with CLOCK_MONOTONIC #2291 2021-10-21 17:07:57 -04:00
nick black
3dafea8e91
add notcurses_canpixel() 2021-10-19 18:04:58 -04:00
nick black
be42ff909c ncvisual_render -> ncvisual_blit (core/test) #1462 2021-10-16 03:39:25 -04:00
joseLuís
1e1d1bb631 constify ncselector_item reference fix #2270 2021-10-14 18:14:05 +02:00
nick black
99169aea42
tabbed janitorial work
clean up memory leak of tab names
ignore NCTYPE_RELEASE in tabbed PoC
constify strings in nctabbed_options
2021-10-14 03:26:15 -04:00
nick black
abea3f9064
constify ncmenu_item/_section strings 2021-10-13 20:38:21 -04:00
nick black
2015e8ffc9
Constify strings in selector/mselector_items
Use internal types to track items within the
selector/mselector widgets, rather than pressing the
user-provided item structs into double-duty. With this
change, we can constify the strings within those
user-provided items. Do so, also removing the internal-side
elements. Update documentation. Closes #2267.
2021-10-13 19:19:43 -04:00
nick black
1152e2c318
ncselector_options: constify string arguments 2021-10-13 18:38:10 -04:00
nick black
b42b866189 initial support for pixel offsets
Add pixel offset fields to blitterargs in the pixel
portion of the union. Check in blitter_geom that
pixel offsets are not used with cell blitting.
Prepare the new blitterargs fields. Account for pixel
offsets when calculating cell geometry #1682.
2021-10-11 03:28:34 -04:00
nick black
ba10390e1e
wcstombs -> wcsrtombs in ncplane_putwstr_yx() 2021-10-11 02:45:21 -04:00
nick black
41cf28b775
[NCPP] restore Visual::subtitle() 2021-10-10 20:49:00 -04:00
nick black
36e9ab510d
[direct] allocate TAM when rendering images #2254 2021-10-10 18:53:48 -04:00
nick black
2148bcc4f2
Revert "[nckeys] move from PUA-B to 'plane 18' #2247"
This reverts commit e83f1f5ba3.
2021-10-09 11:07:26 -04:00
nick black
e83f1f5ba3
[nckeys] move from PUA-B to 'plane 18' #2247 2021-10-09 11:06:51 -04:00
nick black
7d6fdceb6e
[internal] break API/ALLOC across headers once more to fix python 2021-10-09 00:44:11 -04:00
nick black
a3ceeac170
unify definitions of API/ALLOC 2021-10-09 00:15:22 -04:00
nick black
87341111b8
[menu] ignore release events 2021-10-08 22:54:03 -04:00
nick black
3041496e3a
define NCKEY_ values for modifiers 2021-10-08 18:10:58 -04:00
nick black
5f82a49065
[tetris] drop Release events 2021-10-08 17:41:00 -04:00
nick black
41de49eb6c
[windows] use declspec(dllexport) for API 2021-10-08 14:14:28 -04:00
nick black
a8b3634ca7 [ncvisual] add pxoffy+pxoffx fields to ncvisual_options #1682 2021-10-08 01:56:22 -04:00
nick black
66d6913b69
[ncpp] express EvType enums 2021-10-07 04:04:04 -04:00
nick black
8fc2a4b59b notcurses-input: add media keys 2021-10-07 03:23:42 -04:00
nick black
316c192426 [kitty] handle some more functional forms #2184 2021-10-07 03:23:42 -04:00
nick black
6d3c64a5c1
[ncvisual_pixelgeom] document that results are invalidated by terminal resize #2141 2021-10-07 00:53:12 -04:00
nick black
66801aa254 ncplane_dup: don't make new root planes 2021-10-05 02:15:56 -04:00
nick black
9185ea000c
add ncplane_set_name()/ncplane_name() + documentation 2021-10-04 20:46:47 -04:00
nick black
518eca2f60
move_family_{below,above}() need return int #2232 2021-10-04 13:41:14 -04:00
nick black
e613b81b82
ncplane_move_family_{below, above}() with unit tests #2232 2021-10-04 05:16:58 -04:00
nick black
43fc6afaa3
ncplane_move_family_{above, below}() #2232 2021-10-04 01:50:01 -04:00
nick black
e42a76a2d2
Remove and replace ncplane_boundlist()
The function ncplane_boundlist() was poorly-considered,
and ought never have existed. Remove all traces of it.
Add the new functions ncplane_move_family_top() and
ncplane_move_family_bottom(). Replace the
ncplane_boundlist() code in notcurses-demo with a call
to ncplane_move_family_top(). We'll also want
ncplane_move_family_above() and ncplane_move_family_below(),
but they're not yet here. Document all z-axis movement
functions; they were lacking documentation before #2232.
2021-10-04 01:01:35 -04:00
nick black
436f24c770
Remove libreadline support, implement low-level ncdirect_readline #2211 (#2212)
It was realized that our libreadline wrapper was incompatible with the new input method, indeed fundamentally so. Rip out all libreadline support. Implement a minimal ncdirect_readline() -- quite minimal, but enough to get by. We'll want to fill this out later.

So no ABI/API breakage, though perhaps some visible behavioral change.
2021-09-28 01:37:44 -04:00
initramfs
671656ea80 fix ncpp throwing heap allocated exceptions 2021-09-27 17:34:22 -04:00
joseLuís
fb003c4eef fix doc-comment on ncplane_erase_region
and another minor typo
2021-09-24 20:01:20 +02:00
joseLuís
ff9497ea3d add doc-comment for ncplane_center_abs 2021-09-24 14:45:49 +02:00
joseLuís
2141338e4c revert stylemask return types #2200 2021-09-23 19:32:36 +02:00
joseLuís
1811e3b0ef fix stylemask return types #2200 2021-09-23 16:01:25 +02:00
joseLuís
d55a44ef4b make ncdirect_styles require const reference 2021-09-23 14:44:07 +02:00
nick black
72757044da [ncplane_erase_region] generalize #2181 2021-09-21 18:32:39 -04:00
nick black
92f4dce595
use wcsrtombs() in place of wcstombs() 2021-09-20 05:04:25 -04:00
nick black
3faf8ee3fb
[input] introduce NCKEY_EOF #2185 2021-09-19 22:16:31 -04:00
nick black
ea5da346f0
Add keytype indicator to notcurses-input #2182 2021-09-19 21:01:40 -04:00
nick black
99007e128c
[input] add evtype to ncinput, for press/repeat/release #2182 2021-09-19 20:13:02 -04:00
nick black
5eed1abe8e notcurses_get: restore old delaybound behavior #2169 2021-09-17 15:46:08 -04:00
joseLuís
17133fb4f9 remove old reference to sigmask in notcurses_get
and update description for the same function in USAGE.md
2021-09-16 19:54:45 +02:00
nick black
1d4c62d446
[input] implement timeouts 2021-09-16 02:03:00 -04:00
nick black
9e9a949f0f
[direct] move to new cursor location reports 2021-09-14 06:13:54 -04:00
nick black
ede5190fb8
redeclare ncdirect_getc() 2021-09-14 05:55:11 -04:00
nick black
1630a1629f
merge that shit 2021-09-14 03:41:46 -04:00
nick black
3cf5a67b84
input thread #2136 2021-09-14 03:34:53 -04:00
nick black
39025dd053
eliminate kitty graphics one-off enum type 2021-09-14 00:29:54 -04:00
nick black
2fbdb50d71
remove deprecated static inlines 2021-09-13 15:34:19 -04:00