load(
    "//bazel:macros.bzl",
    "exports_files_legacy",
    "select_multi",
    "selects",
    "skia_cc_deps",
    "split_srcs_and_hdrs",
    "string_flag_with_values",
)

licenses(["notice"])

exports_files_legacy()

CORE_FILES = [
    "SkCodec.cpp",
    "SkCodecImageGenerator.cpp",
    "SkCodecImageGenerator.h",
    "SkCodecPriv.h",
    "SkColorTable.cpp",
    "SkColorTable.h",
    "SkFrameHolder.h",
    "SkMaskSwizzler.cpp",
    "SkMaskSwizzler.h",
    "SkMasks.cpp",
    "SkMasks.h",
    "SkSampler.cpp",
    "SkSampler.h",
    "SkSwizzler.cpp",
    "SkSwizzler.h",
]

split_srcs_and_hdrs(
    name = "core",
    files = CORE_FILES,
)

DECODE_ANDROID_FILES = [
    "SkAndroidCodec.cpp",
    "SkAndroidCodecAdapter.cpp",
    "SkAndroidCodecAdapter.h",
    "SkSampledCodec.cpp",
    "SkSampledCodec.h",
]

split_srcs_and_hdrs(
    name = "decode_android",
    files = DECODE_ANDROID_FILES,
)

DECODE_BMP_FILES = [
    "SkBmpBaseCodec.cpp",
    "SkBmpBaseCodec.h",
    "SkBmpCodec.cpp",
    "SkBmpCodec.h",
    "SkBmpMaskCodec.cpp",
    "SkBmpMaskCodec.h",
    "SkBmpRLECodec.cpp",
    "SkBmpRLECodec.h",
    "SkBmpStandardCodec.cpp",
    "SkBmpStandardCodec.h",
    "SkWbmpCodec.cpp",
    "SkWbmpCodec.h",
]

split_srcs_and_hdrs(
    name = "decode_bmp",
    files = DECODE_BMP_FILES,
)

DECODE_GIF_FILES = [
    "SkScalingCodec.h",
    "SkWuffsCodec.cpp",
    "SkWuffsCodec.h",
]

split_srcs_and_hdrs(
    name = "decode_gif",
    files = DECODE_GIF_FILES,
)

DECODE_JPEG_FILES = [
    "SkEncodedInfo.cpp",
    "SkJpegCodec.cpp",
    "SkJpegCodec.h",
    "SkJpegDecoderMgr.cpp",
    "SkJpegDecoderMgr.h",
    "SkJpegUtility.cpp",
    "SkJpegUtility.h",
    "SkParseEncodedOrigin.cpp",
    "SkParseEncodedOrigin.h",
]

split_srcs_and_hdrs(
    name = "decode_jpeg",
    files = DECODE_JPEG_FILES,
)

DECODE_PNG_FILES = [
    "SkEncodedInfo.cpp",
    "SkIcoCodec.cpp",
    "SkIcoCodec.h",
    "SkPngCodec.cpp",
    "SkPngCodec.h",
]

split_srcs_and_hdrs(
    name = "decode_png",
    files = DECODE_PNG_FILES,
)

DECODE_RAW_FILES = [
    "SkRawCodec.cpp",
    "SkRawCodec.h",
]

split_srcs_and_hdrs(
    name = "decode_raw",
    files = DECODE_RAW_FILES,
)

DECODE_WEBP_FILES = [
    "SkEncodedInfo.cpp",
    "SkParseEncodedOrigin.cpp",
    "SkParseEncodedOrigin.h",
    "SkScalingCodec.h",
    "SkWebpCodec.cpp",
    "SkWebpCodec.h",
]

split_srcs_and_hdrs(
    name = "decode_webp",
    files = DECODE_WEBP_FILES,
)

split_srcs_and_hdrs(
    name = "decode_avif",
    files = [
        "SkAvifCodec.cpp",
        "SkAvifCodec.h",
        "SkScalingCodec.h",
    ],
)

split_srcs_and_hdrs(
    name = "decode_jxl",
    files = [
        "SkJpegxlCodec.cpp",
        "SkJpegxlCodec.h",
        "SkScalingCodec.h",
    ],
)

string_flag_with_values(
    name = "include_decoder",
    multiple = True,
    values = [
        "avif_decode_codec",
        "gif_decode_codec",
        "jpeg_decode_codec",
        "jxl_decode_codec",
        "png_decode_codec",
        "raw_decode_codec",
        "webp_decode_codec",
    ],
)

selects.config_setting_group(
    name = "needs_jpeg",
    match_any = [
        ":jpeg_decode_codec",
        ":raw_decode_codec",
    ],
)

selects.config_setting_group(
    name = "needs_jpeg_priv",
    match_any = [
        ":needs_jpeg",
        "//src/images:jpeg_encode_codec",
    ],
)

selects.config_setting_group(
    name = "needs_png_priv",
    match_any = [
        ":png_decode_codec",
        "//src/images:png_encode_codec",
    ],
)

filegroup(
    name = "srcs",
    srcs = [
        ":decode_android_srcs",
        ":decode_bmp_srcs",
        ":core_srcs",
    ] + select_multi(
        {
            ":avif_decode_codec": [":decode_avif_srcs"],
            ":gif_decode_codec": [":decode_gif_srcs"],
            ":needs_jpeg": [":decode_jpeg_srcs"],
            ":jxl_decode_codec": [":decode_jxl_srcs"],
            ":png_decode_codec": [":decode_png_srcs"],
            ":raw_decode_codec": [":decode_raw_srcs"],
            ":webp_decode_codec": [":decode_webp_srcs"],
        },
    ),
    visibility = ["//src:__pkg__"],
)

filegroup(
    name = "private_hdrs",
    srcs = [
        ":decode_android_hdrs",
        ":decode_bmp_hdrs",
        ":core_hdrs",
    ] + select({
        ":needs_jpeg_priv": ["SkJpegPriv.h"],  # used by src/images/SkJPEGWriteUtility
        "//conditions:default": [],
    }) + select({
        ":needs_png_priv": ["SkPngPriv.h"],  # used by src/images/SkPngEncoder
        "//conditions:default": [],
    }) + select_multi(
        {
            ":avif_decode_codec": [":decode_avif_hdrs"],
            ":gif_decode_codec": [":decode_gif_hdrs"],
            ":needs_jpeg": [":decode_jpeg_hdrs"],
            ":jxl_decode_codec": [":decode_jxl_hdrs"],
            ":png_decode_codec": [":decode_png_hdrs"],
            ":raw_decode_codec": [":decode_raw_hdrs"],
            ":webp_decode_codec": [":decode_webp_hdrs"],
        },
    ),
    visibility = ["//src:__pkg__"],
)

skia_cc_deps(
    name = "deps",
    visibility = ["//src:__pkg__"],
    deps = select_multi(
        {
            ":avif_decode_codec": ["@libavif"],
            ":gif_decode_codec": ["@wuffs"],
            ":needs_jpeg": ["@libjpeg_turbo"],
            "jxl_decode_codec": ["@libjxl"],
            ":png_decode_codec": ["@libpng"],
            ":raw_decode_codec": [
                "@dng_sdk",
                "@piex",
            ],
            ":webp_decode_codec": ["@libwebp"],
        },
    ),
)
