GL2D_GUI
1.0.0
Erfasst in Delphi 10.4 Community
ps: Отрисовка использует старый формат вывода изображения через glBegin/glEnd, в принципе для своих задач он подходит, вершин которые передаются с CPU->GPU не так много как с 3D объектами. Возможно когда нибудь и будет переделываться на буффер VBO
Liste der Dateien (relevant für Version 2.14):
| Datei | Beschreibung |
|---|---|
GUIv2 | Основная папка |
| dlguifont.pas | Arbeiten Sie mit Schriftarten |
| dlguiform.pas | Formular mit einer Liste von Komponenten |
| dlguiformList.pas | Liste der Formulare inkl. ihre Anzeige (Formlist.Draw) |
| dlguiobject.pas | Die Hauptklasse, aus der die Komponenten und Formen geerbt werden |
| dlguimouse.pas | Komponente zum Anzeigen des Mauszeigers |
| dlguipalettheelper.pas | Das Modul für die Arbeit mit einer Palette bestimmt gemäß den Koordinaten die Farbe in der Palette |
| dlguitypes.pas | Typen und Klassen, die in Modulen verwendet werden |
| DlguiverTexController.pas | Modul zum Arbeiten mit Peaks in Objekten (Komponenten) |
| dlguixmlSerial.pas | Serialisierung von GUI -Klassen im XML -Format |
components | Компоненты |
| Komponenten dlguibevel.pas | Rahmen |
| Komponenten dlguicheckbox.pas | Chekbox (Switch) |
| Komponenten dlguicombobox.pas | Öffnungsliste |
| Komponenten dlguieditbox.pas | Texteingangsfeld (Einzelzeile) |
| Komponenten dlguiimage.pas | Bild |
| Komponenten dlguilabel.pas | Text (kann multi -line sein) |
| Komponenten dlguilistbox.pas | Liste der Zeilen |
| Komponenten dlguimainmenu.pas | Das Hauptmenü |
| Komponenten dlguipanel.pas | Panel ohne Komponenten kann durch Abentel (Rahmen) ersetzt werden |
| Komponenten dlguiprogressBar.pas | Ladeanzeige |
| Komponenten dlguiiradiobutton.pas | Auswahlschalter |
| Komponenten dlguitable.pas | Tisch |
| Komponenten dlguitrackbar.pas | Auswählen eines numerischen Wertes mit einem Schieberegler |
| Komponenten dlguitracker.pas | Der Tracker (horizontal/vertikal) wird für Komponenten wie (Combobox, Listbox, Tabelle) verwendet ... |
Textures | Модули для работы с текстурами |
| Texturen dltextureloloader.pas | Modul zum Herunterladen von Formattexturen (BMP, JPG, JPEG, TGA, PNG) |
| Texturen dltexturelist.pas | Texturverwaltung (Suche, Hinzufügen, Löschen) |
OpenGL | Модуль для работы с OpenGL |
| OpenGL dlopengl.pas | Arbeiten mit dem Framework OpenGL |
Image | Список изображений |
| Bild logo.png | Logo |
| Bild Guipalette.bmp | Palette für Komponenten |
| Bild consolas | Konsolas -Schrift |
| Bilder gadugi | Schriftart Gadugi |
| Bilder Verdana | Schriftart Verdana |
Alle Komponenten werden aus der DlguiObject.tguiObject -Klasse zum Herunterladen der Textur vererbt. Module werden verwendet
Um GUI zu verwenden, brauchen Sie
Bilden:
uses dlGUIForm;
...
var Form : TGUIForm; // Класс формы
...
// Загрузка текстур
TextureList.Add( ' GUI ' , ' .ImageGUIPallette.bmp ' , GL_RGB, GL_MODULATE, GL_NEAREST, True, RGB( 252 , 52 , 252 ));
TextureList.Add( ' GUIFont ' , ' .ImageVerdanaVerdana 8.fgl.png ' , GL_RGBA, GL_MODULATE, GL_LINEAR);
...
Form:= TGUIForm.Create( ' FormName ' , TextureList.Search( ' GUI ' )); // Создание класса формы
Form.Caption:= ' Заголовок формы ' ;
Form.SetRect( 0 , 0 , 200 , 100 ); // Начальная позиция и размер формы
Form.Font.SetTextureLink(TextureList.Search( ' GUIFont ' )); // Установка шрифта формы
// Добавление формы в список форм
FormList.AddForm(Form);
... (render)
FormList.Draw; При добавлении на форму компонентов если у компонента не указана текстура и шрифт, то она назначается такой же как у формы
Taste (Taste):
uses dlGUIButton;
...
var Button: TGUIButton;
...
Button:= TGUIButton.Create; // Создание класса кнопки
Button.SetRect( 10 , 10 , 200 , 10 ); // Позиция и размер кнопки
Button.Caption:= ' Текст кнопки ' ; // Текст
Button.OnClick:= Proc; // Вызываемая процедура
// Включить всплывающую подсказку
Button.Hint.Enable:= True;
Button.Hint.Text := ' Текст всплывающей подсказки ' ;
Button.Flat := False; // Скрыть/Показать рамку кнопки
// Если добавляем на форму
Form.AddComponent(Button);
// Если просто нужно отобразить
Button.Draw;Eingabefeld:
uses dlGUIEditBox;
...
var EditBox: TGUIEditBox;
...
EditBox:= TGUIEditBox.Create;
EditBox.SetPos( 10 , 10 , 200 , 20 );
Form.AddComponent(EditBox);