Lines Matching refs:bitmap

29 static size_t get_uncompressed_size(const SkBitmap& bitmap,
31 switch (bitmap.colorType()) {
49 static SkStream* extract_index8_image(const SkBitmap& bitmap,
53 (get_uncompressed_size(bitmap, srcRect)));
57 memcpy(dst, bitmap.getAddr8(srcRect.fLeft, y), rowBytes);
63 static SkStream* extract_argb4444_data(const SkBitmap& bitmap,
76 (get_uncompressed_size(bitmap, srcRect)));
81 uint16_t* src = bitmap.getAddr16(0, y);
118 static SkStream* extract_rgb565_image(const SkBitmap& bitmap,
121 (get_uncompressed_size(bitmap,
125 uint16_t* src = bitmap.getAddr16(0, y);
136 static SkStream* extract_argb8888_data(const SkBitmap& bitmap,
147 (get_uncompressed_size(bitmap, srcRect)));
152 uint32_t* src = bitmap.getAddr32(0, y);
170 static SkStream* extract_a8_alpha(const SkBitmap& bitmap,
180 uint8_t* src = bitmap.getAddr8(0, y);
199 * @param bitmap Bitmap to extract data from.
200 * @param srcRect Region in the bitmap to extract.
210 static SkStream* extract_image_data(const SkBitmap& bitmap,
213 SkColorType colorType = bitmap.colorType();
225 bitmap.lockPixels();
229 stream = extract_index8_image(bitmap, srcRect);
233 stream = extract_argb4444_data(bitmap, srcRect, extractAlpha,
238 stream = extract_rgb565_image(bitmap, srcRect);
242 stream = extract_argb8888_data(bitmap, srcRect, extractAlpha,
249 stream = extract_a8_alpha(bitmap, srcRect,
256 bitmap.unlockPixels();
307 static uint32_t get_argb8888_neighbor_avg_color(const SkBitmap& bitmap,
315 if (y < 0 || y >= bitmap.height()) {
318 uint32_t* src = bitmap.getAddr32(0, y);
320 if (x < 0 || x >= bitmap.width()) {
341 static uint16_t get_argb4444_neighbor_avg_color(const SkBitmap& bitmap,
349 if (y < 0 || y >= bitmap.height()) {
352 uint16_t* src = bitmap.getAddr16(0, y);
354 if (x < 0 || x >= bitmap.width()) {
375 static SkBitmap unpremultiply_bitmap(const SkBitmap& bitmap,
378 outBitmap.allocPixels(bitmap.info().makeWH(srcRect.width(), srcRect.height()));
382 SkAutoLockPixels bitmapPixelLock(bitmap);
383 switch (bitmap.colorType()) {
387 uint16_t* src = bitmap.getAddr16(0, y);
402 *dst = get_argb4444_neighbor_avg_color(bitmap, x, y);
415 uint32_t* src = bitmap.getAddr32(0, y);
419 *dst = get_argb8888_neighbor_avg_color(bitmap, x, y);
439 SkPDFImage* SkPDFImage::CreateImage(const SkBitmap& bitmap,
442 if (bitmap.colorType() == kUnknown_SkColorType) {
448 if (!bitmap.isOpaque()) {
452 // (or transparent) bitmap.
454 extract_image_data(bitmap, srcRect, true, &isTransparent));
461 SkColorType colorType = bitmap.colorType();
464 SkBitmap unpremulBitmap = unpremultiply_bitmap(bitmap, srcRect);
469 image = SkNEW_ARGS(SkPDFImage, (NULL, bitmap, false, srcRect, encoder));
473 SkNEW_ARGS(SkPDFImage, (alphaData.get(), bitmap,
498 const SkBitmap& bitmap,
506 if (bitmap.isImmutable()) {
507 fBitmap = bitmap;
509 bitmap.deepCopyTo(&fBitmap);
581 // constructor, and the bitmap will be regenerated and encoded in
676 * If the bitmap is not subsetted, return its encoded data, if
707 const SkBitmap& bitmap,
710 if (SkIRect::MakeWH(bitmap.width(), bitmap.height()) == subset) {
711 SkAutoTUnref<SkData> encodedData(ref_encoded_data(bitmap));
714 (encodedData, bitmap.width(), bitmap.height()));
717 return SkPDFImage::CreateImage(bitmap, subset, encoder);