taisei/src/recolor.h
Andrei Alexeyev 513d613387
Consistent indentation: indent with tabs, align with spaces (#104)
I would've preferred to just go with 4-spaces for indent and no tabs,
but lao is a bit conservative about it. :^)

Still, this is a ton better than mixing different styles all over the
place, especially within the same file.
2018-01-12 20:26:07 +02:00

42 lines
870 B
C

/*
* This software is licensed under the terms of the MIT-License
* See COPYING for further information.
* ---
* Copyright (c) 2011-2018, Lukas Weber <laochailan@web.de>.
* Copyright (c) 2012-2018, Andrei Alexeyev <akari@alienslab.net>.
*/
#pragma once
#include "taisei.h"
#include "color.h"
#include "resource/shader.h"
/*
* Utilities for using the recolor shader in rendering code efficiently
*/
typedef struct ColorTransform {
union {
struct {
Color R[2];
Color G[2];
Color B[2];
Color A[2];
};
struct {
Color low;
Color high;
} pairs[4];
};
} ColorTransform;
extern ColorTransform colortransform_identity;
typedef void (*ColorTransformFunc)(Color clr, ColorTransform *out, void *arg);
void recolor_init(void);
void recolor_reinit(void);
Shader* recolor_get_shader(void);
void recolor_apply_transform(ColorTransform *ct);