GL2D_GUI
1.0.0
델파이 10.4 커뮤니티에서 수집
ps: Отрисовка использует старый формат вывода изображения через glBegin/glEnd, в принципе для своих задач он подходит, вершин которые передаются с CPU->GPU не так много как с 3D объектами. Возможно когда нибудь и будет переделываться на буффер VBO
파일 목록 (버전 2.14의 관련) :
| 파일 | 설명 |
|---|---|
GUIv2 | Основная папка |
| dlguifont.pas | 글꼴로 작업하십시오 |
| dlguiform.pas | 구성 요소 목록과 형태 |
| dlguiformlist.pas | 양식 목록 포함 그들의 디스플레이 (formlist.draw) |
| dlguiobject.pas | 구성 요소와 양식이 상속되는 메인 클래스 |
| dlguimouse.pas | 마우스 커서를 표시하기위한 구성 요소 |
| dlguipaletteheelper.pas | 좌표에 따르면 팔레트로 작업하기위한 모듈은 팔레트의 색상을 결정합니다. |
| dlguitypes.pas | 모듈에 사용되는 유형 및 클래스 |
| DLGUIVERTEXCONTROLLER.PAS | 물체 (구성 요소)의 피크 작업을위한 모듈 |
| dlguixmlserial.pas | XML 형식으로 GUI 클래스의 직렬화 |
components | Компоненты |
| 구성 요소 dlguibevel.pas | 액자 |
| 구성 요소 dlguicheckbox.pas | Chekbox (스위치) |
| 구성 요소 dlguicombobox.pas | 오프닝 목록 |
| 구성 요소 dlguieditbox.pas | 텍스트 입력 필드 (단일 라인) |
| 구성 요소 dlguiimage.pas | 영상 |
| 구성 요소 dlguilabel.pas | 텍스트 (멀티 라인이 될 수 있음) |
| 구성 요소 dlguilistbox.pas | 줄 목록 |
| 구성 요소 dlguimainmenu.pas | 메인 메뉴 |
| 구성 요소 dlguipanel.pas | 구성 요소가없는 패널, Bevel (프레임)으로 교체 할 수 있습니다. |
| 구성 요소 dlguiprogressbar.pas | 로딩 표시기 |
| 구성 요소 dlguiiradiobutton.pas | 선택 스위치 |
| 구성 요소 dlguitable.pas | 테이블 |
| 구성 요소 dlguitrackbar.pas | 슬라이더를 사용하여 숫자 값을 선택합니다 |
| 구성 요소 dlguitracker.pas | 트래커 (수평/수직)는 (Combobox, Listbox, Table)와 같은 구성 요소에 사용됩니다. |
Textures | Модули для работы с текстурами |
| 텍스처 dltextureloader.pas | 형식 텍스처 다운로드 모듈 (BMP, JPG, JPEG, TGA, PNG) |
| 텍스처 dltexturelist.pas | 텍스처 관리 (검색, 추가, 삭제) |
OpenGL | Модуль для работы с OpenGL |
| Opengl dlopengl.pas | Framework OpenGL로 작업합니다 |
Image | Список изображений |
| 이미지 logo.png | 심벌 마크 |
| 이미지 guipalette.bmp | 구성 요소 용 팔레트 |
| 이미지 consolas | 콜라스 글꼴 |
| 이미지 gadugi | 글꼴 가두기 |
| 이미지 Verdana | 글꼴 Verdana |
모든 구성 요소는 dlguiobject.tguiobject 클래스에서 상속됩니다. 텍스처를 다운로드하면 모듈이 사용됩니다.
GUI 사용을 시작하려면 필요합니다
형태:
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; При добавлении на форму компонентов если у компонента не указана текстура и шрифт, то она назначается такой же как у формы
버튼 (버튼) :
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;입력 필드 :
uses dlGUIEditBox;
...
var EditBox: TGUIEditBox;
...
EditBox:= TGUIEditBox.Create;
EditBox.SetPos( 10 , 10 , 200 , 20 );
Form.AddComponent(EditBox);