92 virtual void setValue(
const char *s);
95 void setPointerValue(
void *p);
96 void stringPrintf(
const char *fmt, ...);
115 virtual void enable(
bool state);
116 virtual void visible(
bool state);
117 virtual void override(
bool state,
int);
118 virtual void open(
bool state);
119 virtual void refresh();
123 bool areAnyFeelClientsOpen()
const;
132 virtual void rangeCheck();
135 int save(std::ostream &os)
const;
165 exint getArrayLength()
const;
171 bool check_dup =
false);
173 bool check_dup =
false);
178 void removeAllInterests();
182 const char *getString()
const;
183 void setString(
char *sp);
187 void expandEnvironment();
189 operator const char *()
const;
190 operator bool()
const;
191 operator int32()
const;
192 operator int64()
const;
195 operator void *()
const;
217 const char *
className()
const override {
return "UI_Value"; }
220 int getNumInterested()
const;
224 void dumpInterests(std::ostream &os,
225 const char *prefix = 0)
const;
236 bool isTraced()
const {
return myTraceLevel != TL_NONE; }
279 : myClientId(who->getProxyId())
285 ui_Client(
const ui_Client&
copy) =
delete;
288 ui_Client(ui_Client&&
src) =
default;
291 bool isEqual(
int id) {
return myClientId ==
id; }
292 int getClientId() {
return myClientId; }
293 UI_Object * getClient() {
return myClientId; }
301 using ui_ClientList = std::deque<ui_Client>;
303 using ui_ClientListIter = ui_ClientList::iterator;
306 ui_ClientListIter ibegin() {
return myInterests->begin(); }
308 ui_ClientListIter iend() {
return myInterests->end(); }
312 TraceLevel myTraceLevel:2;
313 ui_ClientListPtr myInterests;
314 const char* myFormat;
322 return myInterests ?
int(myInterests->size()) : 0;
328 if (!myInterests || i < 0 || i >= myInterests->size())
331 return (*myInterests)[i].getClient();
337 if (min_value > max_value)
343 if (myValue.d < min_value)
344 myValue.d = min_value;
345 else if (myValue.d > max_value)
350 if (myValue.i < min_value)
351 myValue.i = (
int)min_value;
352 else if (myValue.i > max_value)
353 myValue.i = (
int)max_value;
357 for (
exint i = 1, n = myValue.a[0]; i < n; ++i)
359 if (myValue.a[n] < min_value)
360 myValue.a[
n] = min_value;
361 else if (myValue.a[n] > max_value)
367 for (
exint i = 1, n = myValue.a[0]; i < n; ++i)
369 if (myValue.j[n] < (
int)min_value)
370 myValue.j[n] = (
int)min_value;
constexpr auto max_value() -> T
typedef int(APIENTRYP RE_PFNGLXSWAPINTERVALSGIPROC)(int)
friend std::ostream & operator<<(std::ostream &os, const UI_Value &v)
GLenum GLuint GLsizei bufsize
UI_API size_t format(char *buffer, size_t buffer_size, const UI_ValueType &v)
void operator=(const UI_Value &v)
UI_Object * getInterest(int index) const
virtual void setTraceLevel(TraceLevel tl)
OIIO_UTIL_API bool copy(string_view from, string_view to, std::string &err)
const char * getFormat() const
void setFormat(const char *fmt)
GLboolean GLboolean GLboolean GLboolean a
ImageBuf OIIO_API min(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
void operator=(fpreal64 f)
__hostdev__ void setValue(uint32_t offset, bool v)
TraceLevel getTraceLevel() const
void operator=(fpreal32 f)
__hostdev__ float getValue(uint32_t i) const
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
virtual void handleEvent(UI_Event *event)
void operator=(const char *s)
virtual int isVector() const
GLint GLint GLsizei GLint GLenum format
int save(std::ostream &os) const
SYS_FORCE_INLINE UI_ValueType getType() const
void clampValue(fpreal min_value, fpreal max_value)
const char * className() const override
LeafData & operator=(const LeafData &)=delete
int getNumInterested() const
ImageBuf OIIO_API max(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
virtual void deleteReferences(UI_Object *to_whom)
void(UI_Object::* UI_EventMethod)(UI_Event *)
void operator=(const UT_Color &c)