12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- #ifndef PARAM_INTERFACE_H
- #define PARAM_INTERFACE_H
- #pragma once
- typedef void (*SliderParamChangedCallback) (float newVal);
- #include "LinearMath/btScalar.h"
- struct SliderParams
- {
- const char* m_name;
- float m_minVal;
- float m_maxVal;
- SliderParamChangedCallback m_callback;
- btScalar* m_paramValuePointer;
- void* m_userPointer;
- bool m_clampToNotches;
- bool m_showValues;
-
- SliderParams(const char* name, btScalar* targetValuePointer)
- :m_name(name),
- m_minVal(-100),
- m_maxVal(100),
- m_callback(0),
- m_paramValuePointer(targetValuePointer),
- m_userPointer(0),
- m_clampToNotches(true),
- m_showValues(true)
- {
- }
- };
- typedef void (*ButtonParamChangedCallback) (int buttonId, bool buttonState, void* userPointer);
- typedef void (*ComboBoxCallback) (int combobox, const char* item, void* userPointer);
- struct ButtonParams
- {
- const char* m_name;
- int m_buttonId;
- void* m_userPointer;
- bool m_isTrigger;
- ButtonParamChangedCallback m_callback;
- ButtonParams(const char* name, int buttonId, bool isTrigger)
- :m_name(name),
- m_buttonId(buttonId),
- m_userPointer(0),
- m_isTrigger(isTrigger),
- m_callback(0)
- {
- }
- };
- struct ComboBoxParams
- {
- int m_comboboxId;
- int m_numItems;
- const char** m_items;
- int m_startItem;
- ComboBoxCallback m_callback;
- void* m_userPointer;
- ComboBoxParams()
- :m_comboboxId(-1),
- m_numItems(0),
- m_items(0),
- m_startItem(0),
- m_callback(0),
- m_userPointer(0)
- {
- }
- };
- struct CommonParameterInterface
- {
- virtual ~CommonParameterInterface() {}
- virtual void registerSliderFloatParameter(SliderParams& params)=0;
- virtual void registerButtonParameter(ButtonParams& params)=0;
- virtual void registerComboBox(ComboBoxParams& params)=0;
- virtual void syncParameters()=0;
- virtual void removeAllParameters()=0;
- virtual void setSliderValue(int sliderIndex, double sliderValue)=0;
- };
-
- #endif //PARAM_INTERFACE_H
|