// WARNING: Please don't edit this file. It was generated by Python/WinRT v1.0.0-beta.9

#pragma once

#include "pybase.h"

#if __has_include("py.Windows.Foundation.h")
#include "py.Windows.Foundation.h"
#endif

#if __has_include("py.Windows.Foundation.Collections.h")
#include "py.Windows.Foundation.Collections.h"
#endif

#include <winrt/Windows.Foundation.h>
#include <winrt/Windows.Foundation.Collections.h>

#include <winrt/Windows.Graphics.Display.Core.h>

namespace py::proj::Windows::Graphics::Display::Core
{}

namespace py::impl::Windows::Graphics::Display::Core
{}

namespace py::wrapper::Windows::Graphics::Display::Core
{
    using HdmiDisplayInformation = py::winrt_wrapper<winrt::Windows::Graphics::Display::Core::HdmiDisplayInformation>;
    using HdmiDisplayMode = py::winrt_wrapper<winrt::Windows::Graphics::Display::Core::HdmiDisplayMode>;
    using HdmiDisplayHdr2086Metadata = py::winrt_struct_wrapper<winrt::Windows::Graphics::Display::Core::HdmiDisplayHdr2086Metadata>;
}

namespace py
{
    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Graphics::Display::Core::HdmiDisplayColorSpace> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Graphics::Display::Core::HdmiDisplayHdrOption> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Graphics::Display::Core::HdmiDisplayPixelEncoding> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Graphics::Display::Core::HdmiDisplayHdr2086Metadata> = "T{H:red_primary_x:H:red_primary_y:H:green_primary_x:H:green_primary_y:H:blue_primary_x:H:blue_primary_y:H:white_point_x:H:white_point_y:H:max_mastering_luminance:H:min_mastering_luminance:H:max_content_light_level:H:max_frame_average_light_level:}";


    template<>
    struct py_type<winrt::Windows::Graphics::Display::Core::HdmiDisplayColorSpace>
    {
        static PyObject* get_python_type() noexcept;
    };

    template<>
    struct py_type<winrt::Windows::Graphics::Display::Core::HdmiDisplayHdrOption>
    {
        static PyObject* get_python_type() noexcept;
    };

    template<>
    struct py_type<winrt::Windows::Graphics::Display::Core::HdmiDisplayPixelEncoding>
    {
        static PyObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::Graphics::Display::Core::HdmiDisplayInformation>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::Graphics::Display::Core::HdmiDisplayMode>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::Graphics::Display::Core::HdmiDisplayHdr2086Metadata>
    {
        static PyTypeObject* get_python_type() noexcept;
    };
    template<>
    struct converter<winrt::Windows::Graphics::Display::Core::HdmiDisplayHdr2086Metadata>
    {
        static PyObject* convert(winrt::Windows::Graphics::Display::Core::HdmiDisplayHdr2086Metadata instance) noexcept;
        static winrt::Windows::Graphics::Display::Core::HdmiDisplayHdr2086Metadata convert_to(PyObject* obj);
    };

}
