From 8ceab6f08fbcf50c85c237fa82967b7b7099c3b2 Mon Sep 17 00:00:00 2001 From: Dustin Long Date: Wed, 21 Jul 2021 22:11:13 -0400 Subject: [PATCH] Add the 'quick' colorset to the docs --- README.md | 10 +++++++++- asset/quick-colorset.png | Bin 0 -> 19227 bytes docs.md | 7 +++++++ 3 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 asset/quick-colorset.png diff --git a/README.md b/README.md index 0c65aab..89ffe58 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,7 @@ ra.setZoom(8); ## Drawing pixels -Clearing the display can be done using the `fillBackground` method. Raster.js uses a limited color palette, just like many retro computer systems, limited to at most 256 colors. The default palette can be found in the "colors" section. Functions that require a color parameter, such as `fillBackground`, therefore only require a single numerical parameter, which uses that color from the palette. +Clearing the display can be done using the `fillBackground` method. Raster.js uses a limited color palette, just like many retro computer systems, limited to at most 256 colors. The default palette can be found in the "colors" section below. Functions that require a color parameter, such as `fillBackground`, therefore only require a single numerical parameter, which uses that color from the palette. ``` ra.fillBackground(12); @@ -155,6 +155,14 @@ Change the zoom level. Use a specific colorSet. See `useColors` in the docs for supported colorSets. +# Colors + +The current default colorset for raster.js is the "quick" palette, shown here: + +![](asset/quick-colorset.png) + +This is likely to change in a future version. Users should either add `ra.useColors('quick')` to their code, or be prepared to update the colors they use once this change happens. + # API See [the docs](docs.md) for the full documentation of the methods avaiable in raster.js. diff --git a/asset/quick-colorset.png b/asset/quick-colorset.png new file mode 100644 index 0000000000000000000000000000000000000000..b736d26a9a6358299bc5479b409b0ba715699485 GIT binary patch literal 19227 zcmaI7Wl&{7v!=UocXw^v8+UhicZbFrcXy|8ci6bY#+}9;8h3XZx7**DxDzvH=H4F_ zl~GYES5>{w%B+YL8KtZ!g#?ce4*&p=WTeGa0RS-J|1?4K_c{uG_TO9W%-p<-ozCRf-hcdkfw-P=+JAde@cW3VtK;(ifN=EvLU=Xz>+TVx z+$>X*5}!;X zpCO#y&k#AG9uh&pk${h#n_KbEH=#wmPyOlhuj6X(X@AWXGfS!aiQ+5E&ZqU8f&R3J zH?vHmurKN!rYEg^t(Hwi`JRjB5TgZ-&tY4rJe%M2?>f%sUw>0Vzq;_f z>|+}Xi4T{EK5LV(=!UXwD#)Hop}gVEnIBL0WmUd+E?tX!Ta&jG0WTBpZ2|9Gy^}m@ zdI$C&tMqvj6LnsQI*PsbbWn$0e;7BB{J*?2xBYKP^sx}iI;T>h-1+j_aDV%~YPP#0 zcQM@_V~9@wdhmv5jhs>Bk44b#v+UZou!?ya=6P%|EtpPuL;dIjXZqIbDNQ0awuNcb zEts88d)2c{o!{Mq#AyZTuEz8W-`pj?tnN|D%fz}&`esziM_?R|> zPzKHngq;19nMl%O!^7AiPDrC8-oaxx@HC`UD-yT!fOmU#2FIsHKkd{@hr{~UUw<69 zWXMN&gcfltIc@*z`=^^oL`tUi`%CO4x3f~2Rk85RM<84QS z`Z~>0pCmzDk)24�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