14 #ifndef __INCLUDED__SCOPIRA_BASEKIT_COLOR_H__ 15 #define __INCLUDED__SCOPIRA_BASEKIT_COLOR_H__ 17 #include <scopira/basekit/narray.h> 18 #include <scopira/tool/export.h> 37 {
return r<<16 | g<<8 | b; }
40 {
return a<<24 | r<<16 | g<<8 | b; }
43 {
return v<<16 | v<<8 | v; }
45 inline int color_alpha(
int packedcol) {
return (packedcol&0xFF0000)>>24; }
47 inline int color_red(
int packedcol) {
return (packedcol&0xFF0000)>>16; }
49 inline int color_green(
int packedcol) {
return (packedcol&0x00FF00)>>8; }
51 inline int color_blue(
int packedcol) {
return (packedcol&0x0000FF); }
54 inline int set_alpha(
int packedcol,
int a) {
return (packedcol&0x00FFFFFF) | (a<<24); }
56 inline int set_red(
int packedcol,
int r) {
return (packedcol&0xFF00FFFF) | (r<<16); }
58 inline int set_green(
int packedcol,
int g) {
return (packedcol&0xFFFF00FF) | (g<<8); }
60 inline int set_blue(
int packedcol,
int b) {
return (packedcol&0xFFFFFF00) | b; }
66 return static_cast<double>(c)/255;
72 SCOPIRA_EXPORT
int color_scale(
int factor,
int packedcol);
75 SCOPIRA_EXPORT
int layer_color(
int basecolor,
int layercolor);
void make_copper_palette(const nslice< int > &pal)
makes a palette
void make_spectra_palette(const nslice< int > &pal)
makes a palette
int color_argb(int a, int r, int g, int b)
converts a ARGB triplet to packed color
Definition: color.h:39
Definition: archiveflow.h:20
int set_red(int packedcol, int r)
sets
Definition: color.h:56
int color_rgb(int r, int g, int b)
converts a RGB triplet to a packed color
Definition: color.h:36
int set_blue(int packedcol, int b)
sets
Definition: color.h:60
void make_rainbow_palette(const nslice< int > &pal)
makes a palette
int clamp_color(int c)
clamps this number between 0 and 255
int color_gray(int v)
expand a single 0..255 to a packed color
Definition: color.h:42
void fill_color_gradient(nslice< int > target, int startpcol, int endpcol)
set a gradient (alpha aware)
void make_green_palette(const nslice< int > &pal)
makes a palette
void make_heat_palette(const nslice< int > &pal)
makes a palette
void make_opus_palette(const nslice< int > &pal)
makes a palette
int color_blue(int packedcol)
extracts blue
Definition: color.h:51
void fill_color_pick(nslice< int > target, int offset=0)
set colors, suitable for picking
void make_bone_palette(const nslice< int > &pal)
makes a palette
int color_to_gray(int c)
convert colour into a 0..255 (mean)
int set_alpha(int packedcol, int a)
sets
Definition: color.h:54
int color_alpha(int packedcol)
extracts alpha
Definition: color.h:45
void make_blue_palette(const nslice< int > &pal)
makes a palette
void make_gray_palette(const nslice< int > &pal)
makes a palette
int color_scale(int factor, int packedcol)
sclaes a color. factor is 1000 for no change (alpha aware)
int color_green(int packedcol)
extracts gree
Definition: color.h:49
void make_pick_palette(const nslice< int > &pal)
makes a palette
void make_red_palette(const nslice< int > &pal)
makes a palette
void make_bluered_palette(const nslice< int > &pal)
makes a palette
int color_red(int packedcol)
extracts red
Definition: color.h:47
double color_to_double(int c)
convert a colour to doulbe (0..1)... basically, c/255
Definition: color.h:65
int layer_color(int basecolor, int layercolor)
layers a colour (alpha aware)
int set_green(int packedcol, int g)
sets
Definition: color.h:58