FabGL
ESP32 VGA Controller and Graphics Library
fabgl.h
Go to the documentation of this file.
1 /*
2  Created by Fabrizio Di Vittorio (fdivitto2013@gmail.com) - <http://www.fabgl.com>
3  Copyright (c) 2019 Fabrizio Di Vittorio.
4  All rights reserved.
5 
6  This file is part of FabGL Library.
7 
8  FabGL is free software: you can redistribute it and/or modify
9  it under the terms of the GNU General Public License as published by
10  the Free Software Foundation, either version 3 of the License, or
11  (at your option) any later version.
12 
13  FabGL is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with FabGL. If not, see <http://www.gnu.org/licenses/>.
20  */
21 
22 
23 
24 #pragma once
25 
26 
333 #include "fabutils.h"
334 #include "terminal.h"
335 #include "vgacontroller.h"
336 #include "ps2controller.h"
337 #include "keyboard.h"
338 #include "mouse.h"
339 #include "scene.h"
340 #include "collisiondetector.h"
341 #include "soundgen.h"
342 
343 
344 
345 using fabgl::Color;
346 using fabgl::ScreenBlock;
347 using fabgl::GlyphOptions;
348 using fabgl::Scene;
349 using fabgl::RGB;
350 using fabgl::Bitmap;
351 using fabgl::Sprite;
353 using fabgl::Point;
354 using fabgl::Size;
355 using fabgl::Rect;
356 using fabgl::MouseDelta;
357 using fabgl::MouseStatus;
358 using fabgl::CursorName;
360 using fabgl::uiButtonKind;
361 using fabgl::uiTimerHandle;
362 using fabgl::uiTextEdit;
363 using fabgl::uiApp;
364 using fabgl::uiFrame;
365 using fabgl::uiButton;
366 using fabgl::uiLabel;
367 using fabgl::uiImage;
368 using fabgl::uiPanel;
370 using fabgl::uiPaintBox;
372 using fabgl::uiListBox;
373 using fabgl::uiComboBox;
374 using fabgl::uiCheckBox;
376 using fabgl::uiSlider;
386 using fabgl::TermType;
387 using fabgl::PS2Preset;
388 using fabgl::KbdMode;
389 using fabgl::VirtualKey;
390 
391 
392 
Noise generator.
Definition: soundgen.h:210
This file contains fabgl::CollisionDetector class definition.
uiCheckBoxKind
Specifies the combobox behaviour.
Definition: fabui.h:1838
Represents an RGB color.
Definition: vgacontroller.h:239
A frame is a window with a title bar, maximize/minimize/close buttons and that is resizeable or movea...
Definition: fabui.h:711
Represents a sprite.
Definition: vgacontroller.h:436
This file contains fabgl::PS2ControllerClass definition and the PS2Controller instance.
Represents the whole application base class.
Definition: fabui.h:2082
Samples generator.
Definition: soundgen.h:229
Color
This enum defines named colors.
Definition: vgacontroller.h:212
Base abstract class for waveform generators. A waveform generator can be seen as an audio channel tha...
Definition: soundgen.h:58
Triangle waveform generator.
Definition: soundgen.h:176
Contains a list of selectable items.
Definition: fabui.h:1596
This file contains fabgl::KeyboardClass definition and the Keyboard instance.
An ANSI-VT100 compatible display terminal.
Definition: terminal.h:400
This file contains fabgl::Scene definition.
uiMessageBoxIcon
Icon displayed by the uiApp.messageBox() method.
Definition: fabui.h:2067
This file contains fabgl::TerminalClass definition.
This file contains fabgl::VGAControllerClass definition and the VGAController instance.
A panel is used to contain and to group some controls.
Definition: fabui.h:1484
Represents a checkbox or a radiobutton.
Definition: fabui.h:1850
Describes mouse movement and buttons status.
Definition: mouse.h:51
This file contains fabgl::MouseClass definition and the Mouse instance.
A class to detect sprites collisions.
Definition: collisiondetector.h:129
Scene is an abstract class useful to encapsulate functionalities of a scene (sprites, collision detector and updates).
Definition: scene.h:49
Represents a button control. A button can have text and optionally a bitmap.
Definition: fabui.h:1079
uiButtonKind
Specifies the button kind.
Definition: fabui.h:1072
PS2Preset
This enum defines what is connected to PS/2 ports.
Definition: ps2controller.h:46
Describes mouse absolute position, scroll wheel delta and buttons status.
Definition: fabutils.h:206
ScreenBlock
Represents one of the four blocks of horizontal or vertical line.
Definition: vgacontroller.h:59
VirtualKey
Represents each possible real or derived (SHIFT + real) key.
Definition: fabutils.h:366
Represents the coordinate of a point.
Definition: fabutils.h:125
Represents an image with 64 colors image and transparency.
Definition: vgacontroller.h:367
This file contains some utility classes and functions.
CursorName
This enum defines a set of predefined mouse cursors.
Definition: vgacontroller.h:392
KbdMode
This enum defines how handle keyboard virtual keys.
Definition: ps2controller.h:56
Sine waveform generator.
Definition: soundgen.h:134
Specifies various glyph painting options.
Definition: vgacontroller.h:284
Represents a rectangle.
Definition: fabutils.h:158
TermType
This enum defines supported terminals.
Definition: terminfo.h:103
SoundGenerator handles audio output.
Definition: soundgen.h:259
Represents a text edit control.
Definition: fabui.h:1211
This file contains all classes related to FabGL Sound System.
A paintbox control allows applications to perform custom drawings providing uiPaintBox.onPaint delegate. A paintbox can have horizontal and vertical scrollbars.
Definition: fabui.h:1531
Represents a bidimensional size.
Definition: fabutils.h:143
A label is a static text UI element.
Definition: fabui.h:1328
Sawtooth waveform generator.
Definition: soundgen.h:193
A slider or track bar is a graphical control element with which a user may set a value by moving an i...
Definition: fabui.h:1948
This is a combination of a listbox and a single-line editable textbox.
Definition: fabui.h:1721
Square waveform generator.
Definition: soundgen.h:151
uiMessageBoxResult
Return values from uiApp.messageBox() method.
Definition: fabui.h:2056
uiOrientation
Item direction/orientation.
Definition: fabui.h:187
Image control to display a static bitmap.
Definition: fabui.h:1415