lbm2bin
annotate src/image.h @ 2:a8988e958120
added readme and license
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Sat, 15 Jul 2017 13:31:10 +0300 |
parents | |
children |
rev | line source |
---|---|
nuclear@0 | 1 /* |
nuclear@0 | 2 colcycle - color cycling image viewer |
nuclear@0 | 3 Copyright (C) 2016 John Tsiombikas <nuclear@member.fsf.org> |
nuclear@0 | 4 |
nuclear@0 | 5 This program is free software: you can redistribute it and/or modify |
nuclear@0 | 6 it under the terms of the GNU General Public License as published by |
nuclear@0 | 7 the Free Software Foundation, either version 3 of the License, or |
nuclear@0 | 8 (at your option) any later version. |
nuclear@0 | 9 |
nuclear@0 | 10 This program is distributed in the hope that it will be useful, |
nuclear@0 | 11 but WITHOUT ANY WARRANTY; without even the implied warranty of |
nuclear@0 | 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
nuclear@0 | 13 GNU General Public License for more details. |
nuclear@0 | 14 |
nuclear@0 | 15 You should have received a copy of the GNU General Public License |
nuclear@0 | 16 along with this program. If not, see <http://www.gnu.org/licenses/>. |
nuclear@0 | 17 */ |
nuclear@0 | 18 #ifndef IMAGE_H_ |
nuclear@0 | 19 #define IMAGE_H_ |
nuclear@0 | 20 |
nuclear@0 | 21 enum cycle_mode { |
nuclear@0 | 22 CYCLE_NORMAL = 0, |
nuclear@0 | 23 CYCLE_UNUSED, /* ? */ |
nuclear@0 | 24 CYCLE_REVERSE = 2, |
nuclear@0 | 25 CYCLE_PINGPONG = 3, |
nuclear@0 | 26 CYCLE_SINE_HALF = 4, /* sine -> [0, range/2] */ |
nuclear@0 | 27 CYCLE_SINE = 5 /* sine -> [0, range] */ |
nuclear@0 | 28 }; |
nuclear@0 | 29 |
nuclear@0 | 30 struct color { |
nuclear@0 | 31 unsigned char r, g, b; |
nuclear@0 | 32 }; |
nuclear@0 | 33 |
nuclear@0 | 34 struct colrange { |
nuclear@0 | 35 int low, high; |
nuclear@0 | 36 int cmode; |
nuclear@0 | 37 unsigned int rate; |
nuclear@0 | 38 struct colrange *next; |
nuclear@0 | 39 }; |
nuclear@0 | 40 |
nuclear@0 | 41 struct image { |
nuclear@0 | 42 int width, height; |
nuclear@0 | 43 int bpp; |
nuclear@0 | 44 struct color palette[256]; |
nuclear@0 | 45 struct colrange *range; |
nuclear@0 | 46 int num_ranges; |
nuclear@0 | 47 unsigned char *pixels; |
nuclear@0 | 48 }; |
nuclear@0 | 49 |
nuclear@0 | 50 int gen_test_image(struct image *img); |
nuclear@0 | 51 int load_image(struct image *img, const char *fname); |
nuclear@0 | 52 void destroy_image(struct image *img); |
nuclear@0 | 53 |
nuclear@0 | 54 #endif /* IMAGE_H_ */ |