Commit Graph

4701 Commits (f096064648d86f7ce5c67c2587fd0612fd2caafa)

Author SHA1 Message Date
nick black 2aadd096c0 lookin' good atl 5 years ago
nick black 738c590bfd
fix up outro 5 years ago
nick black be5ce9051d
outro 5 years ago
nick black 957af8151e view-demo: add video element 5 years ago
nick black 94e52d4acc respect default mode in fadein #40 5 years ago
nick black 0e4080456c fade unit tests #40 5 years ago
nick black 966239747c add ncplane_fadein() #40 5 years ago
nick black 4426ef0574 first go at ncplane_fadeout() #40 5 years ago
nick black 055f49b5fd sliding-demo: animate moves #72 5 years ago
nick black 570b42b78b sliders-demo: factor out move_square() #72 5 years ago
Nick Black 9f4fa94209
Use halfblocks to double vertical resolution of media (#98)
halfblocks vertical, w00t #88
5 years ago
nick black 383895e404
notcurses-view: much more accurate timing 5 years ago
nick black b882fe4e40
poll() on write() EAGAIN 5 years ago
nick black 1dc254396b
comment back out debugging cruft 5 years ago
nick black 296663717c
uniblock: erase screen each time 5 years ago
nick black b59d9c633f video works all the way now :D #94 5 years ago
nick black 56e637d006 motherfucking video #94 5 years ago
nick black 19e1b3ac94
widecolor-demo: fix up right bar of handle 5 years ago
nick black 78e1a06661
view-demo: do both a jpeg and png test 5 years ago
Nick Black 8b0634527d
Correctly copy in shrink + SIGWINCH (#80) (#93)
* notcurses_resize(): properly set new lenx/leny #80
* ppoll() for SIGWINCH #80
* widecolor-demo: keystroke-driven
5 years ago
Nick Black 0b967ae528
More panelreels work #52 (#92)
* setup_signals: handle SIGSEGV with restore

* wresize(): fix keep parameter to ncplane_resize() #52

* ncplane_resize: set new lenx/leny on keep #80

* hrmrmm

* ncplane_resize(): fix numerous confusions

* panelreel-demo: don't allow us to go off the left edge

* panelreel: place tablets correctly #52

* panelreel: set background on focused element
5 years ago
Nick Black 426f632300
Panelreels port #52 (#90)
Port of panelreels, unit tests, and panelreel-demo from outcurses #52.
Doesn't completely work yet, but is surprisingly close!
5 years ago
nick black a9f54ed483 add viewdemo #86 5 years ago
nick black 860fb43e3f ncvisual_render(): respect alpha channel 5 years ago
nick black 3ede80f47f libav: keep the alpha channel, AV_PIX_FMT_RGBA 5 years ago
nick black 7600b9ed54 libav: come correct #86 5 years ago
nick black 634c54776f libav: set up oframe beyond scale #86 5 years ago
nick black 3906357e4e that's an image! #86 5 years ago
nick black 28fac736bb notcurses-view: stop() before printing error
implement ncvisual_render()
5 years ago
nick black d106ebf0d3 libav: check for AVERROR_EOF #86 5 years ago
nick black 531340a145 libav: return averr to caller #86 5 years ago
nick black fd79c86880 av: get height/width #86 5 years ago
nick black 40ed1f1896 print_frame_summary(), let's figure out what the fuck we're doing #86 5 years ago
nick black 684d9f66fe egcpool: fix corruption #59 5 years ago
nick black 3b5aee09a9 widechar-demo: spacing 5 years ago
nick black 8e96c2d78e ncplane backgrounds: render and use i nsliding-demo #69 5 years ago
nick black c2f377d599 ncplane_background()/ncplane_set_background() #69 5 years ago
Nick Black a7d50b557d
ncplane_at_cursor (#76), CCCflag, nonblocking stdin (#78) (#84)
* put stdin into nonblocking mode, retry on short write to stdout #78
* wrap getc_blocking() around a poll #78
* get CCCflag from terminfo. stop clearing the screen in render/startup
* implement ncplane_at_cursor() #76
* ncplane_at_cursor() unit test for simples #76
* PlaneAtCursorComplex unit test #76
* PlaneAtCursorInsane() unit test #76
* nplane_at_cursor: return number of bytes, not just 0/-1
* uniblock-demo: add a bunch of pages from Unicode 12
* demo: make -d delay multiplier a float
* egcpool: check offset against poolsize in check_validity()
* notcurses_init(): set smkx/rmkx to NULL with pass_through_esc
* PlaneAtCursorAttrs unit test #76
* add ncplane_styles() accessor
5 years ago
nick black 020f712e40
ncplane_create: NULL out userptr on creation 5 years ago
nick black 9fe6c152a9 enhance SetStyles unit test 5 years ago
nick black 5e35e05151 render: don't send unnecessary color change sequences #47 5 years ago
nick black 4cc0ce037d read terminfo entries for keypad #78 5 years ago
nick black 6a5c21cacd demo: accept -f, open argument for renderfp 5 years ago
nick black b3c6f9232a add renderfp option to render to a file 5 years ago
nick black 8c6d0495ee
input: decode special keys, call notcurses_resize() #79 5 years ago
nick black e391bfbb81
input: add pass_through_esc option, otherwise run smkx #78 5 years ago
nick black cb60c11f09
input: factor out handle_getc(), export cell_simple_p() #8 5 years ago
nick black 51a86ece7b
input: print keypresses #8 5 years ago
nick black c76735cb2a
notcurses_getc(): read from stdin 5 years ago
nick black a037cdfe5a
add new notcurses-input binary #8 5 years ago
nick black ad7a517ec8
notcurses_render(): propagate result of write(2) 5 years ago
Nick Black 7f9ac490b0
ncplane_resize(), slider demo (#64) (#74)
* sliding: bounding box around puzzle
* slider: make moves, deleting planes #61
* implement z-index move functions
* demo: allow demos to be chosen via command-line option
* allow default bg/fg to be explicitly chosen
* ncplane_resize() unit test #64
* useful links
* slider: use random colors
* use find_above() in ncplace_destroy()
* ncplane_resize() work #64
5 years ago
nick black 374403fdeb
sliding: color up pieces 5 years ago
nick black fe14403f9e
ncplane_double_box_cells(), used in sliding-demo #67 5 years ago
nick black ad183a6322
shuffle: color and label pieces #67 5 years ago
nick black e81377cf05 render: slow but simple z-depth algorithm #1 5 years ago
nick black a1c7bef894 sliding: draw into ncplanes #67 5 years ago
nick black 222c532c77 demo: introduce -d delay param, use everywhere 5 years ago
nick black c7cf4b1c9b sliding puzzle demo for planes #26 5 years ago
nick black 0b25c49f9c render: set styles #11 5 years ago
nick black f65d168d83 notcurses_render(): call term_setstyles() for sgr stuff #11 5 years ago
nick black bc662e92bb notcurses_render(): add term_setstyle() #11 5 years ago
nick black 2dde60c27a
ncplane_destroy(): pull it out of the zbuffer #26 5 years ago
nick black 38ef2148bb widecolor: throw a box around summary 5 years ago
nick black d5cc65715e ncplane userptr routines + unit tests #26 5 years ago
nick black bd5596cc15 kill obsolete FIXME 5 years ago
nick black 71a127463a
ncplane_create() 5 years ago
nick black 9a41257669 libavutil/libswscale versions in intro 5 years ago
nick black b1029fc191 av: pass down through libswscale #61 5 years ago
nick black 8dfd050ab7 add ncplane_destroy() #26 5 years ago
nick black 5dfb07183c libav: throw an swscaler in the mix #61 5 years ago
nick black f948904f7b libavutil linkage #61 5 years ago
nick black 45697d54f9 libav: pass AVFrame back through #61 5 years ago
nick black 9ed5a8b6c7 decode AVPacket into AVFrame #61 5 years ago
nick black cf557ff500 ncurses-view #61 5 years ago
nick black 4b2bf26ee2 ncvisual_destroy() implemented 5 years ago
nick black dc6ce9ba90 shrink leading box 5 years ago
nick black 7bc58fe603 consistency check assert in egcpool #59 5 years ago
nick black 2080e0bff3 unit tests for exercised egcpool #59 5 years ago
Nick Black ba648dbd74
What a miserable evening tracking #57 (#60)
* widecolor-demo: don't emit spaces
* notcurses_init: newline before splash
* boxdemo: ncplane_erase() on entry #58
* uniblock-demo: print even wide chars #49
5 years ago
nick black ed6ec5e854
unicodeblocks: disable RtL blocks for now 5 years ago
nick black 164d2e1cc0
notcurses_render(): count multicols against running total #57 5 years ago
nick black ee2e16736c
signal handlers for INT, QUIT, WINCH #27 5 years ago
nick black f14ee490f2
CMake: visibility=hidden by default #56 5 years ago
nick black 360a3f8600
print versions in startup 5 years ago
nick black c4fb15524d
ncurses_render(): fflush stdout following writes #46 5 years ago
nick black a0bb876549 render: if either fg or bg are default, send 'op' first #48 5 years ago
nick black 3bd67740cc ncplane_putstr(): copy attrword and channels directly #48 5 years ago
nick black f514fe234c switch demos to ncplane_rounded_box_cells() 5 years ago
nick black ccb3c137b3 add ncplane_box_sized() and ncplane_rounded_box_cells() 5 years ago
nick black 98d6f12002 visual_open: round out libav loading #35 5 years ago
nick black 3dee9bba7c need avframe 5 years ago
nick black 66432c37e1 libav: extract frame from AVFormatContext 5 years ago
nick black f20e8fde4b add notcurses_image_open() #23 5 years ago
nick black f1e7b4a8e5 demo: properly center wave on front page #50 5 years ago
nick black 02a3b25ae0 get 'smso' capability for STANDOUT 5 years ago
nick black 01550af92b
pass number of columns to advance_cursor() #6 5 years ago
nick black 7aaa0fcce1
track wide char as reported by wcwidth(), add unit test #6 5 years ago
nick black b91d867b29 sleep longer post-block now that we're so fast :) #41 5 years ago
nick black 750518c091 uniblock: only render at end of a block #41 5 years ago
nick black 762689b276 support default colors #31 5 years ago
nick black 37933c6978 uniblock demo: no newline in output #34 5 years ago
nick black 784cbea637 kill obsolete FIXME 5 years ago
nick black d7ab44363c uniblocks: a few more blocks, and a hint of green 5 years ago
nick black 73c9fb7767 unicodeblocks-demo: list blocks we want, with descriptions 5 years ago
nick black c685524229 move wave above text in intro 5 years ago
nick black f91c80b008
unicodeblocks demo: only print chars where wcwidth() == 1 #34 5 years ago
nick black 6b877f89a9
retain stdscr across a resize #28 5 years ago
nick black fb07becc16
griddemo: use double-thick box draws for middle grid 5 years ago
nick black 8f840d8f91
demo: turn on box in intro 5 years ago
nick black 816cde0591
ncplane_box: explicitly move for last row 5 years ago
nick black f67a97edfb
correctly handle ASCII + combining chars, add unit tests #36 5 years ago
nick black 64e998849a
sync widecolor demo stuff to outcurses 5 years ago
nick black 24b3fe7da0 ncplane_box: check dimensions before drawing #37 5 years ago
nick black 190b38dc97 purge widecolor of RtL and LtR direction changes #25 5 years ago
nick black 5220836798 completely reset egcpool in egcpool_dump() 5 years ago
nick black 32a55b2ee3 1 << 24u, not 1 << 23u, stupid 5 years ago
nick black 26c584050c maxcolor demo: get it working 5 years ago
nick black 2f43da2d16 boxdemo: concentric boxes 5 years ago
nick black 5f053ab220 run maxcolor demo 5 years ago
nick black 894f52ce6c enter maxcolor demo 5 years ago
nick black 4a402a9843
only 30 blocks, that's quite enough 5 years ago
nick black 9744ca0d4c egcpool: copy in nonspacing characters of an EGC #32 5 years ago
nick black 095d9035fb notcurses_options: provide retain_cursor bool #29 5 years ago
nick black 8fcb2923fa print our stats after restoring terminal 5 years ago
nick black faa52a22b4 inhibit render printing in media res 5 years ago
nick black 7eb136ae78 render stats #12 5 years ago
nick black e1034c5612 don't need timer just a clock 5 years ago
nick black 49e33bc6ff use civis capability to hide cursor #29 5 years ago
nick black ba495faca9 add timespec utility functions 5 years ago
nick black c89d8134fa launch unicodeblocks demo 5 years ago
nick black 8d7a63b853 print boxfilling chars in first demo 5 years ago
nick black 04d11a3521 reorder a bit of widecolor test 5 years ago
nick black 7fcb9d295c demo: get everything showing up 5 years ago
nick black e6a009ee3a
erase in griddemo #22 5 years ago
nick black a90638aa5c
widecolor_demo: get fg/bg working 5 years ago
nick black 979f6828ed
erase in grid demo 5 years ago
nick black 319e9cc25a
widecolor: don't require a plane 5 years ago
nick black 92b5d23185
widecolor: don't require a plane 5 years ago
nick black 3c3c3335fc
always set styling in cell_duplicate #16 5 years ago
nick black b665592ce1
reenable all demos 5 years ago
nick black 5e61f536e8
gridinverse, gridswitch demos #16 5 years ago
nick black 7173f628ee
griddemo: inverse 5 years ago
nick black 3d5ba40352
grid demo 5 years ago
nick black 414b2694ba boxdemo: inject some color #9 5 years ago
nick black ba08a6142e demo: call boxdemo 5 years ago
nick black 48555507e6 boxdemo 5 years ago
nick black 27e90d9204 cell: implement fg/bgdefault bits 5 years ago
nick black d400c79870 implement ncplane_box() and unit test #9 5 years ago
nick black 2b467c99af implement ncplane_vline() + unit test #9 5 years ago
nick black e050770fde implement ncplane_hline() + unit test 5 years ago
nick black 0c262a3a6d implement ncplane_erase() #9 5 years ago
nick black 8ff52f5ebc
laughable implementation of ncplane_vprintf #9 5 years ago
nick black ca5c37fab9 widepanel: dump content 5 years ago
nick black e5b426eb55 ncplane: don't putc/getc past plane 5 years ago
nick black 586142057f egcpool: don't split egc's across ringbuffer bounds 5 years ago
nick black db842e5305 ncplane: leave cursor at lower right 5 years ago
nick black 1e65adb75a widecolor: adapt to new ncplane_putc() 5 years ago
nick black ad321a9516 demo: adapt to new ncplane_putc() 5 years ago
nick black 2b8993a53d fix up cell_load() #17 5 years ago
nick black 32394dd892 egcpool: preserve incoming EGC on realloc 5 years ago
nick black a997fb2dc0 reenable widecolor demo from outcurses 5 years ago
nick black 52e83dfcc2
Get UTF8 rendering properly #14 5 years ago
Nick Black b93bcebf0b
Extended grapheme clusters (#15)
Introduce egcpool for attached storage
Hook up style support
Switch entirely to UTF-8 char from wchar_t (#14)
Pull out next EGC in cell_load (#14)
5 years ago
nick black 9c9f1f4462
demo: getopt(), allow inhibition of alternate screen with -k 5 years ago
nick black 13931aee60
implement ncplane_getc() #9 5 years ago
nick black f9b88c5079
implement notcurses_palette_size() 5 years ago
nick black a509cb6320
someone set us up the bomb 5 years ago
nick black e4f041f522
start moving to utf-8 from wchar_t #14 5 years ago
nick black 8856f67822
ncplane: background directcolor works 5 years ago
nick black fd04c55d16
implement ncplane_putwstr #9 5 years ago
nick black 2f9821ce39
notcurses: interrogate terminfo for styles 5 years ago
Nick Black 7e92c8bb82
documentation and declarations (#13)
ncplane: flesh out API
ncplane: line and erase APIs
README.md: document differences from ncurses
notcurses_init(): print long term name
CMake: link librt into notcurses
cell: move functionality out to header
5 years ago
nick black a8721df75a
ncplane: flesh out API 5 years ago
nick black f42c3bf0f1
ncurses_render: don't resend unchanged colors 5 years ago
nick black 05f99e16ef
term_fg_rgb8: properly form directrgb escape 5 years ago
nick black f07652f24b don't try to destroy nullptr ncplane in tests 5 years ago
nick black 9a5d893ce7 demo: setlocale(), blit some characters like a boss 5 years ago
nick black b94e428277 ncplane: add ncplane_putwc() 5 years ago
nick black d6aef3d2e6 notcurses_render: blit wchar_t arrays #5 5 years ago
nick black c8d11459ec notcurses_render: set colors naively #5 5 years ago
nick black 691d3d97b8 some ncplane unit tests 5 years ago
nick black a916c66052 introduce z-buffer of ncplanes 5 years ago
nick black d3f9329737 notcurses_options: allow outfd to be specified 5 years ago
nick black 54ed3e108e introduce notcurses_options struct #3 5 years ago
nick black 787c27a812
demo: always reset the terminal on error 5 years ago
nick black 0f6e19dd92
notcurses_setrgb(): plug into direct mode when RGB flag is set 5 years ago
nick black 8fe936ca4c
ftairs! we have discovered ftairs! 5 years ago
nick black 908e9e120c
Don't require smcup/rmcup, and emit them only if supported #3 5 years ago
nick black f88a26f55f
introduce notcurses_render() 5 years ago
nick black 4c01423289
allocate up the plane of cchars 5 years ago
nick black 17bc714c4d
define cell struct 5 years ago
nick black ce42950314
check for RGB terminfo flag, check against colors 5 years ago
nick black f88e211c26
disable ECHO and ICANON 5 years ago
nick black abebd8d18e
preserve and restore termattr via termios 5 years ago
nick black 24da35a93b
load smcap/rmcap and emit them 5 years ago
nick black b6ee41b355
link in tinfo, call setupterm() 5 years ago
nick black 4a406a8d8a
notcurses_init: stash away ttyfd 5 years ago
nick black c1f4219dc1
notcurses_term_dimensions() + unit test 5 years ago
nick black 1fcae27627
just the basics 5 years ago
nick black 70df86ba17
version string, notcurses_version() 5 years ago