| 5091 | } |
| 5092 | |
| 5093 | static unsigned addChunk_bKGD(ucvector* out, const LodePNGInfo* info) |
| 5094 | { |
| 5095 | unsigned error = 0; |
| 5096 | ucvector bKGD; |
| 5097 | ucvector_init(&bKGD); |
| 5098 | if(info->color.colortype == LCT_GREY || info->color.colortype == LCT_GREY_ALPHA) |
| 5099 | { |
| 5100 | ucvector_push_back(&bKGD, (unsigned char)(info->background_r / 256)); |
| 5101 | ucvector_push_back(&bKGD, (unsigned char)(info->background_r % 256)); |
| 5102 | } |
| 5103 | else if(info->color.colortype == LCT_RGB || info->color.colortype == LCT_RGBA) |
| 5104 | { |
| 5105 | ucvector_push_back(&bKGD, (unsigned char)(info->background_r / 256)); |
| 5106 | ucvector_push_back(&bKGD, (unsigned char)(info->background_r % 256)); |
| 5107 | ucvector_push_back(&bKGD, (unsigned char)(info->background_g / 256)); |
| 5108 | ucvector_push_back(&bKGD, (unsigned char)(info->background_g % 256)); |
| 5109 | ucvector_push_back(&bKGD, (unsigned char)(info->background_b / 256)); |
| 5110 | ucvector_push_back(&bKGD, (unsigned char)(info->background_b % 256)); |
| 5111 | } |
| 5112 | else if(info->color.colortype == LCT_PALETTE) |
| 5113 | { |
| 5114 | ucvector_push_back(&bKGD, (unsigned char)(info->background_r % 256)); /*palette index*/ |
| 5115 | } |
| 5116 | |
| 5117 | error = addChunk(out, "bKGD", bKGD.data, bKGD.size); |
| 5118 | ucvector_cleanup(&bKGD); |
| 5119 | |
| 5120 | return error; |
| 5121 | } |
| 5122 | |
| 5123 | static unsigned addChunk_tIME(ucvector* out, const LodePNGTime* time) |
| 5124 | { |
no test coverage detected