![]() |
ckb-next
beta-v0.2.8 at branch testing
ckb-next driver for corsair devices
|
#include <ctype.h>#include <math.h>#include <stdio.h>#include <stdlib.h>#include <string.h>
Include dependency graph for ckb-anim.h:Go to the source code of this file.
Data Structures | |
| struct | ckb_key |
| struct | ckb_runctx |
| struct | ckb_gradient |
Macros | |
| #define | M_PI 3.14159265358979323846 |
| #define | TRUE 1 |
| #define | FALSE 0 |
| #define | CKB_DOWN 1 |
| #define | CKB_UP 0 |
| #define | CKB_CONTAINER(macro) do { macro } while(0) |
| #define | CKB_GUID(guid) CKB_CONTAINER( printf("guid "); printurl(guid); printf("\n"); ) |
| #define | CKB_NAME(name) CKB_CONTAINER( printf("name "); printurl(name); printf("\n"); ) |
| #define | CKB_VERSION(version) CKB_CONTAINER( printf("version "); printurl(version); printf("\n"); ) |
| #define | CKB_COPYRIGHT(year, author) CKB_CONTAINER( printf("author "); printurl(author); printf("\nyear %s\n", year); ) |
| #define | CKB_LICENSE(license) CKB_CONTAINER( printf("license "); printurl(license); printf("\n"); ) |
| #define | CKB_DESCRIPTION(description) CKB_CONTAINER( printf("description "); printurl(description); printf("\n"); ) |
| #define | CKB_PARAM(type, name, prefix, postfix, extra) CKB_CONTAINER( printf("param %s %s ", type, name); printurl(prefix); printf(" "); printurl(postfix); printf(" "); extra; printf("\n"); ) |
| #define | CKB_PARAM_LONG(name, prefix, postfix, default, min, max) CKB_PARAM("long", name, prefix, postfix, printf("%ld %ld %ld", (long)(default), (long)(min), (long)(max))) |
| #define | CKB_PARAM_DOUBLE(name, prefix, postfix, default, min, max) CKB_PARAM("double", name, prefix, postfix, printf("%lf %lf %lf", (double)(default), (double)(min), (double)(max))) |
| #define | CKB_PARAM_BOOL(name, text, default) CKB_PARAM("bool", name, text, "", printf((default) ? "1" : "0")) |
| #define | CKB_PARAM_RGB(name, prefix, postfix, r, g, b) CKB_PARAM("rgb", name, prefix, postfix, printf("%02x%02x%02x", (unsigned char)(r), (unsigned char)(g), (unsigned char)(b))) |
| #define | CKB_PARAM_ARGB(name, prefix, postfix, a, r, g, b) CKB_PARAM("argb", name, prefix, postfix, printf("%02x%02x%02x%02x", (unsigned char)(a), (unsigned char)(r), (unsigned char)(g), (unsigned char)(b))) |
| #define | CKB_PARAM_GRADIENT(name, prefix, postfix, default) CKB_PARAM("gradient", name, prefix, postfix, printurl(default)) |
| #define | CKB_PARAM_AGRADIENT(name, prefix, postfix, default) CKB_PARAM("agradient", name, prefix, postfix, printurl(default)) |
| #define | CKB_PARAM_ANGLE(name, prefix, postfix, default) CKB_PARAM("angle", name, prefix, postfix, printf("%ld", (long)(default))) |
| #define | CKB_PARAM_STRING(name, prefix, postfix, default) CKB_PARAM("string", name, prefix, postfix, printurl(default)) |
| #define | CKB_PARAM_LABEL(name, text) CKB_PARAM("label", name, text, "", ) |
| #define | CKB_PRESET_START(name) CKB_CONTAINER( printf("preset "); printurl(name); ) |
| #define | CKB_PRESET_PARAM(name, value) CKB_CONTAINER( printf(" %s=", name); printurl(value); ) |
| #define | CKB_PRESET_END CKB_CONTAINER( printf("\n"); ) |
| #define | CKB_KP_NONE "none" |
| #define | CKB_KP_NAME "name" |
| #define | CKB_KP_POSITION "position" |
| #define | CKB_KPMODE(mode) CKB_CONTAINER( printf("kpmode %s\n", mode); ) |
| #define | CKB_TIME_DURATION "duration" |
| #define | CKB_TIME_ABSOLUTE "absolute" |
| #define | CKB_TIMEMODE(mode) CKB_CONTAINER( printf("time %s\n", mode); ) |
| #define | CKB_REPEAT(enable) CKB_CONTAINER( printf("repeat %s\n", (enable) ? "on" : "off"); ) |
| #define | CKB_PREEMPT(enable) CKB_CONTAINER( printf("preempt %s\n", (enable) ? "on" : "off"); ) |
| #define | CKB_LIVEPARAMS(enable) CKB_CONTAINER( printf("parammode %s\n", (enable) ? "live" : "static"); ) |
| #define | CKB_PARSE_LONG(param_name, value_ptr) if(!strcmp(name, param_name) && sscanf(value, "%ld", value_ptr) == 1) |
| #define | CKB_PARSE_DOUBLE(param_name, value_ptr) if(!strcmp(name, param_name) && sscanf(value, "%lf", value_ptr) == 1) |
| #define | CKB_PARSE_BOOL(param_name, value_ptr) if(!strcmp(name, param_name) && sscanf(value, "%u", value_ptr) == 1) |
| #define | CKB_PARSE_RGB(param_name, r_ptr, g_ptr, b_ptr) if(!strcmp(name, param_name) && sscanf(value, "%2hhx%2hhx%2hhx", r_ptr, g_ptr, b_ptr) == 3) |
| #define | CKB_PARSE_ARGB(param_name, a_ptr, r_ptr, g_ptr, b_ptr) if(!strcmp(name, param_name) && sscanf(value, "%2hhx%2hhx%2hhx%2hhx", a_ptr, r_ptr, g_ptr, b_ptr) == 4) |
| #define | CKB_PARSE_GRADIENT(param_name, gradient_ptr) if(!strcmp(name, param_name) && ckb_scan_grad(value, gradient_ptr, 0)) |
| #define | CKB_PARSE_AGRADIENT(param_name, gradient_ptr) if(!strcmp(name, param_name) && ckb_scan_grad(value, gradient_ptr, 1)) |
| #define | CKB_PARSE_ANGLE(param_name, value_ptr) if(!strcmp(name, param_name) && sscanf(value, "%ld", value_ptr) == 1) |
| #define | CKB_PARSE_STRING(param_name) if(!strcmp(name, param_name)) |
| #define | CKB_REAL_ANGLE(angle) fmod((-(angle) + 90.) * M_PI / 180. + M_PI * 2., M_PI * 2.) |
| #define | CKB_KEYNAME_MAX 12 |
| #define | CKB_KEYCLEAR(context) CKB_CONTAINER( ckb_key* key = context->keys; unsigned count = context->keycount; unsigned i = 0; for(; i < count; i++) key[i].a = key[i].r = key[i].g = key[i].b = 0; ) |
| #define | CKB_GRAD_MAX 100 |
| #define | CKB_MAX_WORD (4 * 1024) |
Functions | |
| int | ckb_scan_grad (const char *string, ckb_gradient *gradient, int alpha) |
| void | ckb_grad_color (float *a, float *r, float *g, float *b, const ckb_gradient *grad, float pos) |
| void | ckb_alpha_blend (ckb_key *key, float a, float r, float g, float b) |
| void | printurl (const char *src) |
| void | urldecode (char *dst, const char *src) |
| void | ckb_getline (char word1[(4 *1024)], char word2[(4 *1024)], char word3[(4 *1024)]) |
| void | ckb_info () |
| void | ckb_init (ckb_runctx *context) |
| void | ckb_parameter (ckb_runctx *, const char *, const char *) |
| void | ckb_keypress (ckb_runctx *, ckb_key *, int, int, int) |
| void | ckb_start (ckb_runctx *, int) |
| void | ckb_time (ckb_runctx *, double) |
| int | ckb_frame (ckb_runctx *) |
| void | ckb_read_params (ckb_runctx *ctx) |
| int | main (int argc, char *argv[]) |
| struct ckb_key |
Definition at line 131 of file ckb-anim.h.
Collaboration diagram for ckb_key:| Data Fields | ||
|---|---|---|
| unsigned char | a | |
| unsigned char | b | |
| unsigned char | g | |
| char | name[12] | |
| unsigned char | r | |
| int | x | |
| int | y | |
| struct ckb_runctx |
Definition at line 138 of file ckb-anim.h.
Collaboration diagram for ckb_runctx:| Data Fields | ||
|---|---|---|
| unsigned | height | |
| unsigned | keycount | |
| ckb_key * | keys | |
| unsigned | width | |
| struct ckb_gradient |
Definition at line 152 of file ckb-anim.h.
Collaboration diagram for ckb_gradient:| Data Fields | ||
|---|---|---|
| unsigned char | a[100] | |
| unsigned char | b[100] | |
| unsigned char | g[100] | |
| int | ptcount | |
| char | pts[100] | |
| unsigned char | r[100] | |
| #define CKB_CONTAINER | ( | macro | ) | do { macro } while(0) |
Definition at line 57 of file ckb-anim.h.
| #define CKB_COPYRIGHT | ( | year, | |
| author | |||
| ) | CKB_CONTAINER( printf("author "); printurl(author); printf("\nyear %s\n", year); ) |
Definition at line 66 of file ckb-anim.h.
| #define CKB_DESCRIPTION | ( | description | ) | CKB_CONTAINER( printf("description "); printurl(description); printf("\n"); ) |
Definition at line 70 of file ckb-anim.h.
| #define CKB_DOWN 1 |
Definition at line 52 of file ckb-anim.h.
| #define CKB_GRAD_MAX 100 |
Definition at line 151 of file ckb-anim.h.
| #define CKB_GUID | ( | guid | ) | CKB_CONTAINER( printf("guid "); printurl(guid); printf("\n"); ) |
Definition at line 60 of file ckb-anim.h.
| #define CKB_KEYCLEAR | ( | context | ) | CKB_CONTAINER( ckb_key* key = context->keys; unsigned count = context->keycount; unsigned i = 0; for(; i < count; i++) key[i].a = key[i].r = key[i].g = key[i].b = 0; ) |
Definition at line 148 of file ckb-anim.h.
| #define CKB_KEYNAME_MAX 12 |
Definition at line 130 of file ckb-anim.h.
Referenced by main().
| #define CKB_KP_NAME "name" |
Definition at line 91 of file ckb-anim.h.
| #define CKB_KP_NONE "none" |
Definition at line 90 of file ckb-anim.h.
| #define CKB_KP_POSITION "position" |
Definition at line 92 of file ckb-anim.h.
| #define CKB_KPMODE | ( | mode | ) | CKB_CONTAINER( printf("kpmode %s\n", mode); ) |
Definition at line 93 of file ckb-anim.h.
| #define CKB_LICENSE | ( | license | ) | CKB_CONTAINER( printf("license "); printurl(license); printf("\n"); ) |
Definition at line 68 of file ckb-anim.h.
| #define CKB_LIVEPARAMS | ( | enable | ) | CKB_CONTAINER( printf("parammode %s\n", (enable) ? "live" : "static"); ) |
Definition at line 104 of file ckb-anim.h.
| #define CKB_MAX_WORD (4 * 1024) |
Definition at line 238 of file ckb-anim.h.
Referenced by ckb_read_params(), and main().
| #define CKB_NAME | ( | name | ) | CKB_CONTAINER( printf("name "); printurl(name); printf("\n"); ) |
Definition at line 62 of file ckb-anim.h.
| #define CKB_PARAM | ( | type, | |
| name, | |||
| prefix, | |||
| postfix, | |||
| extra | |||
| ) | CKB_CONTAINER( printf("param %s %s ", type, name); printurl(prefix); printf(" "); printurl(postfix); printf(" "); extra; printf("\n"); ) |
Definition at line 73 of file ckb-anim.h.
| #define CKB_PARAM_AGRADIENT | ( | name, | |
| prefix, | |||
| postfix, | |||
| default | |||
| ) | CKB_PARAM("agradient", name, prefix, postfix, printurl(default)) |
Definition at line 80 of file ckb-anim.h.
| #define CKB_PARAM_ANGLE | ( | name, | |
| prefix, | |||
| postfix, | |||
| default | |||
| ) | CKB_PARAM("angle", name, prefix, postfix, printf("%ld", (long)(default))) |
Definition at line 81 of file ckb-anim.h.
| #define CKB_PARAM_ARGB | ( | name, | |
| prefix, | |||
| postfix, | |||
| a, | |||
| r, | |||
| g, | |||
| b | |||
| ) | CKB_PARAM("argb", name, prefix, postfix, printf("%02x%02x%02x%02x", (unsigned char)(a), (unsigned char)(r), (unsigned char)(g), (unsigned char)(b))) |
Definition at line 78 of file ckb-anim.h.
| #define CKB_PARAM_BOOL | ( | name, | |
| text, | |||
| default | |||
| ) | CKB_PARAM("bool", name, text, "", printf((default) ? "1" : "0")) |
Definition at line 76 of file ckb-anim.h.
| #define CKB_PARAM_DOUBLE | ( | name, | |
| prefix, | |||
| postfix, | |||
| default, | |||
| min, | |||
| max | |||
| ) | CKB_PARAM("double", name, prefix, postfix, printf("%lf %lf %lf", (double)(default), (double)(min), (double)(max))) |
Definition at line 75 of file ckb-anim.h.
| #define CKB_PARAM_GRADIENT | ( | name, | |
| prefix, | |||
| postfix, | |||
| default | |||
| ) | CKB_PARAM("gradient", name, prefix, postfix, printurl(default)) |
Definition at line 79 of file ckb-anim.h.
| #define CKB_PARAM_LABEL | ( | name, | |
| text | |||
| ) | CKB_PARAM("label", name, text, "", ) |
Definition at line 83 of file ckb-anim.h.
| #define CKB_PARAM_LONG | ( | name, | |
| prefix, | |||
| postfix, | |||
| default, | |||
| min, | |||
| max | |||
| ) | CKB_PARAM("long", name, prefix, postfix, printf("%ld %ld %ld", (long)(default), (long)(min), (long)(max))) |
Definition at line 74 of file ckb-anim.h.
| #define CKB_PARAM_RGB | ( | name, | |
| prefix, | |||
| postfix, | |||
| r, | |||
| g, | |||
| b | |||
| ) | CKB_PARAM("rgb", name, prefix, postfix, printf("%02x%02x%02x", (unsigned char)(r), (unsigned char)(g), (unsigned char)(b))) |
Definition at line 77 of file ckb-anim.h.
| #define CKB_PARAM_STRING | ( | name, | |
| prefix, | |||
| postfix, | |||
| default | |||
| ) | CKB_PARAM("string", name, prefix, postfix, printurl(default)) |
Definition at line 82 of file ckb-anim.h.
| #define CKB_PARSE_AGRADIENT | ( | param_name, | |
| gradient_ptr | |||
| ) | if(!strcmp(name, param_name) && ckb_scan_grad(value, gradient_ptr, 1)) |
Definition at line 121 of file ckb-anim.h.
| #define CKB_PARSE_ANGLE | ( | param_name, | |
| value_ptr | |||
| ) | if(!strcmp(name, param_name) && sscanf(value, "%ld", value_ptr) == 1) |
Definition at line 122 of file ckb-anim.h.
| #define CKB_PARSE_ARGB | ( | param_name, | |
| a_ptr, | |||
| r_ptr, | |||
| g_ptr, | |||
| b_ptr | |||
| ) | if(!strcmp(name, param_name) && sscanf(value, "%2hhx%2hhx%2hhx%2hhx", a_ptr, r_ptr, g_ptr, b_ptr) == 4) |
Definition at line 119 of file ckb-anim.h.
| #define CKB_PARSE_BOOL | ( | param_name, | |
| value_ptr | |||
| ) | if(!strcmp(name, param_name) && sscanf(value, "%u", value_ptr) == 1) |
Definition at line 117 of file ckb-anim.h.
| #define CKB_PARSE_DOUBLE | ( | param_name, | |
| value_ptr | |||
| ) | if(!strcmp(name, param_name) && sscanf(value, "%lf", value_ptr) == 1) |
Definition at line 116 of file ckb-anim.h.
| #define CKB_PARSE_GRADIENT | ( | param_name, | |
| gradient_ptr | |||
| ) | if(!strcmp(name, param_name) && ckb_scan_grad(value, gradient_ptr, 0)) |
Definition at line 120 of file ckb-anim.h.
| #define CKB_PARSE_LONG | ( | param_name, | |
| value_ptr | |||
| ) | if(!strcmp(name, param_name) && sscanf(value, "%ld", value_ptr) == 1) |
Definition at line 115 of file ckb-anim.h.
| #define CKB_PARSE_RGB | ( | param_name, | |
| r_ptr, | |||
| g_ptr, | |||
| b_ptr | |||
| ) | if(!strcmp(name, param_name) && sscanf(value, "%2hhx%2hhx%2hhx", r_ptr, g_ptr, b_ptr) == 3) |
Definition at line 118 of file ckb-anim.h.
| #define CKB_PARSE_STRING | ( | param_name | ) | if(!strcmp(name, param_name)) |
Definition at line 123 of file ckb-anim.h.
| #define CKB_PREEMPT | ( | enable | ) | CKB_CONTAINER( printf("preempt %s\n", (enable) ? "on" : "off"); ) |
Definition at line 102 of file ckb-anim.h.
| #define CKB_PRESET_END CKB_CONTAINER( printf("\n"); ) |
Definition at line 87 of file ckb-anim.h.
| #define CKB_PRESET_PARAM | ( | name, | |
| value | |||
| ) | CKB_CONTAINER( printf(" %s=", name); printurl(value); ) |
Definition at line 86 of file ckb-anim.h.
| #define CKB_PRESET_START | ( | name | ) | CKB_CONTAINER( printf("preset "); printurl(name); ) |
Definition at line 85 of file ckb-anim.h.
Definition at line 127 of file ckb-anim.h.
| #define CKB_REPEAT | ( | enable | ) | CKB_CONTAINER( printf("repeat %s\n", (enable) ? "on" : "off"); ) |
Definition at line 99 of file ckb-anim.h.
| #define CKB_TIME_ABSOLUTE "absolute" |
Definition at line 96 of file ckb-anim.h.
| #define CKB_TIME_DURATION "duration" |
Definition at line 95 of file ckb-anim.h.
| #define CKB_TIMEMODE | ( | mode | ) | CKB_CONTAINER( printf("time %s\n", mode); ) |
Definition at line 97 of file ckb-anim.h.
| #define CKB_UP 0 |
Definition at line 53 of file ckb-anim.h.
| #define CKB_VERSION | ( | version | ) | CKB_CONTAINER( printf("version "); printurl(version); printf("\n"); ) |
Definition at line 64 of file ckb-anim.h.
| #define FALSE 0 |
Definition at line 49 of file ckb-anim.h.
| #define M_PI 3.14159265358979323846 |
Definition at line 42 of file ckb-anim.h.
| #define TRUE 1 |
Definition at line 46 of file ckb-anim.h.
| void ckb_alpha_blend | ( | ckb_key * | key, |
| float | a, | ||
| float | r, | ||
| float | g, | ||
| float | b | ||
| ) |
Definition at line 283 of file ckb-anim.h.
References ckb_key::a, ckb_key::b, ckb_key::g, and ckb_key::r.
| int ckb_frame | ( | ckb_runctx * | ) |
| void ckb_getline | ( | char | word1[(4 *1024)], |
| char | word2[(4 *1024)], | ||
| char | word3[(4 *1024)] | ||
| ) |
Definition at line 239 of file ckb-anim.h.
References urldecode().
Referenced by ckb_read_params(), and main().
Here is the call graph for this function:
Here is the caller graph for this function:| void ckb_grad_color | ( | float * | a, |
| float * | r, | ||
| float * | g, | ||
| float * | b, | ||
| const ckb_gradient * | grad, | ||
| float | pos | ||
| ) |
Definition at line 254 of file ckb-anim.h.
References ckb_gradient::a, ckb_gradient::b, ckb_gradient::g, ckb_gradient::ptcount, ckb_gradient::pts, and ckb_gradient::r.
| void ckb_info | ( | ) |
| void ckb_init | ( | ckb_runctx * | context | ) |
| void ckb_keypress | ( | ckb_runctx * | , |
| ckb_key * | , | ||
| int | , | ||
| int | , | ||
| int | |||
| ) |
| void ckb_parameter | ( | ckb_runctx * | , |
| const char * | , | ||
| const char * | |||
| ) |
| void ckb_read_params | ( | ckb_runctx * | ctx | ) |
Definition at line 349 of file ckb-anim.h.
References ckb_getline(), CKB_MAX_WORD, and ckb_parameter().
Referenced by main().
Here is the call graph for this function:
Here is the caller graph for this function:| int ckb_scan_grad | ( | const char * | string, |
| ckb_gradient * | gradient, | ||
| int | alpha | ||
| ) |
Definition at line 298 of file ckb-anim.h.
References ckb_gradient::a, ckb_gradient::b, ckb_gradient::g, ckb_gradient::ptcount, ckb_gradient::pts, and ckb_gradient::r.
| void ckb_start | ( | ckb_runctx * | , |
| int | |||
| ) |
| void ckb_time | ( | ckb_runctx * | , |
| double | |||
| ) |
| int main | ( | int | argc, |
| char * | argv[] | ||
| ) |
Definition at line 365 of file ckb-anim.h.
References ckb_key::a, ckb_key::b, ckb_frame(), ckb_getline(), ckb_info(), ckb_init(), CKB_KEYNAME_MAX, ckb_keypress(), CKB_MAX_WORD, ckb_read_params(), ckb_start(), ckb_time(), ckb_key::g, ckb_runctx::height, ckb_runctx::keycount, ckb_runctx::keys, ckb_key::name, ckb_key::r, ckb_runctx::width, ckb_key::x, and ckb_key::y.
Here is the call graph for this function:| void printurl | ( | const char * | src | ) |
Definition at line 178 of file ckb-anim.h.
| void urldecode | ( | char * | dst, |
| const char * | src | ||
| ) |
Definition at line 208 of file ckb-anim.h.
Referenced by ckb_getline().
Here is the caller graph for this function: