# 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.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 = "../../"
}
