# 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")

source_set("pwl") {
  sources = [
    "cpwl_button.cpp",
    "cpwl_button.h",
    "cpwl_caret.cpp",
    "cpwl_caret.h",
    "cpwl_cbbutton.cpp",
    "cpwl_cbbutton.h",
    "cpwl_cblistbox.cpp",
    "cpwl_cblistbox.h",
    "cpwl_combo_box.cpp",
    "cpwl_combo_box.h",
    "cpwl_edit.cpp",
    "cpwl_edit.h",
    "cpwl_edit_impl.cpp",
    "cpwl_edit_impl.h",
    "cpwl_list_box.cpp",
    "cpwl_list_box.h",
    "cpwl_list_ctrl.cpp",
    "cpwl_list_ctrl.h",
    "cpwl_sbbutton.cpp",
    "cpwl_sbbutton.h",
    "cpwl_scroll_bar.cpp",
    "cpwl_scroll_bar.h",
    "cpwl_special_button.cpp",
    "cpwl_special_button.h",
    "cpwl_wnd.cpp",
    "cpwl_wnd.h",
    "ipwl_fillernotify.h",
    "ipwl_systemhandler.h",
  ]
  configs += [ "../../:pdfium_strict_config" ]
  deps = [
    "../../:pdfium_public_headers",
    "../../constants",
    "../../core/fpdfapi/font",
    "../../core/fpdfapi/render",
    "../../core/fpdfdoc",
    "../../core/fxcrt",
    "../../core/fxge",
  ]
  visibility = [ "../../*" ]
}

pdfium_embeddertest_source_set("embeddertests") {
  sources = [
    "cpwl_combo_box_embeddertest.cpp",
    "cpwl_edit_embeddertest.cpp",
    "cpwl_special_button_embeddertest.cpp",
  ]
  deps = [
    ":pwl",
    "../:fpdfsdk",
    "../formfiller",
  ]
  pdfium_root_dir = "../../"
}
