mirror of
https://github.com/Heretek-AI/GDevelop.git
synced 2026-07-21 17:45:25 -04:00
178 lines
4.4 KiB
C++
178 lines
4.4 KiB
C++
/*
|
|
* GDevelop Core
|
|
* Copyright 2008-2018 Florian Rival (Florian.Rival@gmail.com). All rights
|
|
* reserved. This project is released under the MIT License.
|
|
*/
|
|
|
|
#ifndef GDCORE_LOADINGSCREEN_H
|
|
#define GDCORE_LOADINGSCREEN_H
|
|
#include "GDCore/String.h"
|
|
namespace gd {
|
|
class SerializerElement;
|
|
}
|
|
|
|
namespace gd {
|
|
|
|
/**
|
|
* \brief Describe the content and set up of the loading screen
|
|
*
|
|
* \see gd::LoadingScreen
|
|
*
|
|
* \ingroup PlatformDefinition
|
|
*/
|
|
class GD_CORE_API LoadingScreen {
|
|
public:
|
|
LoadingScreen();
|
|
virtual ~LoadingScreen(){};
|
|
|
|
/**
|
|
* \brief Return true if the GDevelop logo should be shown while loading
|
|
* assets.
|
|
*/
|
|
bool IsGDevelopLogoShownDuringLoadingScreen() const { return showGDevelopLogoDuringLoadingScreen; };
|
|
|
|
/**
|
|
* \brief Set if the GDevelop logo should be shown while loading assets.
|
|
*/
|
|
LoadingScreen& ShowGDevelopLogoDuringLoadingScreen(bool show) {
|
|
showGDevelopLogoDuringLoadingScreen = show;
|
|
return *this;
|
|
};
|
|
|
|
const gd::String& GetGDevelopLogoStyle() const { return gdevelopLogoStyle; };
|
|
|
|
LoadingScreen& SetGDevelopLogoStyle(const gd::String& value) {
|
|
gdevelopLogoStyle = value;
|
|
return *this;
|
|
}
|
|
|
|
const gd::String& GetBackgroundImageResourceName() const {
|
|
return backgroundImageResourceName;
|
|
};
|
|
|
|
gd::String& GetBackgroundImageResourceName() {
|
|
return backgroundImageResourceName;
|
|
};
|
|
|
|
LoadingScreen& SetBackgroundImageResourceName(const gd::String& value) {
|
|
backgroundImageResourceName = value;
|
|
return *this;
|
|
}
|
|
|
|
int GetBackgroundColor() const { return backgroundColor; };
|
|
|
|
LoadingScreen& SetBackgroundColor(int value) {
|
|
backgroundColor = value;
|
|
return *this;
|
|
}
|
|
|
|
double GetBackgroundFadeInDuration() const {
|
|
return backgroundFadeInDuration;
|
|
};
|
|
|
|
LoadingScreen& SetBackgroundFadeInDuration(double value) {
|
|
backgroundFadeInDuration = value;
|
|
return *this;
|
|
}
|
|
|
|
double GetMinDuration() const { return minDuration; };
|
|
|
|
LoadingScreen& SetMinDuration(double value) {
|
|
minDuration = value;
|
|
return *this;
|
|
}
|
|
|
|
double GetLogoAndProgressFadeInDuration() const {
|
|
return logoAndProgressFadeInDuration;
|
|
}
|
|
|
|
LoadingScreen& SetLogoAndProgressFadeInDuration(double value) {
|
|
logoAndProgressFadeInDuration = value;
|
|
return *this;
|
|
}
|
|
|
|
double GetLogoAndProgressLogoFadeInDelay() const {
|
|
return logoAndProgressLogoFadeInDelay;
|
|
}
|
|
|
|
LoadingScreen& SetLogoAndProgressLogoFadeInDelay(double value) {
|
|
logoAndProgressLogoFadeInDelay = value;
|
|
return *this;
|
|
}
|
|
|
|
bool GetShowProgressBar() const { return showProgressBar; }
|
|
|
|
LoadingScreen& SetShowProgressBar(bool value) {
|
|
showProgressBar = value;
|
|
return *this;
|
|
}
|
|
|
|
double GetProgressBarMinWidth() const { return progressBarMinWidth; }
|
|
|
|
LoadingScreen& SetProgressBarMinWidth(double value) {
|
|
progressBarMinWidth = value;
|
|
return *this;
|
|
}
|
|
|
|
double GetProgressBarMaxWidth() const { return progressBarMaxWidth; }
|
|
|
|
LoadingScreen& SetProgressBarMaxWidth(double value) {
|
|
progressBarMaxWidth = value;
|
|
return *this;
|
|
}
|
|
|
|
double GetProgressBarWidthPercent() const { return progressBarWidthPercent; }
|
|
|
|
LoadingScreen& SetProgressBarWidthPercent(double value) {
|
|
progressBarWidthPercent = value;
|
|
return *this;
|
|
}
|
|
|
|
double GetProgressBarHeight() const { return progressBarHeight; }
|
|
|
|
LoadingScreen& SetProgressBarHeight(double value) {
|
|
progressBarHeight = value;
|
|
return *this;
|
|
}
|
|
|
|
int GetProgressBarColor() const { return progressBarColor; }
|
|
|
|
LoadingScreen& SetProgressBarColor(int value) {
|
|
progressBarColor = value;
|
|
return *this;
|
|
}
|
|
|
|
/** \name Saving and loading
|
|
*/
|
|
///@{
|
|
/**
|
|
* \brief Serialize the loading screen setup.
|
|
*/
|
|
void SerializeTo(SerializerElement& element) const;
|
|
|
|
/**
|
|
* \brief Unserialize the loading screen setup.
|
|
*/
|
|
void UnserializeFrom(const SerializerElement& element);
|
|
///@}
|
|
|
|
private:
|
|
bool showGDevelopLogoDuringLoadingScreen;
|
|
gd::String gdevelopLogoStyle;
|
|
gd::String backgroundImageResourceName;
|
|
int backgroundColor;
|
|
double backgroundFadeInDuration; // In seconds.
|
|
double minDuration; // In seconds.
|
|
double logoAndProgressFadeInDuration; // In seconds.
|
|
double logoAndProgressLogoFadeInDelay; // In seconds.
|
|
bool showProgressBar;
|
|
double progressBarMinWidth; // In pixels.
|
|
double progressBarMaxWidth; // In pixels.
|
|
double progressBarWidthPercent;
|
|
double progressBarHeight; // In pixels.
|
|
int progressBarColor;
|
|
};
|
|
} // namespace gd
|
|
|
|
#endif // GDCORE_LOADINGSCREEN_H
|