Lines Matching refs:image
397 static bmp_result next_ico_image(ico_collection *ico, ico_image *image) { in next_ico_image() argument
398 bmp_create(&image->bmp, &ico->bitmap_callbacks); in next_ico_image()
399 image->next = ico->first; in next_ico_image()
400 ico->first = image; in next_ico_image()
453 ico_image *image; in ico_header_parse() local
454 image = calloc(1, sizeof(ico_image)); in ico_header_parse()
455 if (!image) in ico_header_parse()
457 result = next_ico_image(ico, image); in ico_header_parse()
460 image->bmp.width = read_uint8(data, 0); in ico_header_parse()
461 if (image->bmp.width == 0) in ico_header_parse()
462 image->bmp.width = 256; in ico_header_parse()
463 image->bmp.height = read_uint8(data, 1); in ico_header_parse()
464 if (image->bmp.height == 0) in ico_header_parse()
465 image->bmp.height = 256; in ico_header_parse()
466 image->bmp.buffer_size = read_uint32(data, 8); in ico_header_parse()
467 image->bmp.bmp_data = ico->ico_data + read_uint32(data, 12); in ico_header_parse()
468 if (image->bmp.bmp_data + image->bmp.buffer_size > in ico_header_parse()
471 image->bmp.ico = true; in ico_header_parse()
475 if (image->bmp.bmp_data - ico->ico_data >= 0 && in ico_header_parse()
476 (uint32_t)(image->bmp.bmp_data - in ico_header_parse()
481 if (image->bmp.buffer_size - ICO_DIR_ENTRY_SIZE >= in ico_header_parse()
485 result = bmp_info_header_parse(&image->bmp, in ico_header_parse()
486 image->bmp.bmp_data); in ico_header_parse()
491 area = image->bmp.width * image->bmp.height; in ico_header_parse()
493 ico->width = image->bmp.width; in ico_header_parse()
494 ico->height = image->bmp.height; in ico_header_parse()
1323 ico_image *image; in ico_find() local
1330 for (image = ico->first; image; image = image->next) { in ico_find()
1331 if ((image->bmp.width == width) && (image->bmp.height == height)) in ico_find()
1332 return &image->bmp; in ico_find()
1333 x = image->bmp.width - width; in ico_find()
1334 y = image->bmp.height - height; in ico_find()
1338 bmp = &image->bmp; in ico_find()
1360 ico_image *image; in ico_finalise() local
1362 for (image = ico->first; image; image = image->next) in ico_finalise()
1363 bmp_finalise(&image->bmp); in ico_finalise()
1365 image = ico->first; in ico_finalise()
1366 ico->first = image->next; in ico_finalise()
1367 free(image); in ico_finalise()