Lines Matching refs:image

449 static void get_outline(image_info* image)  in get_outline()  argument
451 int midX = image->width / 2; in get_outline()
452 int midY = image->height / 2; in get_outline()
453 int endX = image->width - 2; in get_outline()
454 int endY = image->height - 2; in get_outline()
457 if (image->width > 4) { in get_outline()
458 find_max_opacity(image->rows, 1, midY, midX, -1, 1, 0, &image->outlineInsetsLeft); in get_outline()
459 find_max_opacity(image->rows, endX, midY, midX, -1, -1, 0, &image->outlineInsetsRight); in get_outline()
461 image->outlineInsetsLeft = 0; in get_outline()
462 image->outlineInsetsRight = 0; in get_outline()
466 if (image->height > 4) { in get_outline()
467 find_max_opacity(image->rows, midX, 1, -1, midY, 0, 1, &image->outlineInsetsTop); in get_outline()
468 find_max_opacity(image->rows, midX, endY, -1, midY, 0, -1, &image->outlineInsetsBottom); in get_outline()
470 image->outlineInsetsTop = 0; in get_outline()
471 image->outlineInsetsBottom = 0; in get_outline()
474 int innerStartX = 1 + image->outlineInsetsLeft; in get_outline()
475 int innerStartY = 1 + image->outlineInsetsTop; in get_outline()
476 int innerEndX = endX - image->outlineInsetsRight; in get_outline()
477 int innerEndY = endY - image->outlineInsetsBottom; in get_outline()
483 image->outlineAlpha = std::max( in get_outline()
484 max_alpha_over_row(image->rows[innerMidY], innerStartX, innerEndX), in get_outline()
485 max_alpha_over_col(image->rows, innerMidX, innerStartY, innerStartY)); in get_outline()
488 find_max_opacity(image->rows, innerStartX, innerStartY, innerMidX, innerMidY, 1, 1, in get_outline()
497 image->outlineRadius = 3.4142f * diagonalInset; in get_outline()
501 image->outlineInsetsLeft, in get_outline()
502 image->outlineInsetsTop, in get_outline()
503 image->outlineInsetsRight, in get_outline()
504 image->outlineInsetsBottom, in get_outline()
505 image->outlineRadius, in get_outline()
506 image->outlineAlpha); in get_outline()
541 static status_t do_9patch(const char* imageName, image_info* image) in do_9patch() argument
543 image->is9Patch = true; in do_9patch()
545 int W = image->width; in do_9patch()
546 int H = image->height; in do_9patch()
551 int32_t* xDivs = image->xDivs = (int32_t*) malloc(maxSizeXDivs); in do_9patch()
552 int32_t* yDivs = image->yDivs = (int32_t*) malloc(maxSizeYDivs); in do_9patch()
565 image->info9Patch.paddingLeft = image->info9Patch.paddingRight = in do_9patch()
566 image->info9Patch.paddingTop = image->info9Patch.paddingBottom = -1; in do_9patch()
568 image->layoutBoundsLeft = image->layoutBoundsRight = in do_9patch()
569 image->layoutBoundsTop = image->layoutBoundsBottom = 0; in do_9patch()
571 png_bytep p = image->rows[0]; in do_9patch()
603 if (get_vertical_ticks(image->rows, 0, H, transparent, true, &yDivs[0], in do_9patch()
611 image->info9Patch.numXDivs = numXDivs; in do_9patch()
612 image->info9Patch.numYDivs = numYDivs; in do_9patch()
615 … if (get_horizontal_ticks(image->rows[H-1], W, transparent, false, &image->info9Patch.paddingLeft, in do_9patch()
616 &image->info9Patch.paddingRight, &errorMsg, NULL, false) != NO_ERROR) { in do_9patch()
617 errorPixel = image->info9Patch.paddingLeft; in do_9patch()
623 … if (get_vertical_ticks(image->rows, (W-1)*4, H, transparent, false, &image->info9Patch.paddingTop, in do_9patch()
624 &image->info9Patch.paddingBottom, &errorMsg, NULL, false) != NO_ERROR) { in do_9patch()
625 errorPixel = image->info9Patch.paddingTop; in do_9patch()
631 get_horizontal_layout_bounds_ticks(image->rows[H-1], W, transparent, false, in do_9patch()
632 &image->layoutBoundsLeft, in do_9patch()
633 &image->layoutBoundsRight, &errorMsg); in do_9patch()
635 get_vertical_layout_bounds_ticks(image->rows, (W-1)*4, H, transparent, false, in do_9patch()
636 &image->layoutBoundsTop, in do_9patch()
637 &image->layoutBoundsBottom, &errorMsg); in do_9patch()
639 image->haveLayoutBounds = image->layoutBoundsLeft != 0 in do_9patch()
640 || image->layoutBoundsRight != 0 in do_9patch()
641 || image->layoutBoundsTop != 0 in do_9patch()
642 || image->layoutBoundsBottom != 0; in do_9patch()
644 if (image->haveLayoutBounds) { in do_9patch()
646 printf("layoutBounds=%d %d %d %d\n", image->layoutBoundsLeft, image->layoutBoundsTop, in do_9patch()
647 image->layoutBoundsRight, image->layoutBoundsBottom); in do_9patch()
652 get_outline(image); in do_9patch()
655 if (image->info9Patch.paddingLeft < 0) { in do_9patch()
656 image->info9Patch.paddingLeft = xDivs[0]; in do_9patch()
657 image->info9Patch.paddingRight = W - 2 - xDivs[1]; in do_9patch()
660 image->info9Patch.paddingRight = W - 2 - image->info9Patch.paddingRight; in do_9patch()
662 if (image->info9Patch.paddingTop < 0) { in do_9patch()
663 image->info9Patch.paddingTop = yDivs[0]; in do_9patch()
664 image->info9Patch.paddingBottom = H - 2 - yDivs[1]; in do_9patch()
667 image->info9Patch.paddingBottom = H - 2 - image->info9Patch.paddingBottom; in do_9patch()
675 image->info9Patch.paddingLeft, image->info9Patch.paddingRight, in do_9patch()
676 image->info9Patch.paddingTop, image->info9Patch.paddingBottom); in do_9patch()
680 image->rows = (png_bytepp)malloc((H-2) * sizeof(png_bytep)); in do_9patch()
682 image->rows[i] = image->allocRows[i+1]; in do_9patch()
683 memmove(image->rows[i], image->rows[i]+4, (W-2)*4); in do_9patch()
685 image->width -= 2; in do_9patch()
686 W = image->width; in do_9patch()
687 image->height -= 2; in do_9patch()
688 H = image->height; in do_9patch()
714 image->info9Patch.numColors = numColors; in do_9patch()
715 image->colors = (uint32_t*)malloc(numColors * sizeof(uint32_t)); in do_9patch()
757 c = get_color(image->rows, left, top, right - 1, bottom - 1); in do_9patch()
758 image->colors[colorIndex++] = c; in do_9patch()
773 printf(" #%08x", image->colors[i]); in do_9patch()