59 #ifndef vtkScalarBarActor_h
60 #define vtkScalarBarActor_h
62 #include "vtkRenderingAnnotationModule.h"
77 #define VTK_ORIENT_HORIZONTAL 0
78 #define VTK_ORIENT_VERTICAL 1
119 virtual void GetScalarBarRect(
int rect[4],
vtkViewport* viewport);
151 vtkSetClampMacro(MaximumNumberOfColors,
int, 2,
VTK_INT_MAX);
152 vtkGetMacro(MaximumNumberOfColors,
int);
159 vtkSetClampMacro(NumberOfLabels,
int, 0, 64);
160 vtkGetMacro(NumberOfLabels,
int);
168 vtkGetMacro(Orientation,
int);
203 vtkSetStringMacro(LabelFormat);
204 vtkGetStringMacro(LabelFormat);
211 vtkSetStringMacro(Title);
212 vtkGetStringMacro(Title);
219 vtkSetStringMacro(ComponentTitle);
220 vtkGetStringMacro(ComponentTitle);
232 vtkSetMacro(TextureGridWidth,
double);
233 vtkGetMacro(TextureGridWidth,
double);
243 enum { PrecedeScalarBar = 0, SucceedScalarBar };
254 vtkSetClampMacro(TextPosition,
int, PrecedeScalarBar, SucceedScalarBar);
255 vtkGetMacro(TextPosition,
int);
270 vtkSetMacro(MaximumWidthInPixels,
int);
271 vtkGetMacro(MaximumWidthInPixels,
int);
272 vtkSetMacro(MaximumHeightInPixels,
int);
273 vtkGetMacro(MaximumHeightInPixels,
int);
282 vtkSetMacro(AnnotationLeaderPadding,
double);
283 vtkGetMacro(AnnotationLeaderPadding,
double);
314 vtkSetMacro(DrawBelowRangeSwatch,
bool);
315 vtkGetMacro(DrawBelowRangeSwatch,
bool);
316 vtkBooleanMacro(DrawBelowRangeSwatch,
bool);
323 vtkSetStringMacro(BelowRangeAnnotation);
324 vtkGetStringMacro(BelowRangeAnnotation);
333 vtkSetMacro(DrawAboveRangeSwatch,
bool);
334 vtkGetMacro(DrawAboveRangeSwatch,
bool);
335 vtkBooleanMacro(DrawAboveRangeSwatch,
bool);
342 vtkSetStringMacro(AboveRangeAnnotation);
343 vtkGetStringMacro(AboveRangeAnnotation);
354 vtkSetMacro(FixedAnnotationLeaderLineColor,
vtkTypeBool);
355 vtkGetMacro(FixedAnnotationLeaderLineColor,
vtkTypeBool);
356 vtkBooleanMacro(FixedAnnotationLeaderLineColor,
vtkTypeBool);
363 vtkSetStringMacro(NanAnnotation);
364 vtkGetStringMacro(NanAnnotation);
378 vtkBooleanMacro(AnnotationTextScaling,
vtkTypeBool);
441 vtkGetMacro(TextPad,
int);
442 vtkSetMacro(TextPad,
int);
451 vtkGetMacro(VerticalTitleSeparation,
int);
452 vtkSetMacro(VerticalTitleSeparation,
int);
460 vtkGetMacro(BarRatio,
double);
461 vtkSetClampMacro(BarRatio,
double, 0., 1.);
471 vtkGetMacro(TitleRatio,
double);
472 vtkSetClampMacro(TitleRatio,
double, 0., 1.);
481 vtkSetMacro(UnconstrainedFontSize,
bool);
482 vtkGetMacro(UnconstrainedFontSize,
bool);
483 vtkBooleanMacro(UnconstrainedFontSize,
bool);
521 virtual int RebuildLayoutIfNeeded(
vtkViewport* viewport);
527 virtual void FreeLayoutStorage();
537 virtual void ComputeFrame();
548 virtual void ComputeScalarBarThickness();
553 virtual void ComputeSwatchPad();
557 virtual void LayoutNanSwatch();
565 virtual void LayoutBelowRangeSwatch();
573 virtual void LayoutAboveRangeSwatch();
581 virtual void LayoutAboveRangeSwatchPosn();
586 virtual void PrepareTitleText();
598 virtual void LayoutTitle();
604 virtual void LayoutForUnconstrainedFont();
614 virtual void ComputeScalarBarLength();
625 virtual void LayoutTicks();
634 virtual void LayoutAnnotations();
639 virtual void ConfigureAnnotations();
644 virtual void ConfigureFrame();
649 virtual void DrawBoxes();
654 virtual void ConfigureScalarBar();
659 virtual void ConfigureTitle();
664 virtual void ConfigureTicks();
672 virtual void ConfigureNanSwatch();
678 virtual void ConfigureAboveBelowRangeSwatch(
bool above);
695 virtual void SizeTitle(
double* titleSize,
int*
size,
vtkViewport* viewport);
700 int MapAnnotationLabels(
706 int PlaceAnnotationsVertically(
707 double barX,
double barY,
double barWidth,
double barHeight,
708 double delta,
double pad);
712 int PlaceAnnotationsHorizontally(
713 double barX,
double barY,
double barWidth,
double barHeight,
714 double delta,
double pad);