56 #ifndef vtkScalarBarActor_h
57 #define vtkScalarBarActor_h
59 #include "vtkRenderingAnnotationModule.h"
74 #define VTK_ORIENT_HORIZONTAL 0
75 #define VTK_ORIENT_VERTICAL 1
116 virtual void GetScalarBarRect(
int rect[4],
vtkViewport* viewport);
148 vtkSetClampMacro(MaximumNumberOfColors,
int, 2,
VTK_INT_MAX);
149 vtkGetMacro(MaximumNumberOfColors,
int);
156 vtkSetClampMacro(NumberOfLabels,
int, 0, 64);
157 vtkGetMacro(NumberOfLabels,
int);
165 vtkGetMacro(Orientation,
int);
200 vtkSetStringMacro(LabelFormat);
201 vtkGetStringMacro(LabelFormat);
208 vtkSetStringMacro(Title);
209 vtkGetStringMacro(Title);
216 vtkSetStringMacro(ComponentTitle);
217 vtkGetStringMacro(ComponentTitle);
229 vtkSetMacro(TextureGridWidth,
double);
230 vtkGetMacro(TextureGridWidth,
double);
240 enum { PrecedeScalarBar = 0, SucceedScalarBar };
251 vtkSetClampMacro(TextPosition,
int, PrecedeScalarBar, SucceedScalarBar);
252 vtkGetMacro(TextPosition,
int);
267 vtkSetMacro(MaximumWidthInPixels,
int);
268 vtkGetMacro(MaximumWidthInPixels,
int);
269 vtkSetMacro(MaximumHeightInPixels,
int);
270 vtkGetMacro(MaximumHeightInPixels,
int);
279 vtkSetMacro(AnnotationLeaderPadding,
double);
280 vtkGetMacro(AnnotationLeaderPadding,
double);
311 vtkSetMacro(DrawBelowRangeSwatch,
bool);
312 vtkGetMacro(DrawBelowRangeSwatch,
bool);
313 vtkBooleanMacro(DrawBelowRangeSwatch,
bool);
320 vtkSetStringMacro(BelowRangeAnnotation);
321 vtkGetStringMacro(BelowRangeAnnotation);
330 vtkSetMacro(DrawAboveRangeSwatch,
bool);
331 vtkGetMacro(DrawAboveRangeSwatch,
bool);
332 vtkBooleanMacro(DrawAboveRangeSwatch,
bool);
339 vtkSetStringMacro(AboveRangeAnnotation);
340 vtkGetStringMacro(AboveRangeAnnotation);
351 vtkSetMacro(FixedAnnotationLeaderLineColor,
vtkTypeBool);
352 vtkGetMacro(FixedAnnotationLeaderLineColor,
vtkTypeBool);
353 vtkBooleanMacro(FixedAnnotationLeaderLineColor,
vtkTypeBool);
360 vtkSetStringMacro(NanAnnotation);
361 vtkGetStringMacro(NanAnnotation);
375 vtkBooleanMacro(AnnotationTextScaling,
vtkTypeBool);
438 vtkGetMacro(TextPad,
int);
439 vtkSetMacro(TextPad,
int);
448 vtkGetMacro(VerticalTitleSeparation,
int);
449 vtkSetMacro(VerticalTitleSeparation,
int);
457 vtkGetMacro(BarRatio,
double);
458 vtkSetClampMacro(BarRatio,
double, 0., 1.);
468 vtkGetMacro(TitleRatio,
double);
469 vtkSetClampMacro(TitleRatio,
double, 0., 1.);
478 vtkSetMacro(UnconstrainedFontSize,
bool);
479 vtkGetMacro(UnconstrainedFontSize,
bool);
480 vtkBooleanMacro(UnconstrainedFontSize,
bool);
518 virtual int RebuildLayoutIfNeeded(
vtkViewport* viewport);
524 virtual void FreeLayoutStorage();
534 virtual void ComputeFrame();
545 virtual void ComputeScalarBarThickness();
550 virtual void ComputeSwatchPad();
554 virtual void LayoutNanSwatch();
562 virtual void LayoutBelowRangeSwatch();
570 virtual void LayoutAboveRangeSwatch();
578 virtual void LayoutAboveRangeSwatchPosn();
583 virtual void PrepareTitleText();
595 virtual void LayoutTitle();
601 virtual void LayoutForUnconstrainedFont();
611 virtual void ComputeScalarBarLength();
622 virtual void LayoutTicks();
631 virtual void LayoutAnnotations();
636 virtual void ConfigureAnnotations();
641 virtual void ConfigureFrame();
646 virtual void DrawBoxes();
651 virtual void ConfigureScalarBar();
656 virtual void ConfigureTitle();
661 virtual void ConfigureTicks();
669 virtual void ConfigureNanSwatch();
675 virtual void ConfigureAboveBelowRangeSwatch(
bool above);
692 virtual void SizeTitle(
double* titleSize,
int*
size,
vtkViewport* viewport);
697 int MapAnnotationLabels(
703 int PlaceAnnotationsVertically(
704 double barX,
double barY,
double barWidth,
double barHeight,
705 double delta,
double pad);
709 int PlaceAnnotationsHorizontally(
710 double barX,
double barY,
double barWidth,
double barHeight,
711 double delta,
double pad);