# Copyright 2018 The PDFium 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("//build/config/jumbo.gni")
import("../../pdfium.gni")

jumbo_source_set("formfiller") {
  sources = [
    "cba_fontmap.cpp",
    "cba_fontmap.h",
    "cffl_button.cpp",
    "cffl_button.h",
    "cffl_checkbox.cpp",
    "cffl_checkbox.h",
    "cffl_combobox.cpp",
    "cffl_combobox.h",
    "cffl_formfiller.cpp",
    "cffl_formfiller.h",
    "cffl_interactiveformfiller.cpp",
    "cffl_interactiveformfiller.h",
    "cffl_listbox.cpp",
    "cffl_listbox.h",
    "cffl_pushbutton.cpp",
    "cffl_pushbutton.h",
    "cffl_radiobutton.cpp",
    "cffl_radiobutton.h",
    "cffl_textfield.cpp",
    "cffl_textfield.h",
    "cffl_textobject.cpp",
    "cffl_textobject.h",
  ]
  configs += [ "../../:pdfium_core_config" ]
  deps = [
    "../../:pdfium_public_headers",
    "../../core/fpdfapi/font",
    "../../core/fpdfapi/page",
    "../../core/fpdfapi/parser",
    "../../core/fpdfdoc",
    "../../core/fxcrt",
    "../../core/fxge",
    "../pwl",
  ]
  allow_circular_includes_from = [ "../pwl" ]
  visibility = [ "../../*" ]
}
