Commit Graph

674 Commits

Author SHA1 Message Date
nick black
21dca60e7c [logging] use CRLF on windows #2489 2021-12-19 06:44:51 -05:00
nick black
70936ada74
kill redundant function prefix_data() 2021-12-19 03:50:40 -05:00
nick black
094c8c00ca [channels_blend] update unit tests for general blender #2433 2021-12-19 02:27:15 -05:00
nick black
2d7c2eac73 [channels_blend] support fully general blending #2433 2021-12-19 02:27:15 -05:00
nick black
9c3adaaea3
add ncchannel_rgb(), use it in channels_blend() 2021-12-17 03:17:56 -05:00
nick black
7378b34cf3
notcurses_refresh follows notcurses_rasterize()
If we've received a SIGWINCH or a SIGCONT prior to
rasterizing, we want to do a full refresh to sync the
visual area, but do it *after* the primary rasterization.
The latter requires the crender rvec match the geometry
assumed at render time, but notcurses_refresh() can
change that geometry, leading to invalid references into
the rvec at rasterization time. Closes #2471.
2021-12-16 03:21:24 -05:00
nick black
52664e212f crender: change member order for less padding
Our crender struct was being padded up to 48 bytes. Change
the member ordering to get it down to 40 without use of
((packed)) or other alignment-unfriendly methods. Saves
16% of memory devoted to rendering solutions, hopefully
with attendant savings in memory traffic. See #2471.
2021-12-16 02:47:13 -05:00
KristofferC
a3c37932d6 check __MINGW32__ instead of __MINGW64__ 2021-12-13 11:57:55 -05:00
nick black
b075de5da9
[channels_blend] blend palette-indexed colors #2442 2021-12-12 14:24:05 -05:00
nick black
dda7aa9962 [shutdown] only reprogram palette if we touched it #2450 2021-12-10 02:38:17 -05:00
nick black
0d65db84dc [reset_term_palette] use oc only as a last resort #2450 2021-12-10 02:38:17 -05:00
nick black
c8e601e457 no autogrow for standard plane, add autogrow tests #2440 2021-12-08 01:09:15 -05:00
nick black
9190d3bdfa
[signals] use an alternate signal stack #2424 2021-12-05 22:05:03 -05:00
nick black
771f2e1fb6 [ncplane_scrollup_child] need move to physical scroll location #2378 2021-12-01 21:11:01 -05:00
nick black
7a91a2f905 normalize cell initializer names (prefix with NC) 2021-11-30 02:03:09 -05:00
nick black
0b75f06abd add and unit test nccell_rgbequal_p() #1316 2021-11-30 02:03:09 -05:00
nick black
38daf44fb3 [sprite_rebuild] don't change state on a no-op 2021-11-28 18:13:48 -05:00
nick black
0dbb469a27 [sprixels] use cell-pixel geometry from ncpile #1687 2021-11-28 10:36:42 -05:00
nick black
5d547d3678
[stats] account for cell/pixel geometry changes #2384 2021-11-27 15:45:22 -05:00
nick black
1e8e942594 [windows] implement tty_check() with _isatty() 2021-11-26 06:19:07 -05:00
nick black
455ec4eb66
combine path_seperator() functions 2021-11-26 05:54:26 -05:00
nick black
253ab19cf3 [ncneofetch] fix up infoplane placement for bottom of screen #2196 2021-11-25 15:18:04 -05:00
nick black
f963b31d9d [goto_location] don't update logendy/x here 2021-11-25 15:18:04 -05:00
nick black
f88f1b8697 [pool_blit_direct] pass newlines through #2196 2021-11-25 15:18:04 -05:00
nick black
ea1c10dcfd kill trailing whitespace 2021-11-25 15:18:04 -05:00
nick black
493b68d9eb
[rendercore] kill hardcursorpos, just set x/y=-1 2021-11-23 19:26:12 -05:00
nick black
4375f421b8 [notcurses_init] factor out notcurses_early_init() 2021-11-23 19:18:26 -05:00
nick black
367a50a826
[visual_implementation] call through a pointer 2021-11-22 05:05:19 -05:00
nick black
27257328ce [media] unsigned for _blit() 2021-11-21 05:38:52 -05:00
nick black
9989d6732a
[visual_resize] take unsigned rows, cols 2021-11-20 23:55:40 -05:00
nick black
cf9e5b8c8e pull curses.h out of internal.h 2021-11-20 16:24:39 -06:00
nick black
baae0c3d06 track widgets from planes #2342, hook up ncmenu 2021-11-16 22:28:37 -05:00
nick black
f16af55632
ncpile_notcurses() 2021-11-14 14:04:12 -05:00
nick black
c52b240d76
[mice] DECRST the mode we DECSET #2334 2021-11-09 11:44:39 -05:00
nick black
3e201adf38
[debug] fix up format string 2021-11-09 03:41:24 -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
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
204eded6ff correct DECSET/DECRST definitions #2330 2021-11-07 04:05:53 -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
e9470ac4a9 unsigned box and resize 2021-11-04 10:08:26 -04:00
nick black
ad12fe947e [ncvgeom] close the ncvgeom loop for pixels, disgustingly 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
0eda63daa5 [core] enable ghpa only on kitty for now #2199 2021-10-28 06:42:19 -04:00
nick black
086d77c320 [core] remove egc_rtl(), which only seems to cause problems #2128 2021-10-28 06:42:19 -04:00
nick black
a85a9097f9 [render] gratuitous hpa only on plane changes #2199 2021-10-28 06:42:19 -04:00
nick black
2b86835faa [ncplane_erase] call destroy_tam() #2286 2021-10-20 09:31:44 -04:00
nick black
9483278ba1
dump sprixel_auxiliary_vector, save 50% of kitty/fbcon auxvec space 2021-10-20 02:09:53 -04:00