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 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 
259 #include "fabutils.h"
260 #include "fabfonts.h"
261 #include "terminal.h"
262 #include "displaycontroller.h"
266 #include "comdrivers/tsi2c.h"
267 #include "devdrivers/keyboard.h"
268 #include "devdrivers/mouse.h"
269 #include "devdrivers/DS3231.h"
270 #include "scene.h"
271 #include "collisiondetector.h"
272 #include "devdrivers/soundgen.h"
273 
274 
275 
276 using fabgl::Color;
277 using fabgl::VGAScanStart;
278 using fabgl::GlyphOptions;
279 using fabgl::Scene;
280 using fabgl::Bitmap;
281 using fabgl::Sprite;
283 using fabgl::Point;
284 using fabgl::Size;
285 using fabgl::Rect;
286 using fabgl::MouseDelta;
287 using fabgl::MouseStatus;
288 using fabgl::CursorName;
289 using fabgl::uiButtonKind;
290 using fabgl::uiTimerHandle;
291 using fabgl::uiTextEdit;
292 using fabgl::uiApp;
293 using fabgl::uiFrame;
294 using fabgl::uiButton;
295 using fabgl::uiLabel;
296 using fabgl::uiImage;
297 using fabgl::uiPanel;
299 using fabgl::uiPaintBox;
301 using fabgl::uiListBox;
302 using fabgl::uiComboBox;
303 using fabgl::uiCheckBox;
305 using fabgl::uiSlider;
315 using fabgl::TermType;
316 using fabgl::PS2Preset;
318 using fabgl::KbdMode;
319 using fabgl::VirtualKey;
323 using fabgl::FileBrowser;
324 using fabgl::ModalWindowState;
325 using fabgl::Canvas;
326 using fabgl::PixelFormat;
327 using fabgl::RGB222;
328 using fabgl::RGBA2222;
329 using fabgl::RGB888;
330 using fabgl::RGBA8888;
331 
332 
333 
334 
Noise generator.
Definition: soundgen.h:210
Represents a 24 bit RGB color.
Definition: displaycontroller.h:206
This file contains fabgl::CollisionDetector class definition.
uiCheckBoxKind
Specifies the combobox behaviour.
Definition: fabui.h:1997
A class with a set of drawing methods.
Definition: canvas.h:66
A frame is a window with a title bar, maximize/minimize/close buttons and that is resizeable or movea...
Definition: fabui.h:725
Contains details about the key event.
Definition: fabui.h:135
Represents a sprite.
Definition: displaycontroller.h:495
This file contains fabgl::PS2Controller definition.
Represents the whole application base class.
Definition: fabui.h:2254
PS2DeviceType
Represents the type of device attached to PS/2 port.
Definition: ps2device.h:48
Samples generator.
Definition: soundgen.h:229
Color
This enum defines named colors.
Definition: displaycontroller.h:180
Base abstract class for waveform generators. A waveform generator can be seen as an audio channel tha...
Definition: soundgen.h:58
PixelFormat
This enum defines a pixel format.
Definition: displaycontroller.h:399
Triangle waveform generator.
Definition: soundgen.h:176
Shows a list of selectable string items.
Definition: fabui.h:1729
This file contains fabgl::Keyboard definition.
This file contains the DS3231 (Real Time Clock) device driver.
This file contains fabgl::Scene definition.
This file contains fabgl::DisplayController definition.
uiMessageBoxIcon
Icon displayed by the uiApp.messageBox() method.
Definition: fabui.h:2226
This file contains fabgl::Terminal definition.
This file contains fabgl::VGAController definition.
A panel is used to contain and to group some controls.
Definition: fabui.h:1513
Represents a checkbox or a radiobutton.
Definition: fabui.h:2009
Describes mouse movement and buttons status.
Definition: mouse.h:51
This file contains fabgl::Mouse definition.
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:48
Represents a button control. A button can have text and optionally a bitmap.
Definition: fabui.h:1108
uiButtonKind
Specifies the button kind.
Definition: fabui.h:1101
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:208
VirtualKey
Represents each possible real or derived (SHIFT + real) key.
Definition: fabutils.h:534
Represents the coordinate of a point.
Definition: fabutils.h:125
Represents an image.
Definition: displaycontroller.h:414
This file contains some utility classes and functions.
CursorName
This enum defines a set of predefined mouse cursors.
Definition: displaycontroller.h:451
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: displaycontroller.h:315
Represents a rectangle.
Definition: fabutils.h:158
This file contains fabgl::I2C definition.
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:1240
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:1560
Represents a bidimensional size.
Definition: fabutils.h:143
A label is a static text UI element.
Definition: fabui.h:1357
Sawtooth waveform generator.
Definition: soundgen.h:193
Represents a 6 bit RGB color.
Definition: displaycontroller.h:252
Shows generic a list of selectable items.
Definition: fabui.h:1625
VGAScanStart
Represents one of the four blocks of horizontal or vertical line.
Definition: vgacontroller.h:79
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:2107
This is a combination of a listbox and a single-line editable textbox.
Definition: fabui.h:1880
Shows and navigates Virtual Filesystem content.
Definition: fabui.h:1772
This file contains fabgl::SSD1306Controller definition.
Square waveform generator.
Definition: soundgen.h:151
uiMessageBoxResult
Return values from uiApp.messageBox() method.
Definition: fabui.h:2215
uiOrientation
Item direction/orientation.
Definition: fabui.h:193
Image control to display a static bitmap.
Definition: fabui.h:1444
FileBrowser allows basic file system operations (dir, mkdir, remove and rename)
Definition: fabutils.h:389