56 #ifndef vtkScalarBarActor_h
57 #define vtkScalarBarActor_h
60 #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);
199 vtkSetStringMacro(LabelFormat);
200 vtkGetStringMacro(LabelFormat);
207 vtkSetStringMacro(Title);
208 vtkGetStringMacro(Title);
215 vtkSetStringMacro(ComponentTitle);
216 vtkGetStringMacro(ComponentTitle);
228 vtkSetMacro(TextureGridWidth,
double);
229 vtkGetMacro(TextureGridWidth,
double);
241 PrecedeScalarBar = 0,
254 vtkSetClampMacro(TextPosition,
int, PrecedeScalarBar, SucceedScalarBar);
255 vtkGetMacro(TextPosition,
int);
274 vtkSetMacro(MaximumWidthInPixels,
int);
275 vtkGetMacro(MaximumWidthInPixels,
int);
276 vtkSetMacro(MaximumHeightInPixels,
int);
277 vtkGetMacro(MaximumHeightInPixels,
int);
286 vtkSetMacro(AnnotationLeaderPadding,
double);
287 vtkGetMacro(AnnotationLeaderPadding,
double);
318 vtkSetMacro(DrawBelowRangeSwatch,
bool);
319 vtkGetMacro(DrawBelowRangeSwatch,
bool);
320 vtkBooleanMacro(DrawBelowRangeSwatch,
bool);
327 vtkSetStringMacro(BelowRangeAnnotation);
328 vtkGetStringMacro(BelowRangeAnnotation);
337 vtkSetMacro(DrawAboveRangeSwatch,
bool);
338 vtkGetMacro(DrawAboveRangeSwatch,
bool);
339 vtkBooleanMacro(DrawAboveRangeSwatch,
bool);
346 vtkSetStringMacro(AboveRangeAnnotation);
347 vtkGetStringMacro(AboveRangeAnnotation);
358 vtkSetMacro(FixedAnnotationLeaderLineColor,
vtkTypeBool);
359 vtkGetMacro(FixedAnnotationLeaderLineColor,
vtkTypeBool);
360 vtkBooleanMacro(FixedAnnotationLeaderLineColor,
vtkTypeBool);
367 vtkSetStringMacro(NanAnnotation);
368 vtkGetStringMacro(NanAnnotation);
382 vtkBooleanMacro(AnnotationTextScaling,
vtkTypeBool);
445 vtkGetMacro(TextPad,
int);
446 vtkSetMacro(TextPad,
int);
455 vtkGetMacro(VerticalTitleSeparation,
int);
456 vtkSetMacro(VerticalTitleSeparation,
int);
464 vtkGetMacro(BarRatio,
double);
465 vtkSetClampMacro(BarRatio,
double, 0., 1.);
475 vtkGetMacro(TitleRatio,
double);
476 vtkSetClampMacro(TitleRatio,
double, 0., 1.);
485 vtkSetMacro(UnconstrainedFontSize,
bool);
486 vtkGetMacro(UnconstrainedFontSize,
bool);
487 vtkBooleanMacro(UnconstrainedFontSize,
bool);
525 virtual int RebuildLayoutIfNeeded(
vtkViewport* viewport);
530 virtual void FreeLayoutStorage();
540 virtual void ComputeFrame();
551 virtual void ComputeScalarBarThickness();
556 virtual void ComputeSwatchPad();
560 virtual void LayoutNanSwatch();
568 virtual void LayoutBelowRangeSwatch();
576 virtual void LayoutAboveRangeSwatch();
584 virtual void LayoutAboveRangeSwatchPosn();
589 virtual void PrepareTitleText();
601 virtual void LayoutTitle();
607 virtual void LayoutForUnconstrainedFont();
617 virtual void ComputeScalarBarLength();
628 virtual void LayoutTicks();
637 virtual void LayoutAnnotations();
642 virtual void ConfigureAnnotations();
647 virtual void ConfigureFrame();
652 virtual void DrawBoxes();
657 virtual void ConfigureScalarBar();
662 virtual void ConfigureTitle();
667 virtual void ConfigureTicks();
675 virtual void ConfigureNanSwatch();
681 virtual void ConfigureAboveBelowRangeSwatch(
bool above);
698 virtual void SizeTitle(
double* titleSize,
int*
size,
vtkViewport* viewport);
703 int MapAnnotationLabels(
709 int PlaceAnnotationsVertically(
710 double barX,
double barY,
double barWidth,
double barHeight,
double delta,
double pad);
715 int PlaceAnnotationsHorizontally(
716 double barX,
double barY,
double barWidth,
double barHeight,
double delta,
double pad);