21#include <Inventor/fields/SoSFString.h>
22#include <Inventor/fields/SoSFFloat.h>
23#include <Inventor/fields/SoSFEnum.h>
24#include <Inventor/fields/SoSFInt32.h>
25#include <Inventor/fields/SoSFVec3f.h>
26#include <Inventor/fields/SoSFVec2f.h>
27#include <Inventor/SbBox.h>
182 float getFontSizeInPixels(
View2DSlice* dslice)
const;
183 bool labelIsVisibleOnTimePoint(
const SoView2D*
const view2D)
const;
184 void getVisibleDeviceArea(
View2DSlice *dsl,
float& minX,
float& maxX,
float& minY,
float& maxY)
const;
186 SbVec2f _startDragDevicePosition;
187 SbVec3f _startWorldPosition;
188 SbVec2f _startRelativePosition;
189 SbBox2f _labelBounds;
190 int _currentInteractionSlice;
#define SOVIEW2D_API
File to resolve system dependencies in View2D library.
void pointerPosition(SoState *state, const SoPointerPosition &pos) override
Same as below, with additional SoState argument. By default, simply calls the below version.
void pointerLeftWindow(SoState *state) override
Same as below, with additional SoState argument. By defaults, simply calls the below version.
SoPointerPosition manages the current position of the mouse cursor.
SoView2DInteractionExtension(const std::string &actionID, bool positionSensitive=true)
SoSFVec2f relativeViewerPosition
SoSFEnum depthVisibilityMode
select the mode for depth visibility
SoSFBool showLabelOnAllTimePoints
SoSFFloat depthVisibility
SoSFBool highlighted
Set to true while the label should be highlighted, usually draws a border around the label.
SoSFColor backgroundColor
bool isSensitiveAt(const SoPointerPosition &pos) override
SoSFEnum verticalPosition
SoSFFloat depthMinimumAlpha
void setHighlightAt(const SoPointerPosition &pos) override
void startPressAt(const SoPointerPosition &pos) override
SoSFFloat backgroundMarginBottom
bool getTextLocation(View2DSliceList *dsl, View2DSlice *dslice, int slice, float &alphaToUse, float &dx, float &dy, int &textWidth, int &textHeight)
SoSFEnum horizontalPosition
void dragMoveTo(const SoPointerPosition &pos) override
SoSFFloat backgroundMarginLeft
static void initClass()
inventor runtime type system
~SoView2DLabel() override
SoSFBool useDepthVisibility
enables depth visibility
SoSFFloat horizontalOffset
SoSFBool keepCursorPositionInViewerWhenMoving
@ SHOW_BORDER_WHEN_HIGHLIGHTED
void unsetHighlight() override
depthVisibilityType
Depth visibility mode.
@ DEPTH_IN_SLICES
The depth visibility in number of slices.
@ DEPTH_IN_MM
The depth visibility in mm.
void pointerPosition(SoState *state, const SoPointerPosition &pos) override
FontSizeMode
Font size mode.
@ FONT_SIZE_IN_PIXELS
Font size in pixels.
@ FONT_SIZE_IN_MM
Font size in mm.
@ FONT_SIZE_IN_VOXELS
Font size in voxels.
SoSFFloat backgroundAlpha
SoSFFloat backgroundMarginRight
bool implementsManagedInteractionAndClassicEventHandling() const override
SoSFTypedEnum< BorderMode > borderMode
Defines the border mode.
void pointerLeftWindow(SoState *state) override
Same as below, with additional SoState argument. By defaults, simply calls the below version.
float getDepthVisibilityBlendValue(float distance, float voxelSizeZ)
SoView2DLabel()
Constructor.
void draw(View2DSliceList *dsl, View2DSlice *dslice, int slice) override
draw annotations on slice
SoSFFloat backgroundMarginTop
SoSFBool keepLabelInViewer
SoView2D is a 2D viewer for image data.
Abstract GL font drawing using FTGL.
a list that holds all View2DSlice objects (lazily created) of a SoView2D
a single slice that is stored in a View2DSliceList, typically created by a View2DSliceList