SudokuFX
Loading...
Searching...
No Matches
fr.softsf.sudokufx.view.SplashScreenView Class Reference

View class for the splash screen of the Sudoku application. More...

+ Inheritance diagram for fr.softsf.sudokufx.view.SplashScreenView:
+ Collaboration diagram for fr.softsf.sudokufx.view.SplashScreenView:

Public Member Functions

 SplashScreenView (final Stage splashScreenStageP)
 Constructor for SplashScreenView.
 
Scene getSplashScreenScene ()
 Returns the JavaFX scene used by the splash screen.
 
void hideSplashScreen ()
 Hides and closes the splash screen.
 
void showSplashScreen ()
 Displays the splash screen.
 

Private Member Functions

void animateFlowerSvg ()
 Animates the SVG flower.
 
void createSVG (final Region region, final String path, final double width, final double height, final double offsetX, final double offsetY)
 Creates an SVG shape and applies it to a Region.
 
void fxmlLikeStructure ()
 Sets up the basic structure and properties of the UI components, similar to what would be defined in an FXML file.
 
String getLoadingOrOptimizingMessage ()
 Retrieves a message indicating the current loading or optimizing state.
 
void nestingOfNodes ()
 Nests the UI components in their parent containers.
 
void nodesConfiguration ()
 Configures the properties and styles of the UI nodes.
 
void setSplashscreenvboxCenterhboxLogosoft64textsvg ()
 Sets up the SVG for the Soft64 text logo in the center of the splash screen.
 
void setSplashscreenvboxCenterhboxStackpaneLogoflowersvg ()
 Sets up the SVG for the flower logo in the center of the splash screen.
 
void setSplashscreenvboxTophboxLogosudosvg ()
 Sets up the SVG for the "sudo.svg" text logo in the center of the splash screen.
 

Private Attributes

final DropShadow dropShadow = new DropShadow()
 
Scene scene
 
double splashScreenFontSize
 
final Stage splashScreenStage
 
final VBox splashscreenvbox = new VBox()
 
final HBox splashscreenvboxbottomhbox = new HBox()
 
final HBox splashscreenvboxbottomhboxhbox = new HBox()
 
final Label splashscreenvboxBottomhboxHboxLoaderlabel = new Label()
 
final Label splashscreenvboxBottomhboxVersionlabel = new Label()
 
final Label splashscreenvboxBottomhboxYearlabel = new Label()
 
final HBox splashscreenvboxCenterhbox = new HBox()
 
final Region splashscreenvboxCenterhboxRegionflowersvg = new Region()
 
final Region splashscreenvboxCenterhboxRegiontextsvg = new Region()
 
final HBox splashScreenvboxtophbox = new HBox()
 
final Label splashscreenvboxTophboxNamelabel = new Label()
 
final Pane splashScreenvboxtophboxpane = new Pane()
 
final Region splashscreenvboxTophboxRegionsudosvg = new Region()
 

Static Private Attributes

static final double DROP_SHADOW_OFFSET_DIVISOR = 8.0
 
static final double DROP_SHADOW_RADIUS_DIVISOR = 2.0
 
static final double FLOWER_SVG_SCALE_FACTOR = 5.474
 
static final double FONT_SIZE_FACTOR = 0.0219
 
static final double INTERPOLATOR_CONTROL_X1 = 0.5
 
static final double INTERPOLATOR_CONTROL_X2 = 0.5
 
static final double INTERPOLATOR_CONTROL_Y1 = 0.0
 
static final double INTERPOLATOR_CONTROL_Y2 = 1.0
 
static final double ROTATE_FROM_ANGLE = -4.0
 
static final double ROTATE_TO_ANGLE = 4.0
 
static final double SOFT64_SVG_HEIGHT_SCALE = 2.0
 
static final double SOFT64_SVG_WIDTH_SCALE = 14.23
 
static final double SPLASHSCREEN_HEIGHT_FACTOR = 0.3
 
static final String SPLASHSCREEN_LABEL = "splashscreen-label"
 
static final double SPLASHSCREEN_WIDTH_FACTOR = 0.612
 
static final double STROKE_DIVISOR_FOR_SUDOSVG = 17
 
static final String STYLE_CSS
 

Detailed Description

View class for the splash screen of the Sudoku application.

This class is responsible for creating and managing the splash screen UI.

Lines="0-34" are excluded from Checkstyle's LineLength check (see checkstyle-suppressions.xml).

Constructor & Destructor Documentation

◆ SplashScreenView()

fr.softsf.sudokufx.view.SplashScreenView.SplashScreenView ( final Stage splashScreenStageP)

Constructor for SplashScreenView.

Initializes the splash screen UI and displays it.

Parameters
splashScreenStagePThe Stage to use for the splash screen
+ Here is the call graph for this function:

Member Function Documentation

◆ animateFlowerSvg()

void fr.softsf.sudokufx.view.SplashScreenView.animateFlowerSvg ( )
private

Animates the SVG flower.

◆ createSVG()

void fr.softsf.sudokufx.view.SplashScreenView.createSVG ( final Region region,
final String path,
final double width,
final double height,
final double offsetX,
final double offsetY )
private

Creates an SVG shape and applies it to a Region.

Parameters
regionThe Region to which the SVG shape will be applied
pathThe SVG path data
widthThe width of the SVG
heightThe height of the SVG
offsetXThe X offset of the SVG
offsetYThe Y offset of the SVG

◆ fxmlLikeStructure()

void fr.softsf.sudokufx.view.SplashScreenView.fxmlLikeStructure ( )
private

Sets up the basic structure and properties of the UI components, similar to what would be defined in an FXML file.

◆ getLoadingOrOptimizingMessage()

String fr.softsf.sudokufx.view.SplashScreenView.getLoadingOrOptimizingMessage ( )
private

Retrieves a message indicating the current loading or optimizing state.

The message returned depends on whether the Spring context is set to exit on refresh.

Returns
A string message indicating either a loading or optimizing state.

◆ getSplashScreenScene()

Scene fr.softsf.sudokufx.view.SplashScreenView.getSplashScreenScene ( )

Returns the JavaFX scene used by the splash screen.

Implements fr.softsf.sudokufx.common.interfaces.ISplashScreenView.

◆ hideSplashScreen()

void fr.softsf.sudokufx.view.SplashScreenView.hideSplashScreen ( )

Hides and closes the splash screen.

Implements fr.softsf.sudokufx.common.interfaces.ISplashScreenView.

◆ nestingOfNodes()

void fr.softsf.sudokufx.view.SplashScreenView.nestingOfNodes ( )
private

Nests the UI components in their parent containers.

◆ nodesConfiguration()

void fr.softsf.sudokufx.view.SplashScreenView.nodesConfiguration ( )
private

Configures the properties and styles of the UI nodes.

+ Here is the call graph for this function:

◆ setSplashscreenvboxCenterhboxLogosoft64textsvg()

void fr.softsf.sudokufx.view.SplashScreenView.setSplashscreenvboxCenterhboxLogosoft64textsvg ( )
private

Sets up the SVG for the Soft64 text logo in the center of the splash screen.

+ Here is the call graph for this function:

◆ setSplashscreenvboxCenterhboxStackpaneLogoflowersvg()

void fr.softsf.sudokufx.view.SplashScreenView.setSplashscreenvboxCenterhboxStackpaneLogoflowersvg ( )
private

Sets up the SVG for the flower logo in the center of the splash screen.

+ Here is the call graph for this function:

◆ setSplashscreenvboxTophboxLogosudosvg()

void fr.softsf.sudokufx.view.SplashScreenView.setSplashscreenvboxTophboxLogosudosvg ( )
private

Sets up the SVG for the "sudo.svg" text logo in the center of the splash screen.

+ Here is the call graph for this function:

◆ showSplashScreen()

void fr.softsf.sudokufx.view.SplashScreenView.showSplashScreen ( )

Displays the splash screen.

Implements fr.softsf.sudokufx.common.interfaces.ISplashScreenView.

Member Data Documentation

◆ DROP_SHADOW_OFFSET_DIVISOR

final double fr.softsf.sudokufx.view.SplashScreenView.DROP_SHADOW_OFFSET_DIVISOR = 8.0
staticprivate

◆ DROP_SHADOW_RADIUS_DIVISOR

final double fr.softsf.sudokufx.view.SplashScreenView.DROP_SHADOW_RADIUS_DIVISOR = 2.0
staticprivate

◆ dropShadow

final DropShadow fr.softsf.sudokufx.view.SplashScreenView.dropShadow = new DropShadow()
private

◆ FLOWER_SVG_SCALE_FACTOR

final double fr.softsf.sudokufx.view.SplashScreenView.FLOWER_SVG_SCALE_FACTOR = 5.474
staticprivate

◆ FONT_SIZE_FACTOR

final double fr.softsf.sudokufx.view.SplashScreenView.FONT_SIZE_FACTOR = 0.0219
staticprivate

◆ INTERPOLATOR_CONTROL_X1

final double fr.softsf.sudokufx.view.SplashScreenView.INTERPOLATOR_CONTROL_X1 = 0.5
staticprivate

◆ INTERPOLATOR_CONTROL_X2

final double fr.softsf.sudokufx.view.SplashScreenView.INTERPOLATOR_CONTROL_X2 = 0.5
staticprivate

◆ INTERPOLATOR_CONTROL_Y1

final double fr.softsf.sudokufx.view.SplashScreenView.INTERPOLATOR_CONTROL_Y1 = 0.0
staticprivate

◆ INTERPOLATOR_CONTROL_Y2

final double fr.softsf.sudokufx.view.SplashScreenView.INTERPOLATOR_CONTROL_Y2 = 1.0
staticprivate

◆ ROTATE_FROM_ANGLE

final double fr.softsf.sudokufx.view.SplashScreenView.ROTATE_FROM_ANGLE = -4.0
staticprivate

◆ ROTATE_TO_ANGLE

final double fr.softsf.sudokufx.view.SplashScreenView.ROTATE_TO_ANGLE = 4.0
staticprivate

◆ scene

Scene fr.softsf.sudokufx.view.SplashScreenView.scene
private

◆ SOFT64_SVG_HEIGHT_SCALE

final double fr.softsf.sudokufx.view.SplashScreenView.SOFT64_SVG_HEIGHT_SCALE = 2.0
staticprivate

◆ SOFT64_SVG_WIDTH_SCALE

final double fr.softsf.sudokufx.view.SplashScreenView.SOFT64_SVG_WIDTH_SCALE = 14.23
staticprivate

◆ SPLASHSCREEN_HEIGHT_FACTOR

final double fr.softsf.sudokufx.view.SplashScreenView.SPLASHSCREEN_HEIGHT_FACTOR = 0.3
staticprivate

◆ SPLASHSCREEN_LABEL

final String fr.softsf.sudokufx.view.SplashScreenView.SPLASHSCREEN_LABEL = "splashscreen-label"
staticprivate

◆ SPLASHSCREEN_WIDTH_FACTOR

final double fr.softsf.sudokufx.view.SplashScreenView.SPLASHSCREEN_WIDTH_FACTOR = 0.612
staticprivate

◆ splashScreenFontSize

double fr.softsf.sudokufx.view.SplashScreenView.splashScreenFontSize
private

◆ splashScreenStage

final Stage fr.softsf.sudokufx.view.SplashScreenView.splashScreenStage
private

◆ splashscreenvbox

final VBox fr.softsf.sudokufx.view.SplashScreenView.splashscreenvbox = new VBox()
private

◆ splashscreenvboxbottomhbox

final HBox fr.softsf.sudokufx.view.SplashScreenView.splashscreenvboxbottomhbox = new HBox()
private

◆ splashscreenvboxbottomhboxhbox

final HBox fr.softsf.sudokufx.view.SplashScreenView.splashscreenvboxbottomhboxhbox = new HBox()
private

◆ splashscreenvboxBottomhboxHboxLoaderlabel

final Label fr.softsf.sudokufx.view.SplashScreenView.splashscreenvboxBottomhboxHboxLoaderlabel = new Label()
private

◆ splashscreenvboxBottomhboxVersionlabel

final Label fr.softsf.sudokufx.view.SplashScreenView.splashscreenvboxBottomhboxVersionlabel = new Label()
private

◆ splashscreenvboxBottomhboxYearlabel

final Label fr.softsf.sudokufx.view.SplashScreenView.splashscreenvboxBottomhboxYearlabel = new Label()
private

◆ splashscreenvboxCenterhbox

final HBox fr.softsf.sudokufx.view.SplashScreenView.splashscreenvboxCenterhbox = new HBox()
private

◆ splashscreenvboxCenterhboxRegionflowersvg

final Region fr.softsf.sudokufx.view.SplashScreenView.splashscreenvboxCenterhboxRegionflowersvg = new Region()
private

◆ splashscreenvboxCenterhboxRegiontextsvg

final Region fr.softsf.sudokufx.view.SplashScreenView.splashscreenvboxCenterhboxRegiontextsvg = new Region()
private

◆ splashScreenvboxtophbox

final HBox fr.softsf.sudokufx.view.SplashScreenView.splashScreenvboxtophbox = new HBox()
private

◆ splashscreenvboxTophboxNamelabel

final Label fr.softsf.sudokufx.view.SplashScreenView.splashscreenvboxTophboxNamelabel = new Label()
private

◆ splashScreenvboxtophboxpane

final Pane fr.softsf.sudokufx.view.SplashScreenView.splashScreenvboxtophboxpane = new Pane()
private

◆ splashscreenvboxTophboxRegionsudosvg

final Region fr.softsf.sudokufx.view.SplashScreenView.splashscreenvboxTophboxRegionsudosvg = new Region()
private

◆ STROKE_DIVISOR_FOR_SUDOSVG

final double fr.softsf.sudokufx.view.SplashScreenView.STROKE_DIVISOR_FOR_SUDOSVG = 17
staticprivate

◆ STYLE_CSS

final String fr.softsf.sudokufx.view.SplashScreenView.STYLE_CSS
staticprivate
Initial value:
=
Objects.requireNonNull(SudoMain.class.getResource(RESOURCES_CSS_PATH.getPath()))
.toExternalForm()
Main JavaFX application class launching the UI and initializing the Spring context.
Definition SudoMain.java:53

The documentation for this class was generated from the following file: