Commit Graph

46 Commits

Author SHA1 Message Date
15ee2f5f58 colour: add luminance scaling and XYZ/xyY/sRGB conversions 2021-05-12 13:26:52 +10:00
e5e47ffb24 parse: move si and value parsing into common namespace 2019-03-19 12:38:22 +11:00
abb9d4c3aa colour: use view::consume with unsigned types 2019-02-03 11:37:03 +11:00
5fedbdbdfe parse: change parsing functions to modify the data view 2018-12-16 13:26:48 +11:00
f6056153e3 rename root namespace from util to cruft
This places, at long last, the core library code into the same namespace
as the extended library code.
2018-08-05 14:42:02 +10:00
803acc9a87 relicense under MPL-2.0 2018-08-04 15:14:06 +10:00
9bb2bdbaba Merge remote-tracking branch 'origin/master' 2018-01-10 17:19:39 +11:00
d3f434b523 coord: make template parameters more flexible
The coordinate system was unable to support types that prohibited
redim or retype operations. Additionally, the `tags' type used for
providing named data parameters was unwiedly.

We remove much of the dependance on template template parameters in the
defined operations and instead define these in terms of a template
specialisation of is_coord.

The tag types were replaced with direct specialisation of the `store'
struct by the primary type, and passing this type through use of the
CRTP.
2017-11-22 17:03:00 +11:00
34788756d2 build: don't use './' as an include prefix
GCC produces ODR error when including paths of the form './foo' and
'foo' in the same binary. Rather than managing duplication we just
universally pick the absolute form over the relative form.
2017-11-22 16:49:37 +11:00
f0193ee825 colour: instantiate for u16 2017-10-10 16:50:26 +11:00
c0e8a947d0 colour: use numeric_iterator and make_infix for ostream 2017-10-10 16:50:15 +11:00
a59f6ffc69 build: remove explicit constexpr instantiations
GCC7 no longer requires these instantiations, and in fact produces a
warning/error in these cases. So we remove them.
2017-06-08 15:49:25 +10:00
30fa4a378d colour: add html-style colour parsing 2017-05-22 16:20:21 +10:00
353cf839d4 use nested namespace declarations 2017-01-05 15:06:49 +11:00
d2ba672a30 colour: remove static constants 2016-12-12 17:03:36 +11:00
246357e279 random: remove typed randomisers without generators 2016-11-17 18:38:08 +11:00
9a798446b5 build: remove unnecessary includes
discovered with include-what-you-use
2016-10-12 15:08:22 +11:00
94ef217778 colour: add type_name specialisation 2016-08-13 21:03:39 +10:00
c4daffc001 build: add forgotten includes 2016-07-28 13:39:27 +10:00
e17158b0bb build: add forgotten cxx headers
discovered testing clang 3.8 under freebsd
2016-05-12 17:31:33 +10:00
f94f0ec7c9 colour: add istream operator 2016-04-15 12:31:36 +10:00
87482522d7 colour: prefer to avoid stream::numeric for output 2016-04-15 12:31:36 +10:00
809e7b0421 iostream: use consistent ostream format 2016-03-11 13:01:57 +11:00
7f4cf49931 iterator: use infix_iterator for coord ostream 2016-03-11 12:48:19 +11:00
5c72953653 coord: remove inadvertant warning disabling 2015-09-21 15:40:36 +10:00
701e76c381 colour: move json deserialisation into cpp 2015-09-08 14:32:17 +10:00
2658b41ea1 relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
a7f96a127d colour: add hsv/rgb conversions 2015-04-09 21:50:42 +10:00
7307d73bbc colour: add html and x11 string lookup 2015-04-09 20:46:55 +10:00
0d1fb0147e colour: add generic ostream operators 2015-04-09 20:44:54 +10:00
532dc415a4 colour: allow arbitrary colour dimensions 2015-04-09 18:00:40 +10:00
cfc0f8ecd0 json: move tree parsing code to json::tree 2015-02-02 21:26:56 +11:00
ccc21b2ae8 colour: derive from detail::coord 2015-01-13 18:41:51 +11:00
25f21a66e4 colour: rename variables to r,g,b,a
for consistency with coord types
2015-01-13 10:50:12 +11:00
6f23e39459 colour: use floats for values
double is way too much precision for almost every application. we can
always add more templates or other insanity later.
2014-12-16 15:12:44 +11:00
b4dda9b9fa Move ostream operators into global namespace 2013-08-05 16:37:11 +10:00
745568db87 Add red/green/blue static colour definitions 2013-07-30 23:50:37 +10:00
c6106b0f53 Add static WHITE and BLACK colour constants 2012-06-13 14:41:19 +10:00
393d380001 Remove unnecessary scalar product for colour 2012-06-13 14:41:02 +10:00
ed990ba889 Move output operators into target's namespace 2012-04-24 18:12:07 +10:00
77942e008d Change my email to an active domain 2012-04-23 13:10:50 +10:00
45d8cfffbf Rename "to_<type>" functions to "as_<type>"
'to' implies a copy, 'as' implies reinterpret.
2012-04-12 16:08:06 +10:00
b774a6490d Add scalar multiply for colour 2011-10-29 21:17:28 +11:00
d3baffc2e5 Add json extraction operator for colour 2011-10-29 21:17:10 +11:00
2e091079d2 Don't abbreviate the util::range::rand function 2011-10-03 19:20:14 +11:00
ee1439e5fc Add trivial rgba colour class 2011-09-13 15:14:12 +10:00