// This code is auto-generated by Qul's qmltocpp tool from the file 'Switch.qml'
// WARNING! All changes made in this file will be lost!
// NOTE: This generated API is to be considered implementation detail for Qul.
//       It may change from version to version and should not be relied upon.
#pragma once
#include "DefaultStyle.h"
#include <cstdlib>
#include <platforminterface/log.h>
#include <qul/image.h>
#include <qul/private/animation.h>
#include <qul/private/array.h>
#include <qul/private/builtins.h>
#include <qul/private/compilerdetection.h>
#include <qul/private/controls/switchtemplate.h>
#include <qul/private/extras/colorizedimage.h>
#include <qul/private/file.h>
#include <qul/private/items.h>
#include <qul/private/items/item.h>
#include <qul/private/items/text.h>
#include <qul/private/qmltocpp_util.h>
#include <qul/private/qulrcc_lookup.h>
#include <qul/private/unicodestring.h>
#include <qul/signal.h>


namespace QtQuick {
namespace Controls {
namespace StyleDefault {

struct Switch : Qul::Private::Controls::Templates::Switch  {
    Switch();


    Qul::Property<Qul::Private::String> state;
    typedef Qul::Private::Items::Item  item__2_Item;
    typedef Qul::Private::Items::TextLight  text__Text;
    typedef Qul::Private::Items::Row  row_Row;
    typedef Qul::Private::Items::Item  item__Item;
    typedef Qul::Private::Items::Image  image_Image;
    typedef Qul::Private::Items::Image  image_2_Image;
    typedef Qul::Private::Items::NumberAnimation <int> numberanimation_NumberAnimation;
    typedef Qul::Private::BehaviorLight <int> behavior_Behavior;
    typedef Qul::Private::Items::Image  image_3_Image;
    typedef Qul::Private::Items::ColorizedImage  colorizedimage_ColorizedImage;
    struct Switch_3401498431_bindingFunctor {

        int operator()(Switch *self) const;

    };
    struct anchor_functor {
        int operator()(Switch *self, int _switch_index) const;
    };
    struct Switch_231443548_bindingFunctor {

        Qul::PlatformInterface::Rgba32 operator()(Switch *self) const;

    };
    struct Switch_3537330082_bindingFunctor {

        Qul::Private::FontPointer operator()(Switch *self) const;

    };
    struct Switch_65258397_bindingFunctor {

        Qul::Private::String operator()(Switch *self) const;

    };
    struct Switch_1821255934_bindingFunctor {

        Qul::PlatformInterface::Rgba32 operator()(Switch *self) const;

    };
    struct Switch_4178335260_bindingFunctor {

        int operator()(Switch *self) const;

    };
    struct Switch_793844985_bindingFunctor {

        int operator()(Switch *self) const;

    };
    struct Switch_3337328763_bindingFunctor {

        int operator()(Switch *self) const;

    };
    struct Switch_545044895_bindingFunctor {

        int operator()(Switch *self) const;

    };
    struct Switch_1970666359_bindingFunctor {

        int operator()(Switch *self) const;

    };
    struct Switch_471296976_bindingFunctor {

        int operator()(Switch *self) const;

    };
    struct Switch_3988550022_bindingFunctor {

        int operator()(Switch *self) const;

    };
    Qul::Private::Binding<anchor_functor, 2> image_2_y_anchor_binding;
    Qul::Private::Binding<anchor_functor, 2> text__y_anchor_binding;
    Qul::Private::Binding<anchor_functor, 2> image_3_y_anchor_binding;
    Qul::Private::Binding<anchor_functor, 2> image_y_anchor_binding;
    Qul::Private::Items::ItemBase ::ExtraStorage_itemExtraProperties<Qul::Private::Controls::Templates::Switch  > ExtraStorage_itemExtraProperties_this_instance;
    colorizedimage_ColorizedImage colorizedimage;
    item__2_Item item__2;
    image_3_Image image_3;
    text__Text text_;
    row_Row row;
    item__Item item_;
    behavior_Behavior behavior;
    numberanimation_NumberAnimation numberanimation;
    image_2_Image image_2;
    image_Image image;
    Qul::Private::Items::ItemBase ::ExtraStorage_itemExtraProperties<Qul::Private::Items::Item  > ExtraStorage_itemExtraProperties_item__2_instance;
    Qul::Private::Items::ItemBase ::ExtraStorage_itemExtraProperties<Qul::Private::Items::ColorizedImage  > ExtraStorage_itemExtraProperties_colorizedimage_instance;
    Qul::Private::Items::ItemBase ::ExtraStorage_itemExtraProperties<Qul::Private::Items::Row  > ExtraStorage_itemExtraProperties_row_instance;
    Qul::Private::Items::ItemBase ::ExtraStorage_itemExtraProperties<Qul::Private::Items::Item  > ExtraStorage_itemExtraProperties_item__instance;
    Qul::Private::Binding<Switch_793844985_bindingFunctor, 0> colorizedimage_x_binding;
    Qul::Private::Binding<Switch_545044895_bindingFunctor, 0> image_2_x_binding;
    Qul::Private::Binding<Switch_3337328763_bindingFunctor, 0> image_x_binding;
    Qul::Private::Binding<Switch_4178335260_bindingFunctor, 0> colorizedimage_y_binding;
    Qul::Private::Binding<Switch_1821255934_bindingFunctor, 0> colorizedimage_color_binding;
    Qul::Private::Binding<Switch_65258397_bindingFunctor, 0> text__text_binding;
    Qul::Private::Binding<Switch_1970666359_bindingFunctor, 0> image_3_x_binding;
    Qul::Private::Binding<Switch_3537330082_bindingFunctor, 0> font_font_binding;
    Qul::Private::Binding<Switch_231443548_bindingFunctor, 0> text__color_binding;
    Qul::Private::Binding<Switch_3401498431_bindingFunctor, 0> item__2_implicitWidth_binding;
    Qul::Private::Binding<Switch_471296976_bindingFunctor, 0> _implicitHeight_binding;
    Qul::Private::Binding<Switch_3988550022_bindingFunctor, 0> _implicitWidth_binding;
};

} // namespace QtQuick
} // namespace Controls
} // namespace StyleDefault
