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 
245 #include "fabutils.h"
246 #include "terminal.h"
247 #include "vgacontroller.h"
248 #include "ps2controller.h"
249 #include "keyboard.h"
250 #include "mouse.h"
251 #include "scene.h"
252 #include "collisiondetector.h"
253 #include "soundgen.h"
254 
255 
256 
257 using fabgl::Color;
258 using fabgl::ScreenBlock;
259 using fabgl::GlyphOptions;
260 using fabgl::Scene;
261 using fabgl::RGB;
262 using fabgl::Bitmap;
263 using fabgl::Sprite;
265 using fabgl::Point;
266 using fabgl::Size;
267 using fabgl::Rect;
268 using fabgl::MouseDelta;
269 using fabgl::MouseStatus;
270 using fabgl::CursorName;
272 using fabgl::uiButtonKind;
273 using fabgl::uiTimerHandle;
274 using fabgl::uiTextEdit;
275 using fabgl::uiApp;
276 using fabgl::uiFrame;
277 using fabgl::uiButton;
278 using fabgl::uiLabel;
279 using fabgl::uiImage;
280 using fabgl::uiPanel;
282 using fabgl::uiPaintBox;
284 using fabgl::uiListBox;
285 using fabgl::uiComboBox;
286 using fabgl::uiCheckBox;
288 using fabgl::uiSlider;
298 using fabgl::TermType;
299 using fabgl::PS2Preset;
300 using fabgl::KbdMode;
301 using fabgl::VirtualKey;
305 using fabgl::FileBrowser;
306 using fabgl::ModalWindowState;
307 
308 
Noise generator.
Definition: soundgen.h:210
This file contains fabgl::CollisionDetector class definition.
uiCheckBoxKind
Specifies the combobox behaviour.
Definition: fabui.h:1990
Represents an RGB color.
Definition: vgacontroller.h:257
A frame is a window with a title bar, maximize/minimize/close buttons and that is resizeable or movea...
Definition: fabui.h:718
Contains details about the key event.
Definition: fabui.h:134
Represents a sprite.
Definition: vgacontroller.h:454
This file contains fabgl::PS2ControllerClass definition and the PS2Controller instance.
Represents the whole application base class.
Definition: fabui.h:2244
Samples generator.
Definition: soundgen.h:229
Color
This enum defines named colors.
Definition: vgacontroller.h:230
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
Shows a list of selectable string items.
Definition: fabui.h:1722
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:2219
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:1506
Represents a checkbox or a radiobutton.
Definition: fabui.h:2002
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:1101
uiButtonKind
Specifies the button kind.
Definition: fabui.h:1094
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:77
VirtualKey
Represents each possible real or derived (SHIFT + real) key.
Definition: fabutils.h:502
Represents the coordinate of a point.
Definition: fabutils.h:125
Represents an image with 64 colors image and transparency.
Definition: vgacontroller.h:385
This file contains some utility classes and functions.
CursorName
This enum defines a set of predefined mouse cursors.
Definition: vgacontroller.h:410
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:302
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:1233
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:1553
Represents a bidimensional size.
Definition: fabutils.h:143
A label is a static text UI element.
Definition: fabui.h:1350
Sawtooth waveform generator.
Definition: soundgen.h:193
Shows generic a list of selectable items.
Definition: fabui.h:1618
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:2100
This is a combination of a listbox and a single-line editable textbox.
Definition: fabui.h:1873
Shows and navigates Virtual Filesystem content.
Definition: fabui.h:1765
Square waveform generator.
Definition: soundgen.h:151
uiMessageBoxResult
Return values from uiApp.messageBox() method.
Definition: fabui.h:2208
uiOrientation
Item direction/orientation.
Definition: fabui.h:192
Image control to display a static bitmap.
Definition: fabui.h:1437
FileBrowser allows basic file system operations (dir, mkdir, remove and rename)
Definition: fabutils.h:357