72 lines
1.7 KiB
C++
72 lines
1.7 KiB
C++
/*=========================================================================
|
|
|
|
Program: Visualization Toolkit
|
|
Module: vtkContextItem.h
|
|
|
|
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
|
|
All rights reserved.
|
|
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
|
|
|
|
This software is distributed WITHOUT ANY WARRANTY; without even
|
|
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
PURPOSE. See the above copyright notice for more information.
|
|
|
|
=========================================================================*/
|
|
|
|
/**
|
|
* @class vtkContextItem
|
|
* @brief base class for items that are part of a vtkContextScene.
|
|
*
|
|
*
|
|
* Derive from this class to create custom items that can be added to a
|
|
* vtkContextScene.
|
|
*/
|
|
|
|
#ifndef vtkContextItem_h
|
|
#define vtkContextItem_h
|
|
|
|
#include "vtkAbstractContextItem.h"
|
|
#include "vtkRenderingContext2DModule.h" // For export macro
|
|
|
|
class vtkContextTransform;
|
|
|
|
class VTKRENDERINGCONTEXT2D_EXPORT vtkContextItem : public vtkAbstractContextItem
|
|
{
|
|
public:
|
|
vtkTypeMacro(vtkContextItem, vtkAbstractContextItem);
|
|
void PrintSelf(ostream& os, vtkIndent indent) override;
|
|
|
|
///@{
|
|
/**
|
|
* Get the opacity of the item.
|
|
*/
|
|
vtkGetMacro(Opacity, double);
|
|
///@}
|
|
|
|
///@{
|
|
/**
|
|
* Set the opacity of the item.
|
|
* 1.0 by default.
|
|
*/
|
|
vtkSetMacro(Opacity, double);
|
|
///@}
|
|
|
|
/**
|
|
* Set the transform of the item.
|
|
*/
|
|
virtual void SetTransform(vtkContextTransform*);
|
|
|
|
protected:
|
|
vtkContextItem() = default;
|
|
~vtkContextItem() override;
|
|
|
|
double Opacity = 1.0;
|
|
vtkContextTransform* Transform = nullptr;
|
|
|
|
private:
|
|
vtkContextItem(const vtkContextItem&) = delete;
|
|
void operator=(const vtkContextItem&) = delete;
|
|
};
|
|
|
|
#endif // vtkContextItem_h
|