Emmanuel BENOîT
422ab564f3
+ Basic structures + Partial implementation in the sync manager + Partial implementation of the single float override + Silly hardcoded tests in the demo/main files
40 lines
1.1 KiB
C++
40 lines
1.1 KiB
C++
#pragma once
|
|
#include "sync.hh"
|
|
|
|
namespace sov {
|
|
|
|
/*= FLOATING POINT SLIDERS =====================================================*/
|
|
|
|
// Single float value
|
|
class T_Float : public A_SyncOverride
|
|
{
|
|
private:
|
|
T_String title_;
|
|
T_Optional< float > min_;
|
|
T_Optional< float > max_;
|
|
T_Optional< float > step_;
|
|
T_Optional< ebcl::T_StaticArray< char , 12 > > decimals_;
|
|
T_Optional< float > power_;
|
|
|
|
protected:
|
|
void makeEditWidgets( ) noexcept override;
|
|
|
|
public:
|
|
T_Float( T_String const& input ,
|
|
T_String const& title ) noexcept;
|
|
|
|
bool setMin( const float v ) noexcept;
|
|
bool setMax( const float v ) noexcept;
|
|
bool setStep( const float v ) noexcept;
|
|
bool setDecimals( const uint32_t n ) noexcept;
|
|
bool setPower( const float v ) noexcept;
|
|
|
|
float min( ) const noexcept { return min_ ? *min_ : 0.0f; }
|
|
float max( ) const noexcept { return max_ ? *max_ : 0.0f; }
|
|
float step( ) const noexcept { return step_ ? *step_ : .001f; }
|
|
char const* decimals( ) const noexcept { return decimals_ ? &(*decimals_)[ 0 ] : "%.3f"; }
|
|
float power( ) const noexcept { return power_ ? *power_ : 1.0f; }
|
|
};
|
|
|
|
|
|
} // namespace
|