1cb93a386Sopenharmony_ci/* 2cb93a386Sopenharmony_ci * Copyright 2019 Google Inc. 3cb93a386Sopenharmony_ci * 4cb93a386Sopenharmony_ci * Use of this source code is governed by a BSD-style license that can be 5cb93a386Sopenharmony_ci * found in the LICENSE file. 6cb93a386Sopenharmony_ci */ 7cb93a386Sopenharmony_ci 8cb93a386Sopenharmony_ci#ifndef SkTileModes_DEFINED 9cb93a386Sopenharmony_ci#define SkTileModes_DEFINED 10cb93a386Sopenharmony_ci 11cb93a386Sopenharmony_ci#include "include/core/SkTypes.h" 12cb93a386Sopenharmony_ci 13cb93a386Sopenharmony_cienum class SkTileMode { 14cb93a386Sopenharmony_ci /** 15cb93a386Sopenharmony_ci * Replicate the edge color if the shader draws outside of its 16cb93a386Sopenharmony_ci * original bounds. 17cb93a386Sopenharmony_ci */ 18cb93a386Sopenharmony_ci kClamp, 19cb93a386Sopenharmony_ci 20cb93a386Sopenharmony_ci /** 21cb93a386Sopenharmony_ci * Repeat the shader's image horizontally and vertically. 22cb93a386Sopenharmony_ci */ 23cb93a386Sopenharmony_ci kRepeat, 24cb93a386Sopenharmony_ci 25cb93a386Sopenharmony_ci /** 26cb93a386Sopenharmony_ci * Repeat the shader's image horizontally and vertically, alternating 27cb93a386Sopenharmony_ci * mirror images so that adjacent images always seam. 28cb93a386Sopenharmony_ci */ 29cb93a386Sopenharmony_ci kMirror, 30cb93a386Sopenharmony_ci 31cb93a386Sopenharmony_ci /** 32cb93a386Sopenharmony_ci * Only draw within the original domain, return transparent-black everywhere else. 33cb93a386Sopenharmony_ci */ 34cb93a386Sopenharmony_ci kDecal, 35cb93a386Sopenharmony_ci 36cb93a386Sopenharmony_ci kLastTileMode = kDecal, 37cb93a386Sopenharmony_ci}; 38cb93a386Sopenharmony_ci 39cb93a386Sopenharmony_cistatic constexpr int kSkTileModeCount = static_cast<int>(SkTileMode::kLastTileMode) + 1; 40cb93a386Sopenharmony_ci 41cb93a386Sopenharmony_ci#endif 42