Commit Graph

1582 Commits

Author SHA1 Message Date
nick black
a7d9220f21 cell_load(): recycle when possible #473 2020-04-14 10:07:33 -04:00
nick black
45b821645a Only left sides of wide glyphs are 2 columns
At various places in rendering and rasterizing, we advance two
columns upon encountering a wide glyph. When dealing with a
single plane, this is always correct, because we're always
hitting the first column of the multicolumn glyph. Once multiple
planes are brought into play, though, we can very much hit the
second column of said glyph, in which case we mustn't advance
two columns, but only one. Resolves #474 by way of #475. w00t!
2020-04-14 05:17:16 -04:00
nick black
05cdd1514b pull in PlaneStompsWideGlyph from render.cc 2020-04-14 05:17:16 -04:00
nick black
1c41705d99 flesh out NarrowPlaneAtopWide unit test #475 2020-04-14 05:17:16 -04:00
nick black
295ae0a8d0
extract wide glyph unit tests into their own file #475 2020-04-13 23:12:10 -04:00
nick black
c934c7be49
colons in output 2020-04-13 20:43:09 -04:00
nick black
bd08712a0e
highcon: hoist out loop for great speedup #468 2020-04-13 18:39:25 -04:00
nick black
14184e8dbb
summary: use colons rather than slashes for emit:elide 2020-04-13 18:30:20 -04:00
nick black
6cbca20d0a
add 1.3.0 release to README 2020-04-13 15:10:19 -04:00
nick black
b0fc654444 Check that cell is not wide right in render #362 2020-04-12 07:07:02 -04:00
nick black
b0aa6b9a7f simplify wide handling in putc_yx #362 2020-04-12 07:07:02 -04:00
nick black
e6a80ab98d Strip down OverWide unit test 2020-04-12 07:07:02 -04:00
nick black
d26b111f35 new unit test Ncplane::OverWide #362 2020-04-12 07:07:02 -04:00
nick black
b4cf4f3a0d
CMake: supply -fkeep-inline-functions for notcurses 2020-04-12 02:01:56 -04:00
nick black
86e225dc4c prep for 1.3.0 #460 2020-04-11 22:00:34 -04:00
Marek Habersack
28976dfef2 [C++] Sync API changes
Been a while, but here goes, sync to the latest API changes.

Added:

  * Direct:   cursor_{up,left,right,down} (`ncdirect_cursor_{up,left,right,down}`)
  * Plane: constructors to use `ncplane_bound`
  * Plane: reparent (`ncplane_reparent`)
  * Plot: definition of `default_options`

Changed:

  * Plane (breaking): the `*gradient*` functions now return `int`
  * Plane (breaking): `polyfill` returns `int`
  * Plane (breaking): `stain` returns `int`
  * Plane (breaking): `blit_bgrx` takes `const void*` for `data`
  * Plane (breaking): `blit_rgba` takes `const void*` for `data`
  * Plot: `plot_optons` -> `ncplot_options`
  * Plot (breaking): `{add,set}_sample` now return `bool`
2020-04-11 20:44:25 -04:00
nick black
55195b8ed0 fedora: use python_sitearch, install all python #462 2020-04-11 02:05:44 -04:00
nick black
9c9011c4cd fedora: really fix python #462 2020-04-11 02:02:04 -04:00
nick black
e222f213af
fedora: see if we can't apply the arch fix 2020-04-11 13:53:33 -04:00
nick black
2c4f17bc65
keep a copy of our arch PKGBUILD 2020-04-11 13:48:04 -04:00
nick black
24a9343b0b
prep for 1.2.9 2020-04-11 12:39:54 -04:00
nick black
bd226960d9
fedoraspec: just list header directories 2020-04-11 12:28:43 -04:00
nick black
4a56b7935f
rpmspec: s/srcname/name/g 2020-04-11 12:25:22 -04:00
nick black
5008f3513f
rpmspec: strip quotation marks 2020-04-11 12:24:03 -04:00
nick black
c6494382d9
Fedora specfile: list directories, use wildcards 2020-04-11 12:17:15 -04:00
nick black
8fdf3d393a
Fedora specfile: Incorporate A Iwicki's feedback
Split out the python demo and wrappers into their own package,
python3-notcurses. Make an archful dependency for the devel
package to the main library. Comment up test disabling.
2020-04-11 12:10:44 -04:00
nick black
606cea4897
fedora: add egg-info to spec file #462 2020-04-10 22:56:06 -04:00
nick black
edf1bddea3
fedora: move binaries and S1 man pages to main rpm #467 2020-04-10 22:46:07 -04:00
nick black
16fa94eb59
CMake: install python with USE_PYTHON #462 2020-04-10 22:42:35 -04:00
nick black
33e4341a67 tetris: use background from installed path #466 2020-04-10 18:05:19 -04:00
nick black
69b716f7f8 prep for 1.2.8 2020-04-10 16:19:41 -04:00
Nick Black
516b561d2a cmake: unify header installation #465 2020-04-10 16:00:40 -04:00
nick black
50b82648fc
CMakeLists.txt: note nckeys.h as PUBLIC_HEADER 2020-04-10 14:12:35 -04:00
nick black
9577c4afa0
fedora: add ncpp include files to package 2020-04-10 13:22:36 -04:00
nick black
0ecd69ce26
fedora: fix specfile notcurses-tetris.1.gz path 2020-04-10 13:17:14 -04:00
nick black
9a202b558e
remove colloquy from specfile, README 2020-04-10 13:08:22 -04:00
nick black
3d9d8c0fe1
yank colloquy man page, since it's been extracted 2020-04-10 13:07:39 -04:00
nick black
f9c85442cd
poc sgr: purge unused variable 2020-04-10 13:00:53 -04:00
nick black
1d0e2d6fd6
pocs (selector/multiselec) kill unused label 2020-04-10 13:00:12 -04:00
nick black
1ccfd9b962
menu poc: remove unused variable 2020-04-10 12:58:48 -04:00
nick black
7d80e81a27
geom: remove unused variables 2020-04-10 12:58:04 -04:00
nick black
c4f4e60b88
fedora: fix path for package signature 2020-04-10 12:53:41 -04:00
nick black
4c9a756630
drop notcurses-keyplot from README 2020-04-10 12:45:41 -04:00
nick black
ea7610abee
Merge branch 'master' of github.com:dankamongmen/notcurses 2020-04-10 12:37:16 -04:00
nick black
f28ccce12d
s/direct color/TrueColor/g 2020-04-10 12:37:12 -04:00
nick black
114cb1d680 debian: make notcurses-bin safely binNMUable 2020-04-10 11:27:48 -04:00
nick black
e005940acf
ncplot: fix unit tests following #457 (#464) 2020-04-10 11:22:26 -04:00
nick black
89809d5b59 prep for 1.2.7 2020-04-09 20:21:33 -04:00
David Cantrell
6123b789dd Change notcurses.spec to follow Fedora Packaging Policy
More or less.  Here's a list of things I changed:
* Single line BuildRequires which is more of a convention than a
  requirement.
* Drop make from BuildRequires.  That's one we do actually provide.
* Use pkgconfig(ncurses) to get the ncurses-devel BuildRequires.
* Add a 'devel' subject and move development files there.
* Add a 'static' package for the .a libraries which is common
  for other packages that provide static libraries.
* Add doc files using %doc
* -DUSE_TEST=off -> -DUSE_TESTS=off
* Use %autosetup in %setup which covers adding patches in the future
  for downstream packaging.
* Use path macros in %files
* Correct the date format in the %changelog entry
* Use the 1.2.6 release as an example

Things that could use more consideration:
* The release artifacts don't match what GitHub provides.  Their
  automated download link gives you notcurses-1.2.6.tar.gz but the URL
  calls it v1.2.6.tar.gz.
* There is no signature file uploaded.
* notcurses-tester and notcurses-viewer do not build.
* Should the demo programs go in the main package or devel.  I felt
  devel was more appropriate.
* Should the packaging be further refined to split out the C++ runtime
  and static libraries to separate subpackages?

I did some local test runs using mock.  I ran the SRPM through rpmlint
which would happen when the package is submitted for inclusion.

For the download archive and signature, I create new release posts on
my github projects and create a separate tarball and sign that and
upload them there.  It is separate from the GitHub automated
make-me-a-tarball download link.  That might be what you're planning
on doing.
2020-04-08 21:36:30 -04:00
nick black
be2be9442a
better colors on notcurses-input plot 2020-04-08 21:32:41 -04:00