gitlabEdit

presentation-screenPresentation System

Presenting your things to the kernel!

This API provides you the presentation system used for presenting something to your users in the full-screen view. It's like a presentation in steroids.


How to present

To present your presentation to your users, the presentation system must know how to render the presentation using a set of elements.

chevron-rightImplementing a presentation class instancehashtag

To implement a Presentation class instance, you must call its constructor with the following variables:

Argument
Description

Name

Presentation name

Pages

Presentation pages (List of PresentationPage instances)

chevron-rightImplementing a presentation page instancehashtag

To implement the PresentationPage instances, you must call its constructor with the following variables:

Argument
Description

Name

Presentation name

Elements

Presentation page elements (List of IElement instances)

circle-info

You can make cyclic presentation pages by assigning a non-zero value to the CycleFrequency property in your presentation page. To learn more about how it works, consult the below page:

Console Screen

chevron-rightImplementing presentation elementshashtag

To implement the page elements, make new instances of the elements. You can also make your custom IElement in your code, and no registration is needed.

The following elements are available:

Element
Description
Parameters

TextElement

Static text

The first argument in the element Arguments is the string to be printed.

DynamicTextElement

Dynamic text

The first argument in the element Arguments is the action which generates the string.

chevron-rightImplementing inputhashtag

You can add input to your presentation to interact with your users more. Just create a new instance of the PresentationInputInfo class and provide the title, the description, and a new instance of the input module class that implements the InputModule class.

internal static PresentationInputInfo input =
    new("Second multiple choice", "Asks the user to select one or more of the names (larger)",
        new MultiComboBoxModule()
        {
            Name = "Second multiple choice",
            Description = "Ultricies mi eget mauris pharetra sapien et ligula:",
            Choices = GetCategories(data2)
        }, true
    );

Then, in the PresentationPage constructor, you must add your input instance to the second argument that represents an array of InputInfo class instances, like this:

new PresentationPage("Fifth page - Debugging choice input",
    [
        new TextElement()
        {
            Arguments = [
                "Tincidunt nunc pulvinar sapien et ligula ullamcorper malesuada proin."
            ]
        },
    ],
    [
        input2,
        input3,
    ]
),
circle-info

In order to be able to get the input, it's recommended to put the PresentationInputInfo instances in their own variables so that you can act according to the input value.

You can also specify whether the input is required in the constructor. Currently, the input is not required, but you can pass true to the fourth argument to make it required, such as in the example above.

Input requirement

The presentation system checks the page to see if there are any input instances. If true, you'll be presented with an informational box telling you to select an input to fill.

The asterisk next to the number denotes the required input. This means that users should fill in such input before being able to go on. Those without the asterisk means that it's fully optional.

circle-info

To learn more about input modules, consult the below page:

Input Modules

chevron-rightCustomizing appearancehashtag

You can customize how your slideshow looks using the following properties:

Property
Description

BorderSettings

Customizes your presentation's borders

FrameColor

Customizes your presentation's border frame color

BackgroundColor

Customizes your presentation's background color


Controls

The presentation viewer has the following controls:

Keybinding

ENTER / Left-click (mouse)

Advances to the next page

ESC

Bails out from the presentation

circle-info

Please note that ESC has no effect on kiosk and modal presentations.

Last updated