56 void resize(
int width,
int height);
62 osg::ref_ptr<osgText::Text> textNode;
63 SGPropertyNode_ptr dynamicContent;
64 osg::Vec2 fractionalPosition;
65 double fractionalCharSize;
66 double maxWidthFraction = -1.0;
67 unsigned int maxLineCount = 0;
68 double maxHeightFraction = -1.0;
69 SGCondition* condition;
70 unsigned int drawMode;
71 void recomputeSize(
int height)
const;
72 void reposition(
int width,
int height)
const;
87 osg::ref_ptr<osg::Vec3Array> vertexArray =
nullptr;
88 osg::ref_ptr<osg::Image> Image =
nullptr;
89 SGCondition* condition;
90 osg::Node::NodeMask nodeMask;
97 void CreateTextFromNode(
const SGPropertyNode_ptr& content, osg::Geode* geode,
bool modelContent);
100 void updateSplashSpinner();
101 void updateTipText();
103 std::string selectSplashImage();
105 TextItem* addText(osg::Geode* geode,
const osg::Vec2& pos,
double size,
const std::string& text,
106 const osgText::Text::AlignmentType alignment,
107 SGPropertyNode* dynamicValue =
nullptr,
108 double maxWidthFraction = -1.0,
109 const osg::Vec4& textColor = osg::Vec4(1, 1, 1, 1),
110 const std::string &fontFace =
"Fonts/LiberationFonts/LiberationSans-BoldItalic.ttf");
112 osg::ref_ptr<osg::Camera> createFBOCamera();
113 void manuallyResizeFBO(
int width,
int height);
115 bool _legacySplashScreenMode =
false;
116 SGPropertyNode_ptr _splashAlphaNode;
117 osg::ref_ptr<osg::Camera> _splashFBOCamera;
118 osg::Vec3Array* _splashSpinnerVertexArray =
nullptr;
120 osg::ref_ptr<osg::Program> _program;
124 osg::Texture2D* _splashFBOTexture;
125 osg::Vec4Array* _splashFSQuadColor;
126 osg::ref_ptr<osg::Camera> _splashQuadCamera;
128 std::vector<ImageItem> _imageItems;
132 osg::ref_ptr<osgXR::Swapchain> _splashSwapchain;
133 osg::ref_ptr<osgXR::CompositionLayerQuad> _splashLayer;
136 std::vector<TextItem> _items;
138 SGTimeStamp _splashStartTime;
139 bool _haveSetStartupTip =
false;
140 const ImageItem* addImage(
const std::string& path,
bool isAbsolutePath,
double x,
double y,
double width,
double height, SGPropertyNode* condition,
bool isSplash);