diff options
Diffstat (limited to 'wsutil/color.h')
-rw-r--r-- | wsutil/color.h | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/wsutil/color.h b/wsutil/color.h new file mode 100644 index 0000000..794ba05 --- /dev/null +++ b/wsutil/color.h @@ -0,0 +1,57 @@ +/** @file + * + * Definitions for colors + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ +#ifndef __COLOR_H__ +#define __COLOR_H__ + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +#include <inttypes.h> + +/* + * Data structure holding RGB value for a color, 16 bits per channel. + */ +typedef struct { + uint16_t red; + uint16_t green; + uint16_t blue; +} color_t; + +/* + * Convert a color_t to a 24-bit RGB value, reducing each channel to + * 8 bits and combining them. + */ +inline static unsigned int +color_t_to_rgb(const color_t *color) { + return (((color->red >> 8) << 16) + | ((color->green >> 8) << 8) + | (color->blue >> 8)); +} + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif + +/* + * Editor modelines - https://www.wireshark.org/tools/modelines.html + * + * Local variables: + * c-basic-offset: 4 + * tab-width: 8 + * indent-tabs-mode: nil + * End: + * + * vi: set shiftwidth=4 tabstop=8 expandtab: + * :indentSize=4:tabSize=8:noTabs=true: + */ |