blob: 61af436a87401a116432a4cb5eccb13920c8b23e [file] [log] [blame]
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#pragma once
#include <filesystem>
#include <string>
#include <string_view>
#include "flutter/fml/macros.h"
namespace impeller {
namespace compiler {
/// @brief Converts a native format path to a utf8 string.
///
/// This utility uses `path::u8string()` to convert native paths to
/// utf8. If the given path doesn't match the underlying native path
/// format, and the native path format isn't utf8 (i.e. Windows, which
/// has utf16 paths), the path will get mangled.
std::string Utf8FromPath(const std::filesystem::path& path);
std::string InferShaderNameFromPath(std::string_view path);
std::string ConvertToCamelCase(std::string_view string);
} // namespace compiler
} // namespace impeller