/* * Copyright 2017 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef gm_knowledge_DEFINED #define gm_knowledge_DEFINED #ifdef __cplusplus extern "C" { #endif #include #include /** A structure representing an image. pix should either be nullptr (representing a missing image) or point to a block of memory width*height in size. Each pixel is an un-pre-multiplied RGBA color: void set_color(GMK_ImageData* data, int x, int y, unsigned char r, unsigned char g, unsigned char b, unsigned char a) { data->pix[x + data->width * y] = (r << 0) | (g << 8) | (b << 16) | (a << 24); } */ typedef struct { const uint32_t* pix; int width; int height; } GMK_ImageData; /** Check if the given test image matches the expected results. @param data the image @param gm_name the name of the rendering test that produced the image @return 0 if the test passes, otherwise a positive number representing how badly it failed. */ float GMK_Check(GMK_ImageData data, const char* gm_name); /** Check to see if the given test has expected results. @param gm_name the name of a rendering test. @return true of expected results are known for the given test. */ bool GMK_IsGoodGM(const char* gm_name); #ifdef __cplusplus } #endif #endif // gm_knowledge_DEFINED