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 
285 #include "fabutils.h"
286 #include "terminal.h"
287 #include "vgacontroller.h"
288 #include "ps2controller.h"
289 #include "keyboard.h"
290 #include "mouse.h"
291 #include "scene.h"
292 #include "collisiondetector.h"
293 
294 
295 
296 using fabgl::Color;
297 using fabgl::ScreenBlock;
298 using fabgl::GlyphOptions;
299 using fabgl::Scene;
300 using fabgl::RGB;
301 using fabgl::Bitmap;
302 using fabgl::Sprite;
304 using fabgl::Point;
305 using fabgl::Size;
306 using fabgl::Rect;
307 using fabgl::MouseDelta;
308 using fabgl::MouseStatus;
309 using fabgl::CursorName;
311 using fabgl::uiButtonKind;
312 using fabgl::uiTimerHandle;
313 using fabgl::uiTextEdit;
314 using fabgl::uiApp;
315 using fabgl::uiFrame;
316 using fabgl::uiButton;
317 using fabgl::uiLabel;
318 using fabgl::uiImage;
319 using fabgl::uiPanel;
321 using fabgl::uiPaintBox;
322 using fabgl::uiScrollBar;
323 using fabgl::uiListBox;
324 using fabgl::uiComboBox;
325 using fabgl::uiCheckBox;
327 
328 
This file contains fabgl::CollisionDetector class definition.
uiCheckBoxKind
Specifies the combobox behaviour.
Definition: fabui.h:1810
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:699
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:1948
Color
This enum defines named colors.
Definition: vgacontroller.h:212
Contains a list of selectable items.
Definition: fabui.h:1575
This file contains fabgl::KeyboardClass definition and the Keyboard instance.
An ANSI-VT100 compatible display terminal.
Definition: terminal.h:399
This file contains fabgl::Scene definition.
uiMessageBoxIcon
Icon displayed by the uiApp.messageBox() method.
Definition: fabui.h:1933
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:1463
Represents a checkbox or a radiobutton.
Definition: fabui.h:1822
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:1067
uiButtonKind
Specifies the button kind.
Definition: fabui.h:1060
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
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
Specifies various glyph painting options.
Definition: vgacontroller.h:284
Represents a rectangle.
Definition: fabutils.h:158
Represents a text edit control.
Definition: fabui.h:1199
A paintbox control allows applications to perform custom drawings providing uiPaintBox.onPaint delegate. A paintbox can have horizontal and vertical scrollbars.
Definition: fabui.h:1510
Represents a bidimensional size.
Definition: fabutils.h:143
A label is a static text UI element.
Definition: fabui.h:1316
uiScrollBar
Scrollbar direction.
Definition: fabui.h:865
This is a combination of a listbox and a single-line editable textbox.
Definition: fabui.h:1700
Image control to display a static bitmap.
Definition: fabui.h:1394