24 #ifndef __vtkKWRenderWidget_h
25 #define __vtkKWRenderWidget_h
28 #include "vtkWindows.h"
31 class vtkCornerAnnotation;
33 class vtkRenderWindow;
37 class vtkKWRenderWidgetInternals;
38 class vtkRenderWindowInteractor;
45 void PrintSelf(ostream& os, vtkIndent indent);
56 virtual void Render();
60 vtkGetMacro(RenderState,
int);
61 vtkSetClampMacro(RenderState,
int, 0, 1);
62 vtkBooleanMacro(RenderState,
int);
69 InteractiveRender = 0,
75 vtkSetClampMacro(RenderMode,
int,
78 vtkGetMacro(RenderMode,
int);
79 virtual void SetRenderModeToInteractive()
81 virtual void SetRenderModeToStill()
83 virtual void SetRenderModeToSingle()
85 virtual void SetRenderModeToDisabled()
92 virtual void SetCollapsingRenders(
int);
93 vtkBooleanMacro(CollapsingRenders,
int);
94 vtkGetMacro(CollapsingRenders,
int);
106 virtual void ResetCamera();
107 virtual void ResetCameraClippingRange();
119 virtual void AddBindings();
120 virtual void RemoveBindings();
121 virtual void AddInteractionBindings();
122 virtual void RemoveInteractionBindings();
128 virtual void SetAnnotationsVisibility(
int v);
129 vtkBooleanMacro(AnnotationsVisibility,
int);
136 virtual void SetCornerAnnotationVisibility(
int v);
137 virtual int GetCornerAnnotationVisibility();
138 virtual void ToggleCornerAnnotationVisibility();
139 vtkBooleanMacro(CornerAnnotationVisibility,
int);
140 virtual void SetCornerAnnotationColor(
double r,
double g,
double b);
141 virtual void SetCornerAnnotationColor(
double *rgb)
143 virtual double* GetCornerAnnotationColor();
144 vtkGetObjectMacro(CornerAnnotation, vtkCornerAnnotation);
145 vtkGetMacro(SupportCornerAnnotation,
int);
146 virtual void SetSupportCornerAnnotation(
int);
147 vtkBooleanMacro(SupportCornerAnnotation,
int);
151 virtual void SetHeaderAnnotationVisibility(
int v);
152 virtual int GetHeaderAnnotationVisibility();
153 virtual void ToggleHeaderAnnotationVisibility();
154 vtkBooleanMacro(HeaderAnnotationVisibility,
int);
155 virtual void SetHeaderAnnotationColor(
double r,
double g,
double b);
156 virtual void SetHeaderAnnotationColor(
double *rgb)
158 virtual double* GetHeaderAnnotationColor();
159 virtual void SetHeaderAnnotationText(
const char*);
160 virtual char* GetHeaderAnnotationText();
161 vtkGetObjectMacro(HeaderAnnotation, vtkTextActor);
165 virtual void SetDistanceUnits(
const char*);
166 vtkGetStringMacro(DistanceUnits);
170 vtkGetObjectMacro(RenderWindow, vtkRenderWindow);
171 virtual vtkRenderWindowInteractor* GetRenderWindowInteractor();
185 virtual vtkRenderer*
GetRenderer() {
return this->GetNthRenderer(0); }
186 virtual vtkRenderer* GetNthRenderer(
int index);
187 virtual int GetNumberOfRenderers();
188 virtual int GetRendererIndex(vtkRenderer*);
189 virtual void AddRenderer(vtkRenderer*);
190 virtual void RemoveRenderer(vtkRenderer*);
191 virtual void RemoveNthRenderer(
int index);
192 virtual void RemoveAllRenderers();
197 virtual vtkRenderer* GetOverlayRenderer()
198 {
return this->GetNthOverlayRenderer(0); }
199 virtual vtkRenderer* GetNthOverlayRenderer(
int index);
200 virtual int GetNumberOfOverlayRenderers();
201 virtual int GetOverlayRendererIndex(vtkRenderer*);
202 virtual void AddOverlayRenderer(vtkRenderer*);
203 virtual void RemoveOverlayRenderer(vtkRenderer*);
204 virtual void RemoveNthOverlayRenderer(
int index);
205 virtual void RemoveAllOverlayRenderers();
210 virtual void GetRendererBackgroundColor(
double *r,
double *g,
double *b);
211 virtual void SetRendererBackgroundColor(
double r,
double g,
double b);
212 virtual void SetRendererBackgroundColor(
double rgb[3])
214 virtual void GetRendererBackgroundColor2(
double *r,
double *g,
double *b);
215 virtual void SetRendererBackgroundColor2(
double r,
double g,
double b);
216 virtual void SetRendererBackgroundColor2(
double rgb[3])
218 virtual void SetRendererGradientBackground(
int);
219 virtual int GetRendererGradientBackground();
220 virtual void ToggleRendererGradientBackground();
226 virtual void AddViewProp(vtkProp *prop);
227 virtual void AddViewPropToNthRenderer(vtkProp *p,
int index);
228 virtual void AddOverlayViewProp(vtkProp *prop);
229 virtual void AddViewPropToNthOverlayRenderer(vtkProp *p,
int index);
233 virtual int HasViewProp(vtkProp *prop);
234 virtual void RemoveViewProp(vtkProp *prop);
235 virtual void RemoveAllViewProps();
241 virtual void ComputeVisiblePropBounds(
int index,
double bounds[6]);
245 virtual void SetPrinting(
int arg);
246 vtkBooleanMacro(Printing,
int);
247 vtkGetMacro(Printing,
int);
251 vtkBooleanMacro(OffScreenRendering,
int);
252 virtual void SetOffScreenRendering(
int);
253 virtual int GetOffScreenRendering();
258 vtkSetMacro(UseContextMenu,
int);
259 vtkGetMacro(UseContextMenu,
int);
260 vtkBooleanMacro(UseContextMenu,
int);
275 virtual void Register(vtkObjectBase* o);
280 #if defined(_WIN32) && !defined(__CYGWIN__)
281 virtual void SetupPrint(RECT &rcDest, HDC ghdc,
282 int printerPageSizeX,
int printerPageSizeY,
283 int printerDPIX,
int printerDPIY,
284 float scaleX,
float scaleY,
285 int screenSizeX,
int screenSizeY);
290 virtual void* GetMemoryDC();
302 virtual void MouseMoveCallback(
303 int num,
int x,
int y,
int ctrl,
int shift,
int alt);
304 virtual void MouseWheelCallback(
305 int delta,
int ctrl,
int shift,
int alt);
306 virtual void MouseButtonPressCallback(
307 int num,
int x,
int y,
int ctrl,
int shift,
int alt,
int repeat);
308 virtual void MouseButtonReleaseCallback(
309 int num,
int x,
int y,
int ctrl,
int shift,
int alt);
310 virtual void KeyPressCallback(
311 char key,
int x,
int y,
int ctrl,
int shift,
int alt,
char *keysym);
312 virtual void KeyReleaseCallback(
313 char key,
int x,
int y,
int ctrl,
int shift,
int alt,
char *keysym);
314 virtual void ConfigureCallback(
int width,
int height);
315 virtual void ExposeCallback();
316 virtual void EnterCallback(
int x,
int y);
317 virtual void LeaveCallback(
int x,
int y);
318 virtual void FocusInCallback();
319 virtual void FocusOutCallback();
320 virtual int RendererBackgroundColorCallback();
321 virtual int RendererBackgroundColor2Callback();
322 virtual void RendererGradientBackgroundCallback();
329 CornerAnnotationVisibilityChangedEvent = 24000,
332 RendererBackgroundColor2ChangedEvent
338 vtkGetStringMacro(RendererBackgroundColorRegKey);
339 vtkSetStringMacro(RendererBackgroundColorRegKey);
340 vtkGetStringMacro(RendererBackgroundColor2RegKey);
341 vtkSetStringMacro(RendererBackgroundColor2RegKey);
342 vtkGetStringMacro(RendererGradientBackgroundRegKey);
343 vtkSetStringMacro(RendererGradientBackgroundRegKey);
373 virtual void CreateDefaultRenderers();
379 virtual void InstallRenderers();
383 virtual void SetRenderersDefaultValues();
392 virtual void SetupMemoryRendering(
int width,
int height,
void *cd);
393 virtual void ResumeScreenRendering();
400 vtkObject *caller,
unsigned long event,
void *calldata);
421 virtual void PopulateContextMenu(
vtkKWMenu*);
423 virtual void PopulateContextMenuWithAnnotationEntries(
vtkKWMenu*);
425 virtual void PopulateContextMenuWithCameraEntries(
vtkKWMenu*);
426 virtual void PopulateContextMenuWithColorEntries(
vtkKWMenu*);
430 virtual void UpdateRenderWindowInteractorSize(
int width,
int height);