12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- /*
- * Copyright 2018 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
- #ifndef skqp_model_DEFINED
- #define skqp_model_DEFINED
- #include <cstdint>
- #include <string>
- #include "include/core/SkBitmap.h"
- #include "tools/skqp/src/skqp.h"
- class SkQPAssetManager;
- class SkStreamAsset;
- namespace skqp {
- /** Prefered colortype for comparing test outcomes. */
- constexpr SkColorType kColorType = kRGBA_8888_SkColorType;
- /** Prefered alphatype for comparing test outcomes. */
- constexpr SkAlphaType kAlphaType = kUnpremul_SkAlphaType;
- /** Where to find the maximum and minimum of the model. */
- constexpr char kMaxPngPath[] = "max.png";
- constexpr char kMinPngPath[] = "min.png";
- struct ModelResult {
- SkBitmap fErrors; // Correct pixels are white, failing pixels scale from black
- // (1 value off) to red (255 off in some channel).
- sk_sp<SkData> fMinPng; // original model data, PNG encoded image.
- sk_sp<SkData> fMaxPng; // original model data, PNG encoded image.
- SkQP::RenderOutcome fOutcome;
- std::string fErrorString; // if non-empty, an error occured.
- };
- SkQP::RenderOutcome Check(const SkPixmap& minImg,
- const SkPixmap& maxImg,
- const SkPixmap& img,
- unsigned tolerance,
- SkBitmap* errorOut);
- /** Check if the given test image matches the expected results.
- @param name the name of the rendering test that produced the image
- @param image the image to be tested. Should be kRGBA_8888_SkColorType
- and kUnpremul_SkAlphaType.
- @param assetManager provides model data files
- */
- ModelResult CheckAgainstModel(const char* name, const SkPixmap& image,
- SkQPAssetManager* assetManager);
- }
- #endif // skqp_model_DEFINED
|