#ifndef RENDER_WGT_PROP_INPUT_H
#define RENDER_WGT_PROP_INPUT_H

#include <QWidget>
#include "resource.h"

class WgtPropInput : public QWidget {
    Q_OBJECT

public:
    /**
     * 创建一个Material属性输入框(支持float,int,2,3,4,4x4等格式)
     * @param prop shader属性描述符
     * @param fpCallback 可选-UI变化时的回调,可携带两个参数(void*,int)
     * @param parameter 可选-UI变化时回调携带参数1
     * @param para2 可选-UI变化时回调携带参数2
     */
    explicit WgtPropInput(SHADER::PropertyInfo &prop,
                          void (*fpCallback)(void *, int) = nullptr, void *parameter = nullptr, int para2 = 0);

private:
    void (*fpCallback)(void *, int){};
    void *callBackOBJ{};
    int para2;
    SHADER::PropertyInfo *m_Prop{};
    void OnValueChanged();
};



#endif //RENDER_WGT_PROP_INPUT_H
