blob: d641629518747af6a9784f3b7ba8921687a54187 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef SKIA_PUBLIC_INTERFACES_BLUR_IMAGE_FILTER_TILE_MODE_STRUCT_TRAITS_H_
#define SKIA_PUBLIC_INTERFACES_BLUR_IMAGE_FILTER_TILE_MODE_STRUCT_TRAITS_H_
#include "skia/public/interfaces/blur_image_filter_tile_mode.mojom-shared.h"
#include "third_party/skia/include/effects/SkBlurImageFilter.h"
namespace mojo {
template <>
struct EnumTraits<skia::mojom::BlurTileMode, SkBlurImageFilter::TileMode> {
static skia::mojom::BlurTileMode ToMojom(
SkBlurImageFilter::TileMode tile_mode) {
switch (tile_mode) {
case SkBlurImageFilter::kClamp_TileMode:
return skia::mojom::BlurTileMode::CLAMP;
case SkBlurImageFilter::kRepeat_TileMode:
return skia::mojom::BlurTileMode::REPEAT;
case SkBlurImageFilter::kClampToBlack_TileMode:
return skia::mojom::BlurTileMode::CLAMP_TO_BLACK;
}
NOTREACHED();
return skia::mojom::BlurTileMode::CLAMP_TO_BLACK;
}
static bool FromMojom(skia::mojom::BlurTileMode input,
SkBlurImageFilter::TileMode* out) {
switch (input) {
case skia::mojom::BlurTileMode::CLAMP:
*out = SkBlurImageFilter::kClamp_TileMode;
return true;
case skia::mojom::BlurTileMode::REPEAT:
*out = SkBlurImageFilter::kRepeat_TileMode;
return true;
case skia::mojom::BlurTileMode::CLAMP_TO_BLACK:
*out = SkBlurImageFilter::kClampToBlack_TileMode;
return true;
}
return false;
}
};
} // namespace mojo
#endif // SKIA_PUBLIC_INTERFACES_BLUR_IMAGE_FILTER_TILE_MODE_STRUCT_TRAITS_H_