GL2D_GUI
1.0.0
Coletado na comunidade Delphi 10.4
ps: Отрисовка использует старый формат вывода изображения через glBegin/glEnd, в принципе для своих задач он подходит, вершин которые передаются с CPU->GPU не так много как с 3D объектами. Возможно когда нибудь и будет переделываться на буффер VBO
Lista de arquivos (relevante para a versão 2.14):
| Arquivo | Descrição |
|---|---|
GUIv2 | Основная папка |
| dlguifont.pas | Trabalhe com fontes |
| dlguiform.pas | Formulário com uma lista de componentes |
| dlguiformList.pas | Lista de formulários incl. sua tela (formlist.draw) |
| dlguiobject.pas | A classe principal da qual os componentes e as formas são herdados |
| dlguimouse.pas | Componente para exibir o cursor do mouse |
| dlguipaletteheelper.pas | O módulo para trabalhar com uma paleta, de acordo com as coordenadas, determina a cor da paleta |
| dlguitypes.pas | Tipos e classes usadas em módulos |
| DlguivertexController.pas | Módulo para trabalhar com picos em objetos (componentes) |
| dlguixmlSerial.pas | Serialização das classes da GUI em formato XML |
components | Компоненты |
| componentes dlGuibevel.pas | Quadro |
| componentes dlguicheckbox.pas | Chekbox (Switch) |
| componentes dlguicombobox.pas | Lista de abertura |
| componentes dlguieditbox.pas | Campo de entrada de texto (linha única) |
| componentes dlguiimage.pas | Imagem |
| componentes dlguilabel.pas | Texto (pode ser multi -line) |
| componentes dlguilistbox.pas | Lista de linhas |
| componentes dlGuimainmenu.pas | O menu principal |
| componentes dlGuipanel.pas | Painel sem componentes, pode ser substituído por chanfrado (quadro) |
| componentes dlguiprogressbar.pas | Indicador de carregamento |
| componentes dlguiiradiobutton.pas | Interruptores de seleção |
| componentes dlguitable.pas | Mesa |
| componentes dlguitrackbar.pas | Selecionando um valor numérico usando um controle deslizante |
| componentes dlguitracker.pas | O rastreador (horizontal/vertical) é usado para componentes como (ComboBox, ListBox, Tabela) ... |
Textures | Модули для работы с текстурами |
| Texturas dlTextureLoader.pas | Módulo para baixar texturas de formato (BMP, JPG, JPEG, TGA, PNG) |
| Texturas dlTextureList.pas | Gerenciamento de textura (pesquisa, adição, exclusão) |
OpenGL | Модуль для работы с OpenGL |
| Opengl dlopengl.pas | Trabalhando com a estrutura OpenGL |
Image | Список изображений |
| Imagem logo.png | Logotipo |
| Imagem guipalette.bmp | Paleta para componentes |
| Imagem consolas | Fonte Consolas |
| Imagens gadugi | Fonte Gadugi |
| Imagens Verdana | Fonte Verdana |
Todos os componentes são herdados da classe dlguiobject.tguiObject para baixar textura, os módulos são usados
Para começar a usar a GUI, você precisa
Forma:
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; При добавлении на форму компонентов если у компонента не указана текстура и шрифт, то она назначается такой же как у формы
Botão (botão):
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;Campo de entrada:
uses dlGUIEditBox;
...
var EditBox: TGUIEditBox;
...
EditBox:= TGUIEditBox.Create;
EditBox.SetPos( 10 , 10 , 200 , 20 );
Form.AddComponent(EditBox);