chromium/third_party/skia/src/gpu/Swizzle.h

/*
 * Copyright 2016 Google Inc.
 *
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

#ifndef skgpu_Swizzle_DEFINED
#define skgpu_Swizzle_DEFINED

#include "include/core/SkColor.h"
#include "include/core/SkString.h"
#include "include/private/base/SkAssert.h"
#include "include/private/base/SkTypeTraits.h"

#include <array>
#include <cstddef>
#include <cstdint>
#include <type_traits>

class SkRasterPipeline;
enum SkAlphaType : int;

namespace skgpu {

/** Represents a rgba swizzle. It can be converted either into a string or a eight bit int. */
class Swizzle {};

constexpr Swizzle::Swizzle(const char c[4])
        :{}

constexpr Swizzle Swizzle::selectChannelInR(int i) const {}

constexpr std::array<float, 4> Swizzle::applyTo(std::array<float, 4> color) const {}

constexpr float Swizzle::ComponentIndexToFloat(std::array<float, 4> color, size_t idx) {}

constexpr int Swizzle::CToI(char c) {}

constexpr char Swizzle::IToC(int idx) {}

constexpr Swizzle Swizzle::Concat(const Swizzle& a, const Swizzle& b) {}

} // namespace skgpu
#endif