Commit Graph

492 Commits (6a19d31bd972877a5fbf5d945c162af794a0bf68)

Author SHA1 Message Date
nick black 18d79c195d
python: get us linking once more... 4 years ago
nick black f9eed1c412 palette_size is unsigned #891 4 years ago
nick black 16ff667325 blissful endianness-opacity
not caring about endianness is the opiate of the masses.
happy, happy masses. remove endianness.h and all its baleful
influence by explicitly breaking up the cell structure. #892
4 years ago
nick black 7811663223 inlined EGCs + styling unit tests #830 4 years ago
nick black 3b76db1166 fuck the bullshit it's time to throw down 4 years ago
nick black 40e85c4143 rotate: use cell_extended_gcluster() #830 4 years ago
nick black 3f142961b3 comments 4 years ago
nick black 226c00c74d egcelide: detect endianness, define NCSTYLE_* accordingly 4 years ago
nick black fb8efe03e0 cell_strdup(): fix for inline egcs 4 years ago
nick black b0f7f36995 egc inlining #830 4 years ago
nick black 26899f3544
s/8 bit/8-bit/g 4 years ago
José Luis Cruz e596f9230f fix ncpixel alpha mask 4 years ago
nick black 52103af364
Cell: overlap RGB and palette indices #884 4 years ago
Nick Black c3508d524b
ncplane_puttext() work for longer lines (#880)
* The zoo demo made manifest that we had some serious problems handling sequences of longer lines in ncplane_puttext(). This remedies most of the problems, though it's not yet perfect. #871
* Guard notcurses* for NULL in log*() #878 #879
* Fix memory leak in ncdirect_dump_plane()
4 years ago
Nick Black e7ad2829e9
Merge branch 'master' into joseluis-patch-1 4 years ago
joseLuís 7070e532d6 fix typos 4 years ago
joseLuís 7abda11404 add comments for ncpixel functions 4 years ago
José Luis Cruz 7bd29c9c17
fix return types
I bet those two return types shoud be unsigned
4 years ago
joseLuís 7790913d2f fix typos & improve comments 4 years ago
Nick Black 11d6a4eb89
New reel layout algorithm #818 (#870)
New reel layout algorithm based on trimming and sifting. Fixes the original issue of #818, though I'm not marking that bug fixed until I've resolved the little issues remaining with this one.
Back off CMake version dependency, see if we can get by with 3.11.4 for EPEL8 #851
Simplify tablet drawing tremendously by separating tablet border and data planes. Callbacks no longer need worry about the borders; they can simply fill the plane they're handed. #833
Improve notcurses_debug() a bit
Add ncplane_new_named() and friends to expose plane naming to the user.
Add internal ncplane_genocide() to kill a plane and all its bound descendents
New industrial-strength ncreel unit testing
notcurses-ncreel now accepts -ln for log level n
Add ncplane_parent() and ncplane_parent_const()
4 years ago
joseLuís 2842ffb751 add remaining channel functions 4 years ago
nick black 3bb95824fc update some terminology 4 years ago
nick black 9ae3fe4728 update some terminology 4 years ago
nick black 4c822f80a9
comment and move ncpixel API 4 years ago
José Luis Cruz 7aef3e4fca fix typo
foreground > background
4 years ago
nick black c618096083
ncselector_redraw(): don't call notcurses_render() #627 4 years ago
nick black ead60d06cc
unexport cell_egc_idx() 4 years ago
Marek Habersack 2fabe85e6a [C++] API sync
Been a while, apologies :)

Added:
  * Direct: fg_palindex (`ncdirect_fg_palindex`)
  * Direct: bg_palindex (`ncdirect_bg_palindex`)
  * Direct: get_palette_size (`ncdirect_palette_size`)
  * Direct: putstr (`ncdirect_putstr`)
  * Direct: hline_interp (`ncdirect_hline_interp`)
  * Direct: vline_interp (`ncdirect_vline_interp`)
  * Direct: box (`ncdirect_box`)
  * Direct: rounded_box (`ncdirect_rounded_box`)
  * Direct: double_box (`ncdirect_double_box`)
  * Direct: canopen_images (`ncdirect_canopen_images`)
  * Direct: canutf8 (`ncdirect_canutf8`)
  * Menu: get_mouse_selected (`ncmenu_mouse_selected`)
  * NotCurses: version_components (`notcurses_version_components`)
  * NotCurses: str_blitter (`notcurses_str_blitter`)
  * NotCurses: str_scalemode (`notcurses_str_scalemode`)
  * NotCurses: lex_margins (`notcurses_lex_margins`)
  * NotCurses: lex_blitter (`notcurses_lex_blitter`)
  * NotCurses: lex_scalemode (`notcurses_lex_scalemode`)
  * NotCurses: render_to_file (`notcurses_render_to_file`)
  * Plane: putstr_stainable (`ncplane_putstr_stainable`)
  * Plane: printf_stainable (`ncplane_printf_stainable`)
  * Plane: vprintf_stainable (`ncplane_vprintf_stainable`)
  * Reel: offer_input (`ncreel_offer_input`)

Changed:
  * Direct: set_fg_alpha uses `unsigned alpha`
  * Direct: set_bg_alpha uses `unsigned alpha`
  * Plane: set_fg_alpha uses `unsigned alpha`
  * Plane: set_bg_alpha uses `unsigned alpha`
  * Root: made `error_guard` and `error_guard_cond` static
4 years ago
nick black 835a62361d
cell_nobackground_p(): load time, 5% perf win =] =] =] #838 4 years ago
nick black 2dcab374c4 mojibake: fix some row overruns #842 4 years ago
nick black 78a7b4d255 constify ncreader_options->egc 4 years ago
nick black b8e6458de1
Revert "start working through notcurses.h with inlined utf8 #830"
This reverts commit 17b6706d3e. It
belonged on a branch, and was not intended for master. #830
4 years ago
nick black 17b6706d3e
start working through notcurses.h with inlined utf8 #830 4 years ago
nick black 7174a84e94 zoo: add multiselector 4 years ago
nick black bac02bccd0
selector/multiselect: kill itemcount options field #831 4 years ago
nick black 17e8f62eb9
cell_no{fore/back}ground() was never intended for export 4 years ago
nick black 6ea968c522 declare ncmenu_mouse_selected() #819 4 years ago
nick black 97571e86af ncplane_putegc_yx() copies directly as opposed to going through putc() #797 4 years ago
nick black 104bbfef50
add notcurses_lex_blitter() 4 years ago
nick black 765ff89a3b
notcurses_str_blitter(): rewrite using objects 4 years ago
nick black 37ceb753bf
notcurses-view: print blitter name #805 4 years ago
Nick Black dbc83c41b3
linuxconsole PoC (#791)
* use ioctl(KDGETMODE) to detect Linux console
* diagnostic on KDGETMODE
* add logdebug()
* unit test for notcurses_drop_planes(), add ncplane_putnstr_aligned()
* linuxconsole PoC
* linuxconsole: dump unicode->font table
* linuxconsole: explode glyphs
* linuxconsole: show 7 glyphs per 'line'
* linuxconjammer: shim console font with half blocks
* signals: handler for SIGTERM
* man pages: update notcurses_init() for options
* add NCOPTION_NO_FONT_CHANGES #201
4 years ago
nick black 5cf912feb6
ncplane_printf_stainable() and _vfprintf_stainable() #754 4 years ago
nick black 4a97c139e6
add ncplane_putstr_stainable() #754 4 years ago
nick black a6b002fa77 add ncdirect box-drawing functions #753 4 years ago
nick black 96c6dc8e16 add ncdirect_canopen_images() and ncdirect_canutf8() #753 4 years ago
nick black c783244185 ncdirect_hline_interp(), ncdirect_vline_interp(), dirlines PoC #753 4 years ago
nick black 750f88b70a split direct into its own header 4 years ago
nick black 3ef1a3a07d
add notcurses_version_components() 4 years ago
Nick Black 162f9910c2
Tons of work on ncreel (#776)
Tons of work on ncreel (#627, #749, #694)
Improve reel demo: get input wired up once more, avoid the FPS demo at bottom, print pointer and line count in each tablet, use new ncreel API. Improve notcurses-ncreel explorer: kill memory leaks (#694), draw tablets better, use new ncreel API. Fix bug in ncreel core where cruft could be left on the screen, via a very gross brute force algorithm. I'll likely come back and make this a bit less ghastly in the future #749. Remove weird one-off input system from ncreel, residue from outcurses. Make some of the normalizing changes speced out in #627

* ncreel: give each tablet an index, and print it #749
* reel: eliminate FIXME + param to insert_tabler() #749
* ncreel: label tablets with their adress to correlate against debugging logs #749
* more terminal environment variable notes
* TERMS.md: add Sakura, st
* ncreel: move legend out of reel proper
* ncreel_options: dump min/max_supported_rows/cols #627
* ncreel: remove weird one-off input layer #627
* ncreel: add ncreel_offer_input()
* reel demo: call demo_getc()
* reel demo: rig up input to demo main
* ncreel: drop ncreel_del_focused(), properly bind tablets
* reel demo: don't free up necessary plane
* ncreel: don't pull absolute locations of tablets
* ncreel: place tablets correctly in boundrel
* reel demo: add back support for left/right
* reel demo: restore thread movement
* ncreel: remove a great deal of complexity
* reel demo: stay out of FPS graph's way
* ncreel: give each tablet an index, and print it #749
* reel: eliminate FIXME + param to insert_tabler() #749
* ncreel: label tablets with their adress to correlate against debugging logs #749
* ncreel: move legend out of reel proper
* ncreel_options: dump min/max_supported_rows/cols #627
* ncreel: remove weird one-off input layer #627
* ncreel: add ncreel_offer_input()
* reel demo: call demo_getc()
* reel demo: rig up input to demo main
* ncreel: drop ncreel_del_focused(), properly bind tablets
* reel demo: don't free up necessary plane
* ncreel: don't pull absolute locations of tablets
* ncreel: place tablets correctly in boundrel
* reel demo: add back support for left/right
* reel demo: restore thread movement
* ncreel: remove a great deal of complexity
* reel demo: stay out of FPS graph's way
* reel: tighten up reel following redraw
* reel: fix upper-left corner of topless perimeter
* ncreel: print linecount, return clipped value
* reel: draw focused tablet relative to reel
* reel: brute force decruftification, how embarrassing #749
4 years ago