# 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("../../pdfium.gni")

source_set("formfiller") {
  sources = [
    "cffl_button.cpp",
    "cffl_button.h",
    "cffl_checkbox.cpp",
    "cffl_checkbox.h",
    "cffl_combobox.cpp",
    "cffl_combobox.h",
    "cffl_fieldaction.cpp",
    "cffl_fieldaction.h",
    "cffl_formfield.cpp",
    "cffl_formfield.h",
    "cffl_interactiveformfiller.cpp",
    "cffl_interactiveformfiller.h",
    "cffl_listbox.cpp",
    "cffl_listbox.h",
    "cffl_perwindowdata.cpp",
    "cffl_perwindowdata.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_strict_config",
    "../../:pdfium_noshorten_config",
  ]
  deps = [
    "../../:pdfium_public_headers",
    "../../constants",
    "../../core/fpdfapi/page",
    "../../core/fpdfdoc",
    "../../core/fxcrt",
    "../../core/fxge",
    "../pwl",
  ]
  visibility = [ "../../*" ]
}
