/*
- * Copyright (C) 2010-2012 jeanfi@gmail.com
+ * Copyright (C) 2010-2016 jeanfi@gmail.com
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
#ifndef _PSENSOR_COLOR_H_
#define _PSENSOR_COLOR_H_
-/* Represents a RGB color.
-
- Contains integer and floating RGB representation to avoid useless
-conversion.
-
- Uses color_set to maintain the coherence of the both
- representation.
-*/
+/* Represents a RGB color. */
struct color {
- /* rgb 0..65535 */
- unsigned int red;
- unsigned int green;
- unsigned int blue;
-
/* rgb floating 0..1 */
- double f_red;
- double f_green;
- double f_blue;
+ double red;
+ double green;
+ double blue;
};
-struct color *color_new(unsigned int red,
- unsigned int green, unsigned int blue);
+/** rgb 0..1 */
+struct color *color_new(double r, double g, double b);
struct color *color_dup(struct color *);
-void color_set(struct color *,
- unsigned int red, unsigned int green, unsigned int blue);
+/** rgb 0..1 */
+void color_set(struct color *, double r, double g, double b);
int is_color(const char *str);
-struct color *string_to_color(const char *str);
+struct color *str_to_color(const char *str);
-char *color_to_string(struct color *color);
+char *color_to_str(const struct color *color);
#endif