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

jumbo_source_set("render") {
  sources = [
    "cpdf_charposlist.cpp",
    "cpdf_charposlist.h",
    "cpdf_devicebuffer.cpp",
    "cpdf_devicebuffer.h",
    "cpdf_dibbase.cpp",
    "cpdf_dibbase.h",
    "cpdf_dibtransferfunc.cpp",
    "cpdf_dibtransferfunc.h",
    "cpdf_docrenderdata.cpp",
    "cpdf_docrenderdata.h",
    "cpdf_imagecacheentry.cpp",
    "cpdf_imagecacheentry.h",
    "cpdf_imageloader.cpp",
    "cpdf_imageloader.h",
    "cpdf_imagerenderer.cpp",
    "cpdf_imagerenderer.h",
    "cpdf_pagerendercache.cpp",
    "cpdf_pagerendercache.h",
    "cpdf_pagerendercontext.cpp",
    "cpdf_pagerendercontext.h",
    "cpdf_progressiverenderer.cpp",
    "cpdf_progressiverenderer.h",
    "cpdf_rendercontext.cpp",
    "cpdf_rendercontext.h",
    "cpdf_renderoptions.cpp",
    "cpdf_renderoptions.h",
    "cpdf_renderstatus.cpp",
    "cpdf_renderstatus.h",
    "cpdf_scaledrenderbuffer.cpp",
    "cpdf_scaledrenderbuffer.h",
    "cpdf_textrenderer.cpp",
    "cpdf_textrenderer.h",
    "cpdf_transferfunc.cpp",
    "cpdf_transferfunc.h",
    "cpdf_type3cache.cpp",
    "cpdf_type3cache.h",
    "cpdf_type3glyphmap.cpp",
    "cpdf_type3glyphmap.h",
  ]
  configs += [ "../../../:pdfium_core_config" ]
  deps = [
    "../../../constants",
    "../../fxcodec",
    "../../fxcrt",
    "../../fxge",
    "../font",
    "../page",
    "../parser",
  ]
  allow_circular_includes_from = [ "../page" ]
  visibility = [ "../../../*" ]
}

pdfium_unittest_source_set("unittests") {
  sources = [
    "cpdf_docrenderdata_unittest.cpp",
  ]
  deps = [
    ":render",
    "../parser",
  ]
  pdfium_root_dir = "../../../"
}

pdfium_embeddertest_source_set("embeddertests") {
  sources = [
    "fpdf_render_pattern_embeddertest.cpp",
  ]
  pdfium_root_dir = "../../../"
}
