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