Commit Graph

2270 Commits

Author SHA1 Message Date
nick black
ea18be772a don't call egc_rtl() on negative bytes 2020-12-05 00:39:37 -05:00
nick black
0cba073cc9 simplify pool_blit_direct() 2020-12-05 00:39:37 -05:00
nick black
11bbf3c4ff correct endianness for cell_simple_p() 2020-12-05 00:39:37 -05:00
nick black
afbccc5bde big-endian fix for iscntrl() 2020-12-05 00:39:37 -05:00
nick black
429bfac785 apply htole() to blanks in paint() 2020-12-05 00:39:37 -05:00
nick black
1c188508d4 add a 1x1 run to widestomp PoC 2020-12-05 00:39:37 -05:00
nick black
35bd9aaae0
whiteout demo: change timing to allow for analysis 2020-12-04 18:09:52 -05:00
nick black
e5306f6197
widestomp PoC: eliminate color weirdness #1175 2020-12-03 13:09:19 -05:00
nick black
f6a5aebf71
link to ncurses/libunistring in readme 2020-12-03 01:39:09 -05:00
nick black
b38d742358
wcwidth PoC: only print (!) for errors 2020-12-03 01:12:13 -05:00
nick black
6fb5c1e512 Fill out some API holes, improve some comments
- Disambiguate the docs for ncplane_erase()
- Add ncpile_top(), ncpile_bottom()
- Refuse attempts to modify the standard plane's resizecb
- Copy alignment and resizecb in ncplane_dup()
- Add cell_load_egc32()
2020-12-03 01:02:16 -05:00
nick black
fd9e0e6510
Merge branch 'master' of github.com:dankamongmen/notcurses 2020-12-02 19:00:53 -05:00
nick black
744ba8a75c
reels: properly size cbp when drawing bottom border #1082 2020-12-02 19:00:49 -05:00
nick black
2c85142b2a
notcurses_init: don't treat setup_signals as fatal error #1168 2020-12-02 14:11:15 -05:00
nick black
698540286c ncmenu: move unrolled section on resize #1162 2020-12-01 04:34:22 -05:00
nick black
fc609f9d7d ncmenu: resize and redraw callback #1165 2020-12-01 04:34:22 -05:00
nick black
76f2353cb4 lock all accesses to notcurses_resize() #1162 2020-12-01 04:17:39 -05:00
nick black
1b1cc291f6 Resolve segfaults/undefined behavior on resize
Consult the new section of HACKING.md for full details. By
performing the resize check in rasterization, we potentially
have too many (3) different geometries at work once we hit
rasterization. Furthermore, we have some pessimal behavior
regarding rendering into enlarged terminals, since we don't
know the new size at render time. Instead, move it to the top
of ncpile_render(), and guard it with a lock (this was in any
case necessary, since the screen geometry can be
shared/mutated concurrently with render operations).
Closes #1162.
2020-12-01 04:17:39 -05:00
nick black
9b1207dd5f notcurses_rasterize_inner: receive an ncpile #1162 2020-12-01 04:17:39 -05:00
nick black
c6e06eef29 add some comments to rendering 2020-12-01 04:17:39 -05:00
nick black
192c583aad
try forcing LC_CTYPE, C.UTF-8 if not inhibited #1150 2020-11-30 21:44:37 -05:00
nick black
1cfc406496
ffmpeg: error out on avcodec_send_packet error #1156 2020-11-29 13:02:08 -05:00
nick black
067aaa9bbb
ncls: cover up some unused-param warnings 2020-11-29 10:47:32 -05:00
nick black
55694ef966 finish ncls #693 2020-11-29 10:44:04 -05:00
nick black
84dc81fee4 ncls: render images in handle_inode() #693 2020-11-29 10:44:04 -05:00
nick black
5335e69b41 ncls: unify within lsContext #693 2020-11-29 10:44:04 -05:00
nick black
bc8905b30c ncls: handle_deref() #693 2020-11-29 10:44:04 -05:00
nick black
41c7dece64 ncls: recurse into directories, when appropriate #693 2020-11-29 10:44:04 -05:00
nick black
c733f33b81 ncls: add -L argument, skeleton for stat() 2020-11-29 10:44:04 -05:00
nick black
65856c37b4 ncls: more command line parameters 2020-11-29 10:44:04 -05:00
nick black
de3944b114 ncls getopt skeleton #693 2020-11-29 10:44:04 -05:00
nick black
b01113941d
is_egc_wordbreak(): portably initialize mbstate 2020-11-29 08:17:04 -05:00
nick black
4b682585b9
reel: don't assert() in tablet draw callback 2020-11-29 08:00:56 -05:00
nick black
dcde23e74c apply htole() where needed #1130 2020-11-28 23:55:17 -05:00
nick black
4d524f92bc apply htole() in ncpixel_*() #1130 2020-11-28 23:55:17 -05:00
nick black
253b9582b2
index.html: scale down headers by one 2020-11-28 20:46:59 -05:00
nick black
47d5347f01
run mojibake after normal; it looks cool 2020-11-27 21:07:23 -05:00
nick black
2e78ae1c5e
update logo to notcurses II xray #1144 2020-11-27 20:55:38 -05:00
nick black
4655c9dd13
we want builddef.h from visual-details.h 2020-11-27 20:55:38 -05:00
Marek Habersack
c063ce4e36 [C++] API sync
Added:

  * Pile: new class derived from Plane, which implements all the
    `ncpile_*` calls
  * Plane: `get_parent` (`ncplane_parent`)
  * Plane: protected constructor for use by `Pile` (or other derived
    classes which cannot provide a valid `ncplane*` when invoking parent
    constructor.
  * Plane: `set_plane` for use by the derived classes above.

Changed:

  * Plane: `to_ncplane` is a `const` method now.
2020-11-27 19:35:22 -05:00
nick black
6a9029b60c
ncdirect_styles_set: restore italics/struck after sgr #1138 2020-11-27 15:42:14 -05:00
nick black
b7ea4e2359
run sgr-full and sgr-direct in test suite #1138 2020-11-27 15:38:36 -05:00
nick black
f82ad10667
Properly set italics/struck following sgr #1138 2020-11-27 15:29:38 -05:00
nick black
0ed8c0d234
rasterize: set up NCSTYLE_STRUCK with italics #1138 2020-11-27 15:23:21 -05:00
nick black
fd804be520
beef up sgr-full a bit #1138 2020-11-27 15:18:59 -05:00
nick black
fbe383415f
drop confusing sgr PoC 2020-11-27 15:12:52 -05:00
nick black
725ecc9267
32-bit fixes for various diagnostics 2020-11-27 14:50:18 -05:00
nick black
ebc80915a3 c++/rust struck #1138 2020-11-25 20:04:14 -05:00
nick black
f89ca15640 sgr-full PoC: add NCSTYLE_STRUCK #1138 2020-11-25 20:04:14 -05:00
nick black
fe164b6210 add NCSTYLE_STRUCK #1138 2020-11-25 20:04:14 -05:00
nick black
fd97aa844c implement ncpile_{render, rasterize}() 🦀🦀 #1135 2020-11-25 19:19:31 -05:00
nick black
7a21574798 implement notcurses_render() using ncpile_render() #1135 2020-11-25 19:19:31 -05:00
nick black
8f7fa9da44 move postpaint() out of render step #1135 2020-11-25 19:19:31 -05:00
nick black
b2516d8534 Declare ncpile_render() and ncpile_rasterize() #1135 2020-11-25 19:19:31 -05:00
nick black
8c9f8d193a notcurses_version_components(): drop atoi()s #1131 2020-11-24 04:19:47 -05:00
nick black
7c249bf9b9
menu PoC: implement quit item 2020-11-24 03:23:32 -05:00
nick black
a7c7b8ff0b
ncplane_reparent_family: fix up z-axes #1078 2020-11-24 03:15:55 -05:00
nick black
3ce7d36eed
eagle demo: explicitly request NCBLIT_2x2 2020-11-24 02:53:54 -05:00
nick black
a6101d4fa2 ncplane_reparent: extract from z-axis #1078 2020-11-24 02:46:30 -05:00
nick black
43ddfd11c6 notcurses_debug(): warn on mismatched pile #1078 2020-11-24 02:46:30 -05:00
nick black
2f48c08fc4 recursive pilelock #1078 2020-11-24 02:46:30 -05:00
nick black
58e4cf626d ncplane_reparent(): excise children #1078 2020-11-24 02:46:30 -05:00
nick black
2c57ab0aff notcurses_debug: distinguish piles #1078 2020-11-24 02:46:30 -05:00
nick black
9e460ca1c2 ncplane_reparent: promote child planes #1078 2020-11-24 02:46:30 -05:00
nick black
b9f32cf6b5
dup_menu_sections: initialize enabled_item_count for skipped sections 2020-11-24 00:36:44 -05:00
nick black
d662bd334d inline ncplane_cell_ref_yx() 2020-11-23 22:58:05 -05:00
nick black
b6e5b60374 ncpile_create() not NCPLANE_OPTION_NEWPILE #1078 2020-11-23 22:58:05 -05:00
nick black
3ad9a40426 hook up piles #1078 2020-11-23 22:58:05 -05:00
nick black
de082c7ba2 ncpile creation/destruction #1078 2020-11-23 22:58:05 -05:00
nick black
e21eef6b0e implement ncplane_reparent_family() #1078 2020-11-23 22:58:05 -05:00
nick black
9829abf0d0 migrate all direct uses to ncplane_notcurses() 2020-11-21 05:08:55 -05:00
nick black
5215338e00
ncdirect_render_image: reset color within flushed region #1127 2020-11-21 02:44:35 -05:00
nick black
7ee2d98f82
reel PoC: handle resizes 2020-11-18 08:36:59 -05:00
nick black
c0cb5c7ff9
add ncplane_resizecb() #1124 2020-11-18 08:00:02 -05:00
nick black
6084105c68
add ncplane_set_resizecb() #1124 2020-11-18 07:49:22 -05:00
nick black
27732cc7b6
ncmenu: logerror() on failure 2020-11-18 05:39:11 -05:00
nick black
61baabe9a1 eagle, HUD: use default blitter 2020-11-17 23:42:36 -05:00
nick black
f676cd34a8 convert remaining ncplane_new -> ncplane_create #1115 2020-11-17 23:42:36 -05:00
nick black
3e209f3539 eagle, luigi, sliders, outro: ncplane_create #1115 2020-11-17 23:42:36 -05:00
nick black
e8224dfa35 xray: ncplane_new -> ncplane_create #1115 2020-11-17 23:42:36 -05:00
nick black
eef6df8c0a death to horiz #1115 2020-11-17 23:42:36 -05:00
nick black
719ed0658a notcurses-view: ncplane_new -> ncplane_create #1115 2020-11-17 23:42:36 -05:00
nick black
0215f9482b selector PoC: ncplane_new -> ncplane_create #1115 2020-11-17 23:42:36 -05:00
nick black
4a5fb14bc1 multiselector PoC: out with ncplane_new #1115 2020-11-17 23:42:36 -05:00
nick black
b7ad4fb7a6 fill tests: use ncplane_create #1115 2020-11-17 23:42:36 -05:00
nick black
55ac9cc231 convert ncplane_new() to ncplane_create() in blit tests 2020-11-17 23:42:36 -05:00
nick black
a3d9f78612 core: deprecate ncplane_new() #1115 2020-11-17 23:42:36 -05:00
nick black
181afbdeea multistack comments #1078 2020-11-17 23:42:36 -05:00
nick black
c713c4c9ec ncplane_reparent: new stacks #1078 2020-11-17 23:42:36 -05:00
nick black
c9d6809014
view: replay current media on blitter change #1111 2020-11-12 14:40:22 -05:00
nick black
e4907855d2
blitter POC: add 3x2 2020-11-11 03:13:46 -05:00
nick black
fb0beb19b6
ncblit_bgrx() improvements #1105
Add unit tests for ncblit_bgrx. Rewrite bgra_to_rgba() using
ncpixel_*() funtionality. Rewrite ncblit_bgrx() using
ncblit_rgba().
2020-11-11 00:58:42 -05:00
nick black
07cc29634f
ncblit_*(): sanity check linesize parameter 2020-11-07 23:13:02 -05:00
nick black
8a81d06b4b
ncreader: implement reamining shortcuts #983 2020-11-07 05:52:12 -05:00
nick black
1b1d727169
ncreader: support ctrl-a and ctrl-e #983 2020-11-07 05:39:26 -05:00
nick black
67e7046956
ncreader: implement Alt+B for back by word #983 2020-11-07 05:30:28 -05:00
nick black
65a0059b38
plots: fix NCBLIT_3x2 for plotting #1104 2020-11-07 05:13:09 -05:00
nick black
9530ebbb16 notcurses-view: allow arrow keys #603 2020-11-06 11:05:21 -05:00
nick black
61aa96fd8a
eagle: 3x2->2x2 to match cowardly defaults 2020-11-02 16:11:18 -05:00
nick black
20ff1fe73b
ncvisual_stream: erase before each draw for partial transparencies #1093 2020-11-01 12:05:34 -05:00
nick black
79e1a556ae
view: propagate blitter out of stream #1094 2020-11-01 12:02:27 -05:00
nick black
16bffab27a
eagle demo: use NCBLIT_3x2 2020-11-01 00:16:04 -04:00
nick black
5f91990ed1
dragon demo: use NCBLIT_3x2 2020-11-01 00:13:53 -04:00
nick black
8548cdc780
sexblitter: restore transparency #1089 2020-10-31 18:03:01 -04:00
nick black
13a9b38390
demo: strip some explicit NCBLIT_2x2s, use NCBLIT_DEFAULT 2020-10-31 17:15:20 -04:00
nick black
78e5ac670d
default to NCBLIT_3x2, unify NCBLIT_DEFAULT selection #1088 2020-10-31 17:14:51 -04:00
nick black
5613eb6afe
blit.c: remove dead code 2020-10-31 15:59:02 -04:00
Nick Black
a92f5f0c02
Sexblitter, perfected (#1087)
AWWW SHIT HE'S DONE IT AGAIN  exhaustive sex solver #1086
2020-10-30 22:20:49 -04:00
nick black
7ddfaa79a7
sexblitter: swap fg/bg post-lerp 2020-10-29 20:58:15 -04:00
nick black
f9b4993b07 notcurses-demo: implement debug window #1013 2020-10-29 19:06:06 -04:00
nick black
957d15410c notcurses-demo: draw debug window when relevant #1013 2020-10-29 19:06:06 -04:00
nick black
132c08e18c demo: add alt+d 'debug' menu option #1013 2020-10-29 19:06:06 -04:00
nick black
72ef243cb7 sexblitter: properly initialize mindiffbits 2020-10-29 18:15:42 -04:00
nick black
964cdee8f2 ncblit_bgrx: perform byte swap 2020-10-29 18:15:42 -04:00
nick black
73772e3a4b run lowestkey search on lowestcur match 2020-10-29 18:15:42 -04:00
nick black
efe5e40141 kill sexblitter debugging for now 2020-10-29 18:15:42 -04:00
nick black
dbb7348baa sexblitter: properly set foreground 2020-10-29 18:15:42 -04:00
nick black
1a3bf4132e sexblitter: eliminate use of uninitialized lowestcur in collect_mindiffs() 2020-10-29 18:15:42 -04:00
nick black
9a4460981f sexblitter: properly set background 2020-10-29 18:15:42 -04:00
nick black
210991991f blitters: drop bgr switch-hitting, rely on input swap 2020-10-29 18:15:42 -04:00
nick black
167317aecc ncvisual_from_bgra() byte order fix #1084 2020-10-29 18:15:42 -04:00
nick black
26bcc5d4c1 sexblitter: properly set foreground channel 2020-10-29 18:15:42 -04:00
nick black
f089f1e833 pipe rgbas throughout sexblitter 2020-10-29 18:15:42 -04:00
nick black
9328bdce43 sexblitter: parameterize rgbas 2020-10-29 18:15:42 -04:00
nick black
63abad4569 keller: use only meaningful blitters 2020-10-29 18:15:42 -04:00
nick black
09279191bf sexblitter: set both colors, but not yet a full solver #1071 2020-10-29 18:15:42 -04:00
nick black
77733b35d2 keller demo: also cycle warmech 2020-10-29 18:15:42 -04:00
nick black
4effee947a keller demo #736 2020-10-29 18:15:42 -04:00
nick black
4203c2402f notcurses-demo: improve usage() for 25 demos #736 2020-10-29 18:15:42 -04:00
nick black
e3a617f20d demo: add skeleton of (k)eller #736 2020-10-29 18:15:42 -04:00
nick black
7ad0ed2cc2 blitters don't count transparent cells against written count 2020-10-29 18:15:42 -04:00
nick black
21c579633f sexblitter: collect minimum difference as we go 2020-10-29 18:15:42 -04:00
nick black
8f4fa930f1 sexblitter: set full cells 2020-10-29 18:15:42 -04:00
nick black
591d14eff7 sexblitter: calculate 15 absolute differences 2020-10-29 18:15:42 -04:00
nick black
e1ed3e088f braille_blit: closed-form transparency check 2020-10-29 18:15:42 -04:00
nick black
782f6051c5 sexblitter: lerp in partial transparency 2020-10-29 18:15:42 -04:00
nick black
e0af844cf0 fix sex glyphs 2020-10-29 18:15:42 -04:00
nick black
597355ec4f skeleton of strans_check() 2020-10-29 18:15:42 -04:00
nick black
d6e190428e sexblitter: basic load structure #1071 2020-10-29 18:15:42 -04:00
nick black
8b171c215e notcurses-view: accept sexblitter for -b 2020-10-29 18:15:42 -04:00
nick black
8d66938a0e sexblitter: purge NCBLIT_1x1x4, add NCBLIT_3x2 #1071 2020-10-29 18:15:42 -04:00
nick black
e3d6696812
ncvisual_from_bgra: swap r and b bytes #1084 2020-10-28 18:24:40 -04:00
nick black
b245c8191c
notcurses_init(): only warn on unknown options 2020-10-27 14:24:00 -04:00
nick black
c31a78a244
notcurses-view: move to a complex marshal 2020-10-21 02:00:42 -04:00
nick black
55200b09ad sgr-full: add NCSTYLE_BLINK 2020-10-21 01:58:22 -04:00
nick black
78cc483eab propogate 1 out of ncvisual_decode_loop() #1066 2020-10-21 00:47:21 -04:00
nick black
d6ea2b0997 call ncvisual_decode() again in OIIO on loop #1066 2020-10-21 00:47:21 -04:00
nick black
f49e1d8e8c ffmpeg: need call ncvisual_decode() again in loop #1066 2020-10-21 00:47:21 -04:00
nick black
ac60e80923 notcurses-view: add -L for looping #1066 2020-10-21 00:47:21 -04:00
nick black
a4fbcd1b30 implment null ncvisual_decode_loop() 2020-10-21 00:47:21 -04:00