# 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.

import("//flutter/impeller/tools/impeller.gni")

impeller_component("typographer_stb_backend") {
  testonly = true

  sources = [
    "glyph_atlas_context_stb.cc",
    "glyph_atlas_context_stb.h",
    "text_frame_stb.cc",
    "text_frame_stb.h",
    "typeface_stb.cc",
    "typeface_stb.h",
    "typographer_context_stb.cc",
    "typographer_context_stb.h",
  ]

  public_deps = [
    "//flutter/impeller/typographer",
    "//flutter/third_party/stb:stb_truetype",
  ]
}
