24#ifndef _SO_QT_COLOR_WHEEL_
25#define _SO_QT_COLOR_WHEEL_
27#include <Inventor/Qt/OivQtCompat.h>
28#include <Inventor/SbColor.h>
29#include <Inventor/SbLinear.h>
30#include <Inventor/Qt/SoQtGLWidget.h>
31#include <Inventor/misc/SoCallbackList.h>
37typedef void SoQtColorWheelCB(
void *userData,
const float hsv[3]);
56 SoQtColorWheel(QWidget* parent = NULL,
57 const char *name = NULL,
58 SbBool buildInsideParent = TRUE);
67 void setBaseColor(
const float hsv[3]);
68 const float *getBaseColor() {
return hsvColor; }
75 void setWYSIWYG(
SbBool trueOrFalse);
76 SbBool isWYSIWYG() {
return WYSIWYGmode; }
85 void addStartCallback(
87 void *userData = NULL)
88 { startCallbacks->addCallback((SoCallbackListCB *) f, userData); }
90 void addValueChangedCallback(
92 void *userData = NULL)
93 { changedCallbacks->addCallback((SoCallbackListCB *) f, userData); }
95 void addFinishCallback(
97 void *userData = NULL)
98 { finishCallbacks->addCallback((SoCallbackListCB *) f, userData); }
100 void removeStartCallback(
102 void *userData = NULL)
103 { startCallbacks->removeCallback((SoCallbackListCB *) f, userData); }
105 void removeValueChangedCallback(
107 void *userData = NULL)
108 { changedCallbacks->removeCallback((SoCallbackListCB *) f, userData); }
110 void removeFinishCallback(
112 void *userData = NULL)
113 { finishCallbacks->removeCallback((SoCallbackListCB *) f, userData); }
117 SbBool isInteractive() {
return interactive; }
131 QWidget* buildWidget(QWidget* parent);
136 virtual void redraw();
137 virtual void redrawOverlay();
138 virtual void processEvent(QEvent *anyevent);
139 virtual void sizeChanged(
const SbVec2s &newSize);
146 SbColor *defaultColors, *colors;
157 void makeWheelGeometry();
158 void makeWheelColors(
SbColor *col,
float intensity);
159 void drawWheelSurrounding();
160 void drawWheelColors();
161 void checkMarkerColor();
162 void drawWheelMarker();
163 void moveWheelMarker(
short x,
short y);
166 void constructorCommon(
SbBool buildNow);
168 void SaveUnder(
short x,
short y);
172 short nSaveX, nSaveY;
174 unsigned long *pSaveBuf;
180#if defined(__APPLE__) || defined(_WIN32)
181 int nMarkR, nMarkG, nMarkB;
Manages a list of callbacks and associated data.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Translates and r...