Commit Graph

49 Commits

Author SHA1 Message Date
15ee2f5f58 colour: add luminance scaling and XYZ/xyY/sRGB conversions 2021-05-12 13:26:52 +10:00
50b2105df5 build: clang-tidy fixes 2021-04-19 14:52:22 +10:00
92afaf38ec build: avoid double underscore header guards 2021-04-14 15:35:49 +10:00
88f1e8e654 colour: add srgba2f typedef 2020-11-27 16:29:41 +10:00
837b948435 Header cleanup using include-what-you-use 2020-07-01 17:02:44 +10:00
0c199eaf44 colour: add srgba1 and srgba1f convenience typedefs 2020-03-12 12:44:20 +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
d29f2ed235 colour: style 2018-03-06 18:13:39 +11:00
0e3fa05f05 build: migrate from ipp files to pure hpp files
ipp files weren't a great way of keeping things clean, and IDEs have a
little trouble dealing with the split configuration. this simplifies
debugging a great deal.
2018-02-28 11:49:13 +11: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
30fa4a378d colour: add html-style colour parsing 2017-05-22 16:20:21 +10:00
d2ba672a30 colour: remove static constants 2016-12-12 17:03:36 +11:00
70689fd449 colour: correct the component count of colour1u 2016-09-23 13:27:21 +10:00
931dc65727 colour: describe the rationale for overloaded cast operator 2016-08-15 20:56:10 +10:00
94ef217778 colour: add type_name specialisation 2016-08-13 21:03:39 +10:00
116ad04a1f build: use ostream/istream over iostream 2016-08-04 17:42:41 +10:00
f94f0ec7c9 colour: add istream operator 2016-04-15 12:31:36 +10:00
701e76c381 colour: move json deserialisation into cpp 2015-09-08 14:32:17 +10:00
9d5e636a39 colour: add color1 and colour1f typedefs 2015-08-25 17:13:06 +10:00
4ea5896d21 coord: use template typedefs 2015-07-24 01:34:44 +10:00
b43a2284fc colour: add colour4u and colour3u convenience types 2015-06-02 22:59:21 +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
e7fba43935 colour: add hsv field names 2015-04-09 21:50:22 +10:00
7307d73bbc colour: add html and x11 string lookup 2015-04-09 20:46:55 +10:00
ef4475949d colour: specialise the cast function 2015-04-09 20:46:24 +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
5428c93b9a coord: pass client class to coord base
allows common typesafe implementation of cast and redim
2015-04-09 17:47:35 +10:00
e461654de8 coord: split coord header into components 2015-03-06 01:46:01 +11:00
99ba406b4d coord: move base coord class into main namespace 2015-03-06 01:16:14 +11:00
e5d99b3370 coord: use stricter member variable names
use tags for the core coordinate structures to specify what names should
be used for the data variables (in the data union)
2015-03-03 04:11:30 +11:00
60787655b3 json: split json impl files into tree and flat 2015-02-03 00:15:07 +11:00
cfc0f8ecd0 json: move tree parsing code to json::tree 2015-02-02 21:26:56 +11:00
75156cedc3 colour: remove redundant rgba member variables 2015-01-15 14:03:44 +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
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
ee1439e5fc Add trivial rgba colour class 2011-09-13 15:14:12 +10:00