81 virtual void setValue(
int32 i);
82 virtual void setValue(
int64 i);
89 virtual void setValue(
const int32 ip[],
exint n);
90 virtual void setValue(
const int64 ip[],
exint n);
92 virtual void setValue(
const char *s);
93 virtual void setValue(
const UI_Value &v);
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;
141 void getValue(
int32 *ip)
const;
142 void getValue(
int64 *ip)
const;
156 void getValue(
void **pp)
const;
161 exint getArrayLength()
const;
167 bool check_dup =
false);
169 bool check_dup =
false);
174 void removeAllInterests();
178 const char *getString()
const;
179 void setString(
char *sp);
183 void expandEnvironment();
185 operator const char *()
const;
186 operator bool()
const;
187 operator int32()
const;
188 operator int64()
const;
191 operator void *()
const;
213 const char *
className()
const override {
return "UI_Value"; }
216 int getNumInterested()
const;
220 void dumpInterests(std::ostream &os,
221 const char *prefix = 0)
const;
232 bool isTraced()
const {
return myTraceLevel != TL_NONE; }
275 : myClientId(who->getProxyId())
281 ui_Client(
const ui_Client&
copy) =
delete;
282 ui_Client& operator=(
const ui_Client&
copy) =
delete;
284 ui_Client(ui_Client&&
src) =
default;
285 ui_Client& operator=(ui_Client&&
src) =
default;
287 bool isEqual(
int id) {
return myClientId ==
id; }
288 int getClientId() {
return myClientId; }
289 UI_Object * getClient() {
return myClientId; }
297 using ui_ClientList = std::deque<ui_Client>;
299 using ui_ClientListIter = ui_ClientList::iterator;
302 ui_ClientListIter ibegin() {
return myInterests->begin(); }
304 ui_ClientListIter iend() {
return myInterests->end(); }
308 TraceLevel myTraceLevel:2;
309 ui_ClientListPtr myInterests;
310 const char* myFormat;
318 return myInterests ?
int(myInterests->size()) : 0;
324 if (!myInterests || i < 0 || i >= myInterests->size())
327 return (*myInterests)[i].getClient();
333 if (min_value > max_value)
339 if (myValue.d < min_value)
340 myValue.d = min_value;
341 else if (myValue.d > max_value)
346 if (myValue.i < min_value)
347 myValue.i = (
int)min_value;
348 else if (myValue.i > max_value)
349 myValue.i = (
int)max_value;
353 for (
exint i = 1, n = myValue.a[0]; i < n; ++i)
355 if (myValue.a[n] < min_value)
356 myValue.a[
n] = min_value;
357 else if (myValue.a[n] > max_value)
363 for (
exint i = 1, n = myValue.a[0]; i < n; ++i)
365 if (myValue.j[n] < (
int)min_value)
366 myValue.j[n] = (
int)min_value;
constexpr auto max_value() -> T
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)
ImageBuf OIIO_API min(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
void operator=(fpreal64 f)
TraceLevel getTraceLevel() const
void operator=(fpreal32 f)
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
GLboolean GLboolean GLboolean GLboolean a
typedef int(WINAPI *PFNWGLRELEASEPBUFFERDCARBPROC)(HPBUFFERARB hPbuffer
int save(std::ostream &os) const
SYS_FORCE_INLINE UI_ValueType getType() const
GLint GLint GLsizei GLint GLenum format
void clampValue(fpreal min_value, fpreal max_value)
const char * className() const override
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)