Exemple #1
0
static int create_color(int i, int scale) {
    int r = scale_color(i, 1, scale);
    int g = scale_color(i, 2, scale);
    int b = scale_color(i, 3, scale);
    int rgb = 16 + scale * scale * r + scale * g + b;

    /* In the case of white and black we need to use the ANSI colors */
    if (r == g && g == b) {
        if (b == 0) rgb = 0;
        if (b == scale) rgb = 15;
    }

    return rgb;
}
Exemple #2
0
void Scene::create_colorscale() {
  const ColorScale &scale = colorScales[scaleMethod];
  for (int i=0; i<MAPCLRS; i++) {
    float *rcol = colorData + 3*(BEGMAP + i);
    float relpos = float(i) / float(MAPCLRS -1);
    scale_color(scale.min, scale.mid, scale.max, scaleMid, relpos, scaleMin, 
        rcol);
  }
  root.color_scale_changed();
}
Exemple #3
0
static
void breather_panels(struct render_args* args) {
	int i;
	double rate = args->effect->argument ? args->effect->argument : 1.0;
	double c = (sin((args->framenum / rate) * M_2_PI) / 2.0) + 0.5;

	for (i = 0; i < args->framelen; i += 3) {
		char* pixel = &args->framebuf[i];
		union color color = args->effect->color_arg.colors[i / 3];
		union color scaled = {
			.rgb = {
				.red   = scale_color(color.rgb.red,   c, 0),
				.green = scale_color(color.rgb.green, c, 0),
				.blue  = scale_color(color.rgb.blue,  c, 0),
			}
		};

		pixel[0] = scaled.rgb.red;
		pixel[1] = scaled.rgb.green;
		pixel[2] = scaled.rgb.blue;
	}
}
Exemple #4
0
static
void breather_treads(struct render_args* args) {
	int i;
	int num_pixels = args->framelen/3;
	union color color = args->effect->color_arg.color;
	double rate = args->effect->argument ? args->effect->argument : 1.0;
	double c = (sin((args->framenum / rate) * M_2_PI) / 2.0) + 0.5;
	union color scaled = {
		.rgb = {
			.red   = scale_color(color.rgb.red,   c, 1),
			.green = scale_color(color.rgb.green, c, 1),
			.blue  = scale_color(color.rgb.blue,  c, 1),
		}
	};

	for (i = 0; i < num_pixels; i++) {
		char* pixel = &args->framebuf[i*3];
		pixel[0] = 0x80 | scaled.rgb.green;
		pixel[1] = 0x80 | scaled.rgb.red;
		pixel[2] = 0x80 | scaled.rgb.blue;
	}
}