| GL Studio C++ Runtime API

splash_display.h
Go to the documentation of this file.
1/*! \file
2 \brief The SplashDisplay class.
3
4 \par Copyright Information
5
6 Copyright (c) 2019 by The DiSTI Corporation.<br>
7 11301 Corporate Blvd; Suite 100<br>
8 Orlando, Florida 32817<br>
9 USA<br>
10 <br>
11 All rights reserved.<br>
12
13 This Software contains proprietary trade secrets of DiSTI and may not be
14 reproduced, in whole or part, in any form, or by any means of electronic,
15 mechanical, or otherwise, without the written permission of DiSTI. Said
16 permission may be derived through the purchase of applicable DiSTI product
17 licenses which detail the distribution rights of this content and any
18 Derivative Works based on this or other copyrighted DiSTI Software.
19
20 NO WARRANTY. THE SOFTWARE IS PROVIDED "AS-IS," WITHOUT WARRANTY OF ANY KIND,
21 AND ANY USE OF THIS SOFTWARE PRODUCT IS AT YOUR OWN RISK. TO THE MAXIMUM EXTENT
22 PERMITTED BY APPLICABLE LAW, DISTI AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES
23 AND CONDITIONS, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
24 IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY AND/OR FITNESS FOR A
25 PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT, WITH REGARD TO THE SOFTWARE.
26
27 LIMITATION OF LIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW,
28 IN NO EVENT SHALL DISTI OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
29 INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION,
30 DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS
31 INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR
32 INABILITY TO USE THE SOFTWARE, EVEN IF DISTI HAS BEEN ADVISED OF THE POSSIBILITY
33 OF SUCH DAMAGES. DISTI'S ENTIRE LIABILITY AND YOUR EXCLUSIVE REMEDY SHALL NOT
34 EXCEED FIVE DOLLARS (US$5.00).
35
36 The aforementioned terms and restrictions are governed by the laws of the
37 State of Florida and the United States of America.
38
39*/
40
41///////////////////////////////////////////////////////////////////////////////
42// This file is generated by GL Studio. DO NOT EDIT.
43// To modify, run "glstudio splashtemp.gls", edit, then select Code/Generate All.
44// Generated from splashtemp.gls using GL Studio 8.0.0
45///////////////////////////////////////////////////////////////////////////////
46#ifndef _splash_display_h_
47#define _splash_display_h_
48
49#include "callback_caller.h"
50#include "display.h"
51#include "display_frame.h"
52#include "gls_include.h"
53
54#include "dynamic_library.h"
55
56// Fonts referenced by design and at run-time
57
58#include "component_base.h"
59#include "glpolygon.h"
60
61/// Provides support for creating DLLs.
62#if( defined( GLSGEN_EXPORT_SplashDisplay ) || defined( GLSGEN_IMPORT_SplashDisplay ) || defined( GLS_EXPORT_GENERATED ) || defined( GLS_IMPORT_GENERATED ) ) \
63 && defined( _MSC_VER )
64# if defined( GLSGEN_EXPORT_SplashDisplay ) || defined( GLS_EXPORT_GENERATED )
65# define GLSGEN_SplashDisplay_EXPORT __declspec( dllexport )
66# else
67# define GLSGEN_SplashDisplay_EXPORT __declspec( dllimport )
68# endif
69#else
70# define GLSGEN_SplashDisplay_EXPORT
71#endif
72///////////////////////////////////////////////////////////////////////////////
73
74//////////////////// User Code from section: "file splash_display.h" ////////////
75
76///////////////////////////////////////////////////////////////////////////////
77 namespace disti
78{
79/// \details The SplashDisplay class. Handles the visuals for the runtime splash screen.
80 class SplashDisplay : public ComponentBase
81{
82 public:
83 DISTI_DEPRECATED( "This identifier is forbidden by the C++ standard. Use BaseClass instead." )
84 typedef ComponentBase _BaseClass; ///< Deprecated typedef for the base class.
85 typedef ComponentBase BaseClass; ///< Typedef for the base class.
86
87 /// Constructor
88 /// \param name Unused, kept for backward compatibility.
89 GLSGEN_SplashDisplay_EXPORT SplashDisplay( const char* name = NULL );
90
91 /// Creates the geometry for this object.
92 GLSGEN_SplashDisplay_EXPORT void CreateObjects();
93
94 typedef CallbackMethodCallerTemplate<SplashDisplay> CallbackMethodCaller; ///< Typedef for callback methods associated with this object.
95
96 // Object creators
97 // Textures
98 static unsigned char* rgb_data_1[]; ///< Inline data for splash texture.
99 static glsInlineImage image_data_1; ///< Inline image detail structure for splash texture.
100
101 // Geometry
102
103private:
104protected:
105public:
106 GLPolygon* Background; ///< The splash background object.
107 //////////////////// User Code from section: "Class Declaration" //////////////
108
109 ///////////////////////////////////////////////////////////////////////////////
110 public:
111 // Methods
112 /**
113 */
114 virtual GLSGEN_SplashDisplay_EXPORT void Initialize();
115 /**
116 */
117 virtual GLSGEN_SplashDisplay_EXPORT void Calculate( double time );
118 /**
119 */
120
121 /// Inner method to adjust the splash image to fit on the screen.
122 /// \param screenW The screen width in pixels.
123 /// \param screenH The screen height in pixels.
124 /// \param boxW The image width in pixels.
125 /// \param boxH The image height in pixels.
126 /// \param newW The returned width in pixels.
127 /// \param newH The returned height in pixels.
128 virtual GLSGEN_SplashDisplay_EXPORT void FitOnScreen( float screenW, float screenH, float boxW, float boxH, float& newW, float& newH );
129
130 /// Adjust the splash image to fit on the screen.
131 /// \param width The screen width in pixels.
132 /// \param height The screen height in pixels.
133 virtual GLSGEN_SplashDisplay_EXPORT void AdjustToFit( int width, int height );
134
135 /// \return A pointer to a new copy of this object.
136 /// \param generateNames Whether or not to generate an instance name for this object.
137 virtual GLSGEN_SplashDisplay_EXPORT DisplayObject* CloneObject( bool generateNames = false );
138
139#ifndef GLES
140 /** Get the details of the Cpp Interface
141 * The actual interface is exposed in compiled code.
142 * \param addToThisList A list to add to and then return. Creates a new one if NULL.
143 * \return A templated list.
144 * The caller must call the corresponding free method to
145 * safely free the memory.
146 */
147
148 virtual GLSGEN_SplashDisplay_EXPORT InterfaceListType* GetCppInterfaceDescription( InterfaceListType* addToThisList = NULL );
149 virtual GLSGEN_SplashDisplay_EXPORT void GetCppInterfaceDescriptionFree( InterfaceListType* array );
150#endif
151};
152} //namespace disti
153
154#endif
callback_caller.h
The disti::CallbackMethodCallerTemplate class and global enumerations.
disti::CallbackMethodCallerTemplate
Definition: callback_caller.h:61
disti::ComponentBase
Definition: component_base.h:68
disti::DisplayObject
Definition: display.h:96
disti::DynamicArray
Definition: dynamic_array.h:79
disti::GLPolygon
The Polygon class. Implements Polygons.
Definition: glpolygon.h:56
disti::Group
Definition: group.h:53
disti::SplashDisplay
Definition: splash_display.h:81
disti::SplashDisplay::FitOnScreen
virtual void FitOnScreen(float screenW, float screenH, float boxW, float boxH, float &newW, float &newH)
disti::SplashDisplay::rgb_data_1
static unsigned char * rgb_data_1[]
Inline data for splash texture.
Definition: splash_display.h:98
disti::SplashDisplay::Background
GLPolygon * Background
The splash background object. ///////////////// User Code from section: "Class Declaration" /////////...
Definition: splash_display.h:106
disti::SplashDisplay::AdjustToFit
virtual void AdjustToFit(int width, int height)
disti::SplashDisplay::Calculate
virtual void Calculate(double time)
disti::SplashDisplay::CreateObjects
void CreateObjects()
Creates the geometry for this object.
disti::SplashDisplay::CloneObject
virtual DisplayObject * CloneObject(bool generateNames=false)
disti::SplashDisplay::Initialize
virtual void Initialize()
disti::SplashDisplay::image_data_1
static glsInlineImage image_data_1
Inline image detail structure for splash texture.
Definition: splash_display.h:99
component_base.h
The disti::ComponentBase class.
display.h
The disti::DisplayObject class and global enumerations.
display_frame.h
The disti::DisplayFrame class.
dynamic_library.h
A cross-platform class for loading dynamic link libraries and shared objects.
glpolygon.h
The disti::GLPolygon class. Implements Polygons.
DISTI_DEPRECATED
#define DISTI_DEPRECATED(msg)
Defines whether this compiler supports the C++14 deprecated attribute.
Definition: gls_cpp_lang_support.h:488
gls_include.h
A file for all GL Studio files to include.
disti
Definition: bmpimage.h:47
GLSGEN_SplashDisplay_EXPORT
#define GLSGEN_SplashDisplay_EXPORT
Provides support for creating DLLs.
Definition: splash_display.h:70
disti::glsInlineImage
Definition: image.h:82