FabGL
ESP32 Display 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-2022 Fabrizio Di Vittorio.
4 All rights reserved.
5
6
7* Please contact fdivitto2013@gmail.com if you need a commercial license.
8
9
10* This library and related software is available under GPL v3.
11
12 FabGL is free software: you can redistribute it and/or modify
13 it under the terms of the GNU General Public License as published by
14 the Free Software Foundation, either version 3 of the License, or
15 (at your option) any later version.
16
17 FabGL is distributed in the hope that it will be useful,
18 but WITHOUT ANY WARRANTY; without even the implied warranty of
19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 GNU General Public License for more details.
21
22 You should have received a copy of the GNU General Public License
23 along with FabGL. If not, see <http://www.gnu.org/licenses/>.
24 */
25
26
27
28#pragma once
29
30
310#include "fabutils.h"
311#include "fabfonts.h"
312#include "terminal.h"
313#include "displaycontroller.h"
324#include "fabui.h"
325#include "inputbox.h"
327#include "comdrivers/tsi2c.h"
328#include "devdrivers/keyboard.h"
329#include "devdrivers/mouse.h"
330#include "devdrivers/DS3231.h"
331#include "scene.h"
332#include "collisiondetector.h"
333#include "devdrivers/soundgen.h"
334
335
336
337using fabgl::Color;
340using fabgl::Scene;
341using fabgl::Bitmap;
342using fabgl::Sprite;
344using fabgl::Point;
345using fabgl::Size;
346using fabgl::Rect;
359using fabgl::TermType;
360using fabgl::SupportedTerminals;
361using fabgl::PS2Preset;
363using fabgl::KbdMode;
367using fabgl::ModalWindowState;
368using fabgl::Canvas;
370using fabgl::RGB222;
371using fabgl::RGBA2222;
372using fabgl::RGB888;
373using fabgl::RGBA8888;
378using fabgl::LineEnds;
379using fabgl::CharStyle;
381using fabgl::SupportedLayouts;
382using fabgl::CoreUsage;
384using fabgl::InputBox;
385
386
This file contains the DS3231 (Real Time Clock) device driver.
This file contains fabgl::SSD1306Controller definition.
This file contains TFT controllers definitions.
A class with a set of drawing methods.
Definition: canvas.h:70
A class to detect sprites collisions.
FileBrowser allows basic file system operations (dir, mkdir, remove and rename)
Definition: fabutils.h:550
InputBox is an helper class which allows to create simple UI interfaces, like wizards or simple input...
Definition: inputbox.h:322
LineEditor is a single-line / multiple-rows editor which uses the Terminal object as input and output...
Definition: terminal.h:2041
Samples generator.
Definition: soundgen.h:302
Sawtooth waveform generator.
Definition: soundgen.h:236
Scene is an abstract class useful to encapsulate functionalities of a scene (sprites,...
Definition: scene.h:55
Sine waveform generator.
Definition: soundgen.h:177
SoundGenerator handles audio output.
Definition: soundgen.h:344
Square waveform generator.
Definition: soundgen.h:194
TerminalController allows direct controlling of the Terminal object without using escape sequences.
Definition: terminal.h:1812
Triangle waveform generator.
Definition: soundgen.h:219
Emulates VIC6561 (VIC20) noise generator.
Definition: soundgen.h:275
Base abstract class for waveform generators. A waveform generator can be seen as an audio channel tha...
Definition: soundgen.h:62
This file contains fabgl::CollisionDetector class definition.
This file contains fabgl::CVBS16Controller definition.
This file contains fabgl::BitmappedDisplayController definition.
This file contains all classes related to FabGL Graphical User Interface.
This file contains some utility classes and functions.
TerminalTransition
This enum defines terminal transition effect.
Definition: terminal.h:751
InputResult
Result of InputBox dialogs helper class.
Definition: inputbox.h:56
CharStyle
This enum defines a character style.
Definition: terminal.h:737
KbdMode
This enum defines how handle keyboard virtual keys.
Definition: ps2controller.h:65
TermType
This enum defines supported terminals.
Definition: terminfo.h:110
LineEnds
This enum defines line ends when pen width is greater than 1.
LineEditorSpecialChar
Special character specified in on values from LineEditor::onSpecialChar delegate.
Definition: terminal.h:2014
PS2DeviceType
Represents the type of device attached to PS/2 port.
Definition: ps2device.h:52
Color
This enum defines named colors.
CursorName
This enum defines a set of predefined mouse cursors.
VGAScanStart
Represents one of the four blocks of horizontal or vertical line.
PS2Preset
This enum defines what is connected to PS/2 ports.
Definition: ps2controller.h:52
VirtualKey
Represents each possible real or derived (SHIFT + real) key.
Definition: fabutils.h:1054
FlowControl
This enum defines various serial port flow control methods.
Definition: terminal.h:706
PixelFormat
This enum defines a pixel format.
This file contains the InputBox class.
This file contains fabgl::Keyboard definition.
This file contains fabgl::Mouse definition.
This file contains fabgl::PS2Controller definition.
This file contains fabgl::Scene definition.
This file contains all classes related to FabGL Sound System.
Represents an image.
This class helps to choice a core for intensive processing tasks.
Definition: fabutils.h:1037
Describes mouse movement and buttons status.
Definition: mouse.h:55
Describes mouse absolute position, scroll wheel delta and buttons status.
Definition: fabutils.h:295
Represents the coordinate of a point.
Definition: fabutils.h:209
Represents a 6 bit RGB color.
Represents a 24 bit RGB color.
Represents an 8 bit ABGR color.
Represents a 32 bit RGBA color.
Represents a rectangle.
Definition: fabutils.h:244
Represents a bidimensional size.
Definition: fabutils.h:227
Represents a sprite.
A struct which contains a virtual key, key state and associated scan code.
Definition: fabutils.h:1322
This file contains fabgl::Terminal definition.
This file contains fabgl::I2C definition.
Specifies various glyph painting options.
This file contains fabgl::VGA16Controller definition.
This file contains fabgl::VGA2Controller definition.
This file contains fabgl::VGA4Controller definition.
This file contains fabgl::VGA8Controller definition.
This file contains fabgl::VGAController definition.
This file contains fabgl::VGADirectController definition.
This file contains fabgl::VGATextController definition.