8#include <unordered_map>
36 std::shared_ptr<ScalarSource> source,
37 const std::vector<DesignFrameElement>& elements);
54 std::vector<DesignFrameElement>& elements);
58 void apply_grid(std::vector<DesignFrameElement>& elements);
65 const std::vector<std::string>&
grid_keys()
const {
return bind_grid_keys_; }
87 const std::vector<ParamScaleMismatch>&
mismatches()
const {
88 return param_scale_mismatches_;
97 std::unordered_map<std::string, std::unique_ptr<ScalarSourceBinding>> element_scalars_;
98 std::vector<ScalarSourceBinding*> active_element_scalars_;
103 std::vector<std::string> bind_grid_keys_;
104 int bind_grid_begin_ = -1;
111 std::vector<ParamScaleMismatch> param_scale_mismatches_;
A framework-agnostic, native-view-facing runtime parameter accessor.
Definition host_surfaces.hpp:40
bool host_has_param_for(const std::string &key, HostParamSurface *hp) const
void report_mismatch(const std::string &key, int ui_count, int host_count, bool host_has_param)
bool element_has_scalar_source(int i) const
const std::vector< std::string > & grid_keys() const
Definition design_param_binding.hpp:65
void rebuild_slots(const std::vector< DesignFrameElement > &elements)
int host_step_count_for(const std::string &key, HostParamSurface *hp) const
DesignParamBinding(View &owner)
void set_scalar_source(const std::string ¶m_key, std::shared_ptr< ScalarSource > source, const std::vector< DesignFrameElement > &elements)
const std::vector< ParamScaleMismatch > & mismatches() const
Definition design_param_binding.hpp:87
void apply_grid(std::vector< DesignFrameElement > &elements)
bool is_stand_in(int i, int element_count) const
void build_grid(std::vector< std::string > keys, std::vector< DesignFrameElement > &elements)
void set_on_mismatch(std::function< void(const ParamScaleMismatch &)> cb)
float element_scalar(int i) const
Hover-cursor tracking for platform window hosts.
Definition fwd.hpp:27
@ i
Definition input_events.hpp:40
Definition design_frame_view.hpp:312