You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.7 KiB
52 lines
1.7 KiB
/* |
|
* Copyright 2012 Google Inc. |
|
* |
|
* Use of this source code is governed by a BSD-style license that can be |
|
* found in the LICENSE file. |
|
*/ |
|
|
|
#ifndef skdiff_utils_DEFINED |
|
#define skdiff_utils_DEFINED |
|
|
|
#include "skdiff.h" |
|
|
|
class SkBitmap; |
|
class SkData; |
|
class SkString; |
|
|
|
/** Returns true if the two buffers passed in are both non-nullptr, |
|
* have the same length, and contain exactly the same byte values. |
|
*/ |
|
bool are_buffers_equal(SkData* skdata1, SkData* skdata2); |
|
|
|
/** Reads the file at the given path and returns its complete contents as an |
|
* SkData object (or returns nullptr on error). |
|
*/ |
|
sk_sp<SkData> read_file(const char* file_path); |
|
|
|
/** Decodes the fileBits into the resource.fBitmap. Returns false on failure. */ |
|
bool get_bitmap(sk_sp<SkData> fileBits, DiffResource& resource, bool sizeOnly); |
|
|
|
/** Writes the bitmap as a PNG to the path specified. */ |
|
bool write_bitmap(const SkString& path, const SkBitmap& bitmap); |
|
|
|
/** Given an image filename, returns the name of the file containing |
|
* the associated difference image. |
|
*/ |
|
SkString filename_to_diff_filename(const SkString& filename); |
|
|
|
/** Given an image filename, returns the name of the file containing |
|
* the "white" difference image. |
|
*/ |
|
SkString filename_to_white_filename(const SkString& filename); |
|
|
|
/** Calls compute_diff and handles the difference and white diff resources. |
|
* If !outputDir.isEmpty(), writes out difference and white images. |
|
*/ |
|
void create_and_write_diff_image(DiffRecord* drp, |
|
DiffMetricProc dmp, |
|
const int colorThreshold, |
|
const SkString& outputDir, |
|
const SkString& filename); |
|
|
|
#endif
|
|
|