Commit Graph

4940 Commits

Author SHA1 Message Date
nick black
c87ea7b162
[procroller] preserve cursor #2338 2021-11-11 07:15:34 -05:00
nick black
aae3cda8b3
[mouse] don't send command when mouseproto == 0 #2339 2021-11-11 06:26:30 -05:00
nick black
5ff59ce421
[putstr] take size_t* for sbytes, not int* #2331 2021-11-10 22:43:44 -05:00
nick black
9b4fb10d6a
[windows] use regular u7 for cursor location reports #2284 2021-11-09 18:12:53 -05:00
nick black
c52b240d76
[mice] DECRST the mode we DECSET #2334 2021-11-09 11:44:39 -05:00
nick black
7dd9454fb8
ncvgeom unit tests: another cellpix{yx} implication 2021-11-09 09:14:39 -05:00
nick black
dcede32e5c
[ncvgeom unit tests] expect cellpix{xy} -> cdim{xy} #2332 2021-11-09 09:06:01 -05:00
nick black
60d14ef527
[vizgeom unit tests] cdim{yx} ought always be set #2332 2021-11-09 08:51:15 -05:00
nick black
7cf819a40f
[automaton] fix xtgettcap-based terminal detection 2021-11-09 06:26:33 -05:00
nick black
981a1d06aa
use d=I for kitty SPRIXEL_HIDE to kill cache 2021-11-09 06:13:01 -05:00
nick black
9065975a3c
move synthesized events beyond unicode 2021-11-09 04:16:23 -05:00
nick black
3e201adf38
[debug] fix up format string 2021-11-09 03:41:24 -05:00
nick black
4153e24f8b
[zoo] clean up background 2021-11-09 03:41:10 -05:00
nick black
8dc396c916
[chunli] use centering options 2021-11-09 03:39:00 -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
51e90ca7e9 [hud] use ncmetric for elapsed time 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
332bf71642
excise notcurses_debug() from stacking tests 2021-11-08 18:20:12 -05:00
nick black
204eded6ff correct DECSET/DECRST definitions #2330 2021-11-07 04:05:53 -05:00
nick black
f2a5ae589f
LoadVideoPixelScale -> Stretch 2021-11-07 01:06:26 -04:00
nick black
f4f1d74dd1
[termdesc] use RGB from XTGETTCAP to set capability 2021-11-05 08:48:12 -04: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
3a589e0f26 Cell unit tests: remove obsolete special-casing 2021-11-04 10:08:26 -04:00
nick black
7b48c8b3d3 ncdirect_putstr() is allowed to return 0 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
7123b689ec [direct] more box unit tests 2021-11-04 10:08:26 -04:00
nick black
e44db13837 [direct mode] diagnostics 2021-11-04 10:08:26 -04:00
nick black
ed69204ee4 utf8_egc_len: only augment width once 2021-11-04 10:08:26 -04:00
nick black
435eac59f6 ncdirect: better diagnostics on cursor move errors #1696 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
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
3bdbf6e2e2 [ncdirect_cursor_yx] simplify thanks to modern input system 2021-11-04 07:15:21 -04:00
nick black
cf8dad7a1c [ncdirect_box] work properly when height==2 2021-11-04 03:32:49 -04:00
nick black
28001d5566
[notcurses_refresh] properly flush clear before completing raster #1948 2021-11-03 23:47:48 -04:00
nick black
a9ed0a1092
[ncplayer] leaks on error paths 2021-11-03 23:22:28 -04:00
nick black
41a657f804
[automaton] prefer XTVERSION over TN from XTGETTCAP 2021-11-03 18:42:10 -04:00
nick black
e14b4d5f7c
Direct unit tests: add note about reversed u6 2021-11-03 18:28:06 -04:00
nick black
13cf662a4f
[linux] tighten up identifiers for console 2021-11-02 21:58:36 -04:00
nick black
daa559c01f
[term] only send XTMODKEYS if we confirm no kitty keyboard support #2317 2021-11-02 21:56:43 -04:00
Nick Black
642a9a2aa4 [grid] same color everywhere 2021-11-02 14:41:46 -04:00
Nick Black
9580679298 [linux] don't try to force framebuffer 2021-11-02 14:01:56 -04:00
nick black
130f1f6adb
[EGCcore] be more aggressive about ZWJs 2021-11-02 13:09:01 -04:00
nick black
8d08e14912 [EGCcore] property variation is 0 columns, as is ZWJ #2315 2021-11-02 10:10:15 -05:00
nick black
8872cf73ab [mojibake] fix up 7.0 emoji 2021-11-02 10:08:02 -05:00
nick black
45afc7fc5d [info] add U+1FB6B and U+1FB69 2021-11-02 09:31:48 -05:00
nick black
dfde3a6875
[trans] do final object (logo) twice as long 2021-11-02 00:44:34 -04:00
nick black
c2391f7b88
[yield] resize prior to polyfilling to eliminate scaling costs 2021-11-02 00:39:22 -04:00
nick black
8f9608eb19 eliminate recursion from polyfill #2300 2021-11-01 22:48:32 -05:00
nick black
2ce3c0ef4e [vizgeom] PRIx64 for uint64_t 2021-11-01 22:28:10 -05:00
nick black
479396c625 [shutdown] send XTMODKEYSUNDO if we don't have a kitty keyboard level 2021-11-01 22:28:10 -05:00
nick black
2be84dd3e8
fix up some memory leaks in unit tests 2021-11-01 22:34:04 -04:00
nick black
68f6c02899
[kitty] q=2 with pixel offsets 2021-11-01 22:20:00 -04:00
nick black
252bfec9c4
[visual unit tests] kill unit test memory leaks 2021-11-01 22:18:05 -04:00
nick black
9101ac9139
[nctree] plug leak of currentpath 2021-11-01 22:00:51 -04:00
nick black
c038b7538e [input] make delaybound_to_deadline() inline 2021-11-01 21:57:05 -04:00
Nick Black
6cc65f0bea unit tests: specify uint32_t for vector types 2021-11-01 21:57:05 -04:00
nick black
103b13caf8 [oiio] move to ncvisual_geom() 2021-11-01 21:57:05 -04:00
nick black
6692bf89d0 [visual] don't clear placey/placex for sprixel plane creation #1684 2021-11-01 21:57:05 -04:00
nick black
f9522959cd [qrencode] use ncvisual_geom 2021-11-01 21:57:05 -04:00
nick black
5fe3a30580 get_tty_fd: only print fd on success 2021-11-01 21:57:05 -04:00
nick black
a9fd1542e4 [geom] properly copy alignments through #1684 2021-11-01 21:57:05 -04:00
nick black
3476087dbf [ncvisual_blit] unify plane creation paths #1684 2021-11-01 21:57:05 -04:00
nick black
b8a3016a66 Visual unit tests: cleanup 2021-11-01 21:57:05 -04:00
nick black
d7d8549830 [cellgeom] set rpixy/rpixx properly in presence of scaling 2021-11-01 21:57:05 -04:00
nick black
05d928003d [yield] remove globals, fixes #2300 on this branch 2021-11-01 21:57:05 -04:00
nick black
28a037b6c0 new unit test VisualCellGeometryStretching 2021-11-01 21:57:05 -04:00
nick black
bd4393ff1e new unit test VisualCellGeometryScaling 2021-11-01 21:57:05 -04:00
nick black
d65dd43670 new VisualCellGeometryNoScaling unit test 2021-11-01 21:57:05 -04:00
nick black
1cc597698a [cblit] x/y mixup in geom calculations 2021-11-01 21:57:05 -04:00
nick black
55eec67a23 pull wayward debug from Bitmaps unit test 2021-11-01 21:57:05 -04:00
nick black
6b7cb9134b cblit diagnostic 2021-11-01 21:57:05 -04:00
nick black
81d78be211 [ncvgeom] move cellblit geom calculations into ncvisual_geom_inner() 2021-11-01 21:57:05 -04:00
nick black
ad12fe947e [ncvgeom] close the ncvgeom loop for pixels, disgustingly 2021-11-01 21:57:05 -04:00
nick black
3297bb329c unite pixel new+used plane geom 2021-11-01 21:57:05 -04:00
nick black
0363139593 [ncvgeom] fix bug in unit test 2021-11-01 21:57:05 -04:00
nick black
aed29467c3 [intro] cap orca at 1/2 height, 1/4 width 2021-11-01 21:57:05 -04:00
nick black
5ae6a2152f [ncvgeom] always set pixy/pixx with non-NULL n 2021-11-01 21:57:05 -04:00
nick black
95f4ea32aa [ncvgeom] perform further checks 2021-11-01 21:57:05 -04:00
nick black
2aabc30148 [ncvgeom] kill off ncvisual_blitset_geom 2021-11-01 21:57:05 -04:00
nick black
17b06b1180 [ncvgeom] add begy/begx and leny/lenx to ncvgeom 2021-11-01 21:57:05 -04:00
nick black
5ce1a11bce [core] undo XTMODKEYS coming out of alternate screen 2021-11-01 21:57:05 -04:00
nick black
7f36bdaba0 [ncvisual_geom] always set up extrinsics 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
71cd76d5c2 [intro] full exit on failure 2021-10-31 12:34:31 -04:00
nick black
469fde0545
clarify resize diagnostic #1696 2021-10-28 20:24:50 -04:00
nick black
cf4d657ece
[marginalized resizecb] move to the location solved for by margins #1472 2021-10-28 17:41:28 -04:00
nick black
0eda63daa5 [core] enable ghpa only on kitty for now #2199 2021-10-28 06:42:19 -04:00
nick black
8ee8b0081d [raster] no need to position x for scroll event #2199 2021-10-28 06:42:19 -04:00
nick black
8a827224ba PixelRender unit test: stretch to available geometry 2021-10-28 06:42:19 -04:00