#ifndef SkTypes_DEFINED
#define SkTypes_DEFINED
#include "include/private/base/SkFeatures.h"
#include "include/private/base/SkLoadUserConfig.h"
#include "include/private/base/SkAPI.h"
#include "include/private/base/SkAssert.h"
#include "include/private/base/SkAttributes.h"
#include "include/private/base/SkDebug.h"
#include <climits>
#include <cstdint>
#if !defined(SK_GANESH) && !defined(SK_GRAPHITE)
# undef SK_GL
# undef SK_VULKAN
# undef SK_METAL
# undef SK_DAWN
# undef SK_DIRECT3D
#endif
#if defined(SK_R32_SHIFT)
static_assert …;
#elif defined(SK_BUILD_FOR_WIN)
#define SK_R32_SHIFT …
#else
#define SK_R32_SHIFT …
#endif
#if defined(SK_B32_SHIFT)
static_assert …;
#else
#define SK_B32_SHIFT …
#endif
#define SK_G32_SHIFT …
#define SK_A32_SHIFT …
#ifdef SK_CPU_BENDIAN
#define SK_PMCOLOR_BYTE_ORDER …
#else
#define SK_PMCOLOR_BYTE_ORDER(C0, C1, C2, C3) …
#endif
#if defined SK_DEBUG && defined SK_BUILD_FOR_WIN
#ifdef free
#undef free
#endif
#include <crtdbg.h>
#undef free
#endif
#ifndef SK_ALLOW_STATIC_GLOBAL_INITIALIZERS
#define SK_ALLOW_STATIC_GLOBAL_INITIALIZERS …
#endif
#if !defined(SK_GAMMA_EXPONENT)
#define SK_GAMMA_EXPONENT …
#endif
#if !defined(SK_GAMMA_CONTRAST)
#define SK_GAMMA_CONTRAST …
#endif
#if defined(SK_HISTOGRAM_ENUMERATION) || \
defined(SK_HISTOGRAM_BOOLEAN) || \
defined(SK_HISTOGRAM_EXACT_LINEAR) || \
defined(SK_HISTOGRAM_MEMORY_KB)
#define SK_HISTOGRAMS_ENABLED …
#else
#define SK_HISTOGRAMS_ENABLED …
#endif
#ifndef SK_HISTOGRAM_BOOLEAN
#define SK_HISTOGRAM_BOOLEAN …
#endif
#ifndef SK_HISTOGRAM_ENUMERATION
#define SK_HISTOGRAM_ENUMERATION(name, sample, enum_size) …
#endif
#ifndef SK_HISTOGRAM_EXACT_LINEAR
#define SK_HISTOGRAM_EXACT_LINEAR …
#endif
#ifndef SK_HISTOGRAM_MEMORY_KB
#define SK_HISTOGRAM_MEMORY_KB …
#endif
#define SK_HISTOGRAM_PERCENTAGE(name, percent_as_int) …
#if defined(SK_ENABLE_OPTIMIZE_SIZE)
#if !defined(SK_FORCE_RASTER_PIPELINE_BLITTER)
#define SK_FORCE_RASTER_PIPELINE_BLITTER
#endif
#define SK_DISABLE_SDF_TEXT
#endif
#ifndef SK_DISABLE_LEGACY_SHADERCONTEXT
#define SK_ENABLE_LEGACY_SHADERCONTEXT
#endif
#if defined(SK_BUILD_FOR_LIBFUZZER) || defined(SK_BUILD_FOR_AFL_FUZZ)
#if !defined(SK_BUILD_FOR_FUZZER)
#define SK_BUILD_FOR_FUZZER
#endif
#endif
#if !defined(GR_CACHE_STATS)
#if defined(SK_DEBUG) || defined(SK_DUMP_STATS)
#define GR_CACHE_STATS …
#else
#define GR_CACHE_STATS …
#endif
#endif
#if !defined(GR_GPU_STATS)
#if defined(SK_DEBUG) || defined(SK_DUMP_STATS) || defined(GPU_TEST_UTILS)
#define GR_GPU_STATS …
#else
#define GR_GPU_STATS …
#endif
#endif
SkFourByteTag;
static inline constexpr SkFourByteTag SkSetFourByteTag(char a, char b, char c, char d) { … }
SkUnichar;
SkGlyphID;
SkMSec;
static constexpr SkMSec SK_MSecMax = …;
static constexpr uint32_t SK_InvalidGenID = …;
static constexpr uint32_t SK_InvalidUniqueID = …;
#endif