# 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")
import("../../testing/test.gni")

assert(pdf_enable_xfa)

source_set("fwl") {
  sources = [
    "cfwl_app.cpp",
    "cfwl_app.h",
    "cfwl_barcode.cpp",
    "cfwl_barcode.h",
    "cfwl_caret.cpp",
    "cfwl_caret.h",
    "cfwl_checkbox.cpp",
    "cfwl_checkbox.h",
    "cfwl_combobox.cpp",
    "cfwl_combobox.h",
    "cfwl_comboedit.cpp",
    "cfwl_comboedit.h",
    "cfwl_combolist.cpp",
    "cfwl_combolist.h",
    "cfwl_datetimeedit.cpp",
    "cfwl_datetimeedit.h",
    "cfwl_datetimepicker.cpp",
    "cfwl_datetimepicker.h",
    "cfwl_edit.cpp",
    "cfwl_edit.h",
    "cfwl_event.cpp",
    "cfwl_event.h",
    "cfwl_eventmouse.cpp",
    "cfwl_eventmouse.h",
    "cfwl_eventscroll.cpp",
    "cfwl_eventscroll.h",
    "cfwl_eventselectchanged.cpp",
    "cfwl_eventselectchanged.h",
    "cfwl_eventtextwillchange.cpp",
    "cfwl_eventtextwillchange.h",
    "cfwl_eventvalidate.cpp",
    "cfwl_eventvalidate.h",
    "cfwl_listbox.cpp",
    "cfwl_listbox.h",
    "cfwl_message.cpp",
    "cfwl_message.h",
    "cfwl_messagekey.cpp",
    "cfwl_messagekey.h",
    "cfwl_messagekillfocus.cpp",
    "cfwl_messagekillfocus.h",
    "cfwl_messagemouse.cpp",
    "cfwl_messagemouse.h",
    "cfwl_messagemousewheel.cpp",
    "cfwl_messagemousewheel.h",
    "cfwl_messagesetfocus.cpp",
    "cfwl_messagesetfocus.h",
    "cfwl_monthcalendar.cpp",
    "cfwl_monthcalendar.h",
    "cfwl_notedriver.cpp",
    "cfwl_notedriver.h",
    "cfwl_picturebox.cpp",
    "cfwl_picturebox.h",
    "cfwl_pushbutton.cpp",
    "cfwl_pushbutton.h",
    "cfwl_scrollbar.cpp",
    "cfwl_scrollbar.h",
    "cfwl_themebackground.cpp",
    "cfwl_themebackground.h",
    "cfwl_themepart.cpp",
    "cfwl_themepart.h",
    "cfwl_themetext.cpp",
    "cfwl_themetext.h",
    "cfwl_widget.cpp",
    "cfwl_widget.h",
    "cfwl_widgetmgr.cpp",
    "cfwl_widgetmgr.h",
    "fwl_widgetdef.h",
    "fwl_widgethit.h",
    "ifwl_themeprovider.cpp",
    "ifwl_themeprovider.h",
    "ifwl_widgetdelegate.h",
    "theme/cfwl_barcodetp.cpp",
    "theme/cfwl_barcodetp.h",
    "theme/cfwl_carettp.cpp",
    "theme/cfwl_carettp.h",
    "theme/cfwl_checkboxtp.cpp",
    "theme/cfwl_checkboxtp.h",
    "theme/cfwl_comboboxtp.cpp",
    "theme/cfwl_comboboxtp.h",
    "theme/cfwl_datetimepickertp.cpp",
    "theme/cfwl_datetimepickertp.h",
    "theme/cfwl_edittp.cpp",
    "theme/cfwl_edittp.h",
    "theme/cfwl_fontmanager.cpp",
    "theme/cfwl_fontmanager.h",
    "theme/cfwl_listboxtp.cpp",
    "theme/cfwl_listboxtp.h",
    "theme/cfwl_monthcalendartp.cpp",
    "theme/cfwl_monthcalendartp.h",
    "theme/cfwl_pictureboxtp.cpp",
    "theme/cfwl_pictureboxtp.h",
    "theme/cfwl_pushbuttontp.cpp",
    "theme/cfwl_pushbuttontp.h",
    "theme/cfwl_scrollbartp.cpp",
    "theme/cfwl_scrollbartp.h",
    "theme/cfwl_utils.h",
    "theme/cfwl_widgettp.cpp",
    "theme/cfwl_widgettp.h",
  ]
  deps = [
    "../../core/fxcrt",
    "../../core/fxge",
    "../../fxbarcode",
    "../../fxjs:gc",
    "../fde",
    "../fgas/font",
    "../fgas/graphics",
  ]
  configs += [
    "../../:pdfium_strict_config",
    "../:xfa_warnings",
  ]
  visibility = [ "../../*" ]
}

pdfium_embeddertest_source_set("embeddertests") {
  sources = [ "cfwl_edit_embeddertest.cpp" ]
  deps = [ "../../fxjs:gc" ]
  pdfium_root_dir = "../../"
}
