# 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 = [
    "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 = [
    ":fontmap",
    "../../:pdfium_public_headers",
    "../../constants",
    "../../core/fpdfapi/page",
    "../../core/fpdfapi/parser",
    "../../core/fxcrt",
    "../../core/fxge",
    "../pwl",
  ]
  visibility = [ "../../*" ]
}

jumbo_source_set("fontmap") {
  sources = [
    "cba_fontmap.cpp",
    "cba_fontmap.h",
  ]
  configs += [ "../../:pdfium_core_config" ]
  deps = [
    "../../:pdfium_public_headers",
    "../../constants",
    "../../core/fpdfapi",
    "../../core/fpdfapi/font",
    "../../core/fpdfapi/page",
    "../../core/fpdfapi/parser",
    "../../core/fpdfdoc",
    "../../core/fxcrt",
    "../../core/fxge",
  ]
  visibility = [ "../../*" ]
}
