pqInteractiveViewLink.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-FileCopyrightText: Copyright (c) Sandia Corporation
3 // SPDX-License-Identifier: BSD-3-Clause
4 #ifndef pqInteractiveViewLink_h
5 #define pqInteractiveViewLink_h
6 
7 #include "pqCoreModule.h"
8 #include <QObject>
9 
10 class pqRenderView;
11 class vtkPVXMLElement;
12 
18 class PQCORE_EXPORT pqInteractiveViewLink : public QObject
19 {
20  Q_OBJECT;
21  typedef QObject Superclass;
22 
23 public:
24  pqInteractiveViewLink(pqRenderView* displayView, pqRenderView* linkedView, double xPos = 0.375,
25  double yPos = 0.375, double xSize = 0.25, double ySize = 0.25);
26  ~pqInteractiveViewLink() override;
27 
28  // Save this interactive view link in xml node
29  virtual void saveXMLState(vtkPVXMLElement* xml);
30 
31  // Set/Get the view link opacity, between 0 and 1
32  virtual void setOpacity(double opacity);
33  virtual double getOpacity();
34 
35  // Set/get whether to hide the background of the linked view
36  virtual void setHideLinkedViewBackground(bool hide);
37  virtual bool getHideLinkedViewBackground();
38 
39 protected:
40  // Generate a correct draw method call from current situation
41  // on the back buffer
42  virtual void drawViewLink();
43 
44  // draw pixels on the display Window at ViewLink position
45  virtual void drawViewLink(int setFront);
46 
47  // update the linked window
48  virtual void renderLinkedView();
49 
50  // method to set rendered flag to true
51  virtual void linkedWindowRendered();
52 
53 protected Q_SLOTS: // NOLINT(readability-redundant-access-specifiers)
54 
55  // draw pixels on the front buffer
56  virtual void finalRenderDisplayView();
57 
58 private:
59  class pqInternal;
60  pqInternal* Internal;
61 };
62 
63 #endif
#define PQCORE_EXPORT
Definition: pqCoreModule.h:15
This is used by vtkPVXMLParser to represent an XML document starting at the root element.