Skip to main content

A module for making Splash Screens with videos, images, loading bars, text rendering, and threaded rendering support for your Applications.

Project description

splashscreen-engine

A module for making Splash Screens with videos, images, loading bars, text rendering, and threaded rendering support for your Applications.

Sample Preview

Preview

Features

  • Background videos
  • Background images
  • Loading bars
  • Text rendering
  • Transparency support
  • Threaded rendering
  • Video looping
  • Simple API

Installation

pip install splashscreen-engine

Example

import splashscreen_engine as splash

screen = splash.Screen()
screen.size(750,500)

# This Starts The Engine
screen.start()

# Background Video
video = splash.BackgroundVideo(
    screen,
    "exampleVid.mp4",
    fps=30,
    loop=True
)

video.play()

# Loading Bar
bar = splash.LoadingBar(screen)
bar.place()

# Text `loading`
text = splash.Text(
    screen,
    "Loading...",
    "impact",
    20,
    (325,400)
)

text.show()

# LOADING | you can add your `loading` processes here

a = 0

while not a >= 100:

    a += 0.3

    text.edit(
        text=f"loading : {round(a,2)}%"
    )

    bar.set_progress(a)

    screen.wait(0.05)

text.edit(
    text="loaded : 100%"
)

screen.wait(3)

# Stop the splash screen after loading
screen.stop()


"""
if you are using pygame module in your own code,
use `screen.stop(quit_pygame=False)`
instead of `screen.stop()`
"""

# Main Screen Example

import tkinter # pip install tkinter -- used as main screen for example.
main_screen = tkinter.Tk()

main_screen.geometry("750x500")

main_text = tkinter.Label(
    main_screen,
    text="Your Main Screen",
    font=("impact",40)
)

main_text.pack()

main_screen.mainloop()

Requirements

  • pygame
  • opencv-python
  • numpy

Functions

Basic Window

import splashscreen_engine as splash

screen = splash.Screen()

screen.size(750, 500)

screen.start()

Stop and Delete Screen

screen.stop()

# Use:
screen.stop(quit_pygame=False)

# if you are using pygame in your own application.

Set Size for your window

screen.size(750,500)

# Arguments:
# width, height, fullscreen

# OR

screen.size(fullscreen=True)

Set title for your window

screen.title("Your Title")

Set Background color

screen.set_bg_color((255,0,0)) # Red

Wait Function

Instead of using time.sleep(), you can use this function because it prevents the window not responding issue.

screen.wait(0.5) # Seconds

Background Video

You can add a video as the background of your splash screen using this function.

video = splash.BackgroundVideo(
    screen,
    "exampleVid.mp4",
    fps=30,
    loop=True
)

# loop = True / False
# default(False)

# fps = int
# default(30)

Play video

video.play()

Pause video

video.pause()

Resume video

video.resume()

Delete video

video.delete()

Transparency

Make your video transparent.

Transparency Level: 0 to 255

Default: 120

video.transparency(150)

Stop Transparency

video.stop_transparency()

Stopping / Resuming Video Loops

# Loop Video
video.loop = True

# Stop the Loop
video.stop_loop()

# OR
video.loop = False

To check whether the video is playing or stopped

# Returns True if playing else False
video.playing()

Background Image

You can add an image as the background of your splash screen using this function.

bg_img = splash.BackgroundImage(
    screen,
    "YourImage.png"
)

bg_img.set()

Progress Bar

This function adds a progress bar.

bar = splash.LoadingBar(
    screen
)

# Arguments:
# parent, width, height

bar.place()

# Arguments:
# x, y, colour, loading_colour

Hiding the Progress Bar

bar.hide()

Setting Progress

bar.set_progress(50)

Text

Adds text on the screen.

text = splash.Text(
    screen,
    "Loading...",
    "impact",
    20,
    (325,400)
)

# Arguments:
# parent, text, font,
# size, position, colour

text.show()

Show and Hide text

# Show text
text.show()

# Hide text
text.hide()

Contributing & Feedback

Discuss approaches, Suggest new features, Report bugs, or Share improvements through GitHub issues and discussions. or mail at : chhabranaman21@gmail.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

splashscreen_engine-1.0.3.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

splashscreen_engine-1.0.3-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file splashscreen_engine-1.0.3.tar.gz.

File metadata

  • Download URL: splashscreen_engine-1.0.3.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for splashscreen_engine-1.0.3.tar.gz
Algorithm Hash digest
SHA256 b7aff37d660cd5fb68cb1c6d162b61eb13694987b5a871d58b03b319cc70623c
MD5 5536cfe6ef47f0d6fafaef329d188bc1
BLAKE2b-256 52a88c6e9cd341c7e0929ec053cd0717da896e58b8f3f4650c2583f7ccfcd7f1

See more details on using hashes here.

File details

Details for the file splashscreen_engine-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for splashscreen_engine-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2547c7ec0d7a670ce5222990ea6889d5157992156feab9eb3a845ab8595f82a6
MD5 0e3bcf1709696562fe0df60e19651342
BLAKE2b-256 e9d079ff82b570954aea856f94d80f2ee1236d582e369f512b9d29d23ec5113e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page