diff options
author | Tavian Barnes <tavianator@tavianator.com> | 2014-08-06 12:40:21 -0400 |
---|---|---|
committer | Tavian Barnes <tavianator@tavianator.com> | 2014-08-06 12:40:21 -0400 |
commit | a30419c2781cbfbb87dd3c8b3c832be471afeeb0 (patch) | |
tree | 781cdc921de3cf3094bd3132e81688001085eedb /options.h | |
parent | b72e0da99ef6c379bb95c637a83496ebd1aa3284 (diff) | |
download | kd-forest-a30419c2781cbfbb87dd3c8b3c832be471afeeb0.tar.xz |
Split out option handling into its own file.
Diffstat (limited to 'options.h')
-rw-r--r-- | options.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/options.h b/options.h new file mode 100644 index 0000000..6f1b2f8 --- /dev/null +++ b/options.h @@ -0,0 +1,45 @@ +/********************************************************************* + * kd-forest * + * Copyright (C) 2014 Tavian Barnes <tavianator@tavianator.com> * + * * + * This program is free software. It comes without any warranty, to * + * the extent permitted by applicable law. You can redistribute it * + * and/or modify it under the terms of the Do What The Fuck You Want * + * To Public License, Version 2, as published by Sam Hocevar. See * + * the COPYING file or http://www.wtfpl.net/ for more details. * + *********************************************************************/ + +#ifndef OPTIONS_H +#define OPTIONS_H + +#include <stdbool.h> +#include <stdio.h> + +// Possible generation modes +typedef enum { + MODE_HUE_SORT, + MODE_RANDOM, +} mode_t; + +// Possible color spaces +typedef enum { + COLOR_SPACE_RGB, + COLOR_SPACE_LAB, + COLOR_SPACE_LUV, +} color_space_t; + +// Command-line options +typedef struct { + unsigned int bit_depth; + mode_t mode; + color_space_t color_space; + bool animate; + const char *filename; + unsigned int seed; + bool help; +} options_t; + +bool parse_options(options_t *options, int argc, char *argv[]); +void print_usage(FILE *file, const char *command); + +#endif // OPTIONS_H |