20#include <vrvGraphics/DtFont.h>
23#include <osg/Texture2D>
32class DtOverlayRendererInterface;
35class DtOverlayRenderer;
53class DtOsgTextureWrapper;
88 DtVrvOverlay(
const std::string& windowName,
const std::string& channelName);
156 virtual makVrv::DtOsgTextureWrapper*
createTexture(
const std::string& filename);
202 virtual bool findChannel(
const std::string& windowName,
const std::string& channelName);
238 const std::string& displayName,
const std::string& windowName,
const std::string& channelName);
Modern delegate class that can bind and invoke callables with any number of parameters.
Definition delegate.h:31
virtual makVrv::DtOverlayRenderer * overlay()
Gets the overlay renderer object.
virtual osg::Geode * geode()
Gets the geode node used for the overlay.
virtual float pixelH(float normalizedH)
Converts a normalized height to pixel height.
virtual void removeOverlayResizedHandler(const DtOverlayResizedDelegate &del)
Removes a previously added resize handler.
OverlayResizedList myOverlayResizedCallbacks
List of callbacks to notify when the overlay is resized.
Definition vrvOverlay.h:274
std::vector< osg::ref_ptr< osg::Texture2D > > myCachedTextures
Collection of cached textures to prevent garbage collection.
Definition vrvOverlay.h:268
virtual void destroyOverlay()
Destroys the overlay and cleans up resources.
virtual makVrv::DtTextProxy * createText()
Creates a text element for the overlay.
int myY
The Y position of the channel viewport.
Definition vrvOverlay.h:256
osg::ref_ptr< osg::Geode > myGeode
The OSG geode node containing the overlay drawable.
Definition vrvOverlay.h:250
int myW
The width of the channel viewport.
Definition vrvOverlay.h:259
virtual void onChannelDestroyed(const std::string &displayName, const std::string &windowName, const std::string &channelName)
Called when a channel is about to be destroyed.
virtual float pixelW(float normalizedW)
Converts a normalized width to pixel width.
std::vector< DtOverlayResizedDelegate > OverlayResizedList
Type definition for a list of resize handlers.
Definition vrvOverlay.h:271
virtual ~DtVrvOverlay()
Virtual destructor that cleans up resources.
virtual DtFontHolder * createFont(const std::string &filename, float size)
Creates a font for use with overlay text.
virtual makVrv::DtQuadProxy * createQuad()
Creates a quad element for the overlay.
makVrv::DtOsgChannel * myChannel
Pointer to the channel this overlay is attached to.
Definition vrvOverlay.h:247
virtual float pixelX(float normalizedX)
Converts a normalized X coordinate to pixel coordinates.
virtual bool setChannel(makVrv::DtOsgChannel *channel)
Sets the channel for this overlay.
int myH
The height of the channel viewport.
Definition vrvOverlay.h:262
DtVrvOverlay(const std::string &windowName, const std::string &channelName)
Constructor that creates an overlay for a specific window and channel.
virtual makVrv::DtLineSegment * createLine()
Creates a line element for the overlay.
int myX
The X position of the channel viewport.
Definition vrvOverlay.h:253
virtual bool createOverlay()
Creates the overlay rendering system.
makVrv::DtDe * myDe
Pointer to the display engine.
Definition vrvOverlay.h:241
std::vector< DtFontHolder * > myCachedFonts
Collection of cached fonts to prevent garbage collection.
Definition vrvOverlay.h:265
DtVrvOverlay(makVrv::DtOsgChannel *channel)
Constructor that creates an overlay for a specific channel.
virtual bool findChannel(const std::string &windowName, const std::string &channelName)
Finds a channel by name and sets it as the current channel.
virtual float pixelY(float normalizedY)
Converts a normalized Y coordinate to pixel coordinates.
virtual makVrv::DtOsgTextureWrapper * createTexture(const std::string &filename)
Creates a texture from an image file.
virtual void addOverlayResizedHandler(const DtOverlayResizedDelegate &del)
Adds a handler for overlay resize events.
makVrv::DtOverlayRenderer * myOverlayRenderer
Pointer to the overlay renderer.
Definition vrvOverlay.h:244
virtual void onViewportChanged()
Called when the viewport of the channel changes.
virtual makVrv::DtOsgChannel * channel()
Gets the channel associated with this overlay.
Defines export macros for the VR-Engage Player Station library.
#define PLAYERSTATION_DLL
Definition export.h:24
Include export definitions for this library.
Definition glsVreMessageUtil.h:49
DtDelegate< void > DtOverlayResizedDelegate
Delegate type for overlay resize events.
Definition vrvOverlay.h:70
Definition appLauncherComponent.h:28
Simple structure to hold a reference to a font.
Definition vrvOverlay.h:64
makVrv::DtFontInterface * myFont
Pointer to the font interface.
Definition vrvOverlay.h:66