GL2D_GUI
1.0.0
Delphi 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(switch) |
| コンポーネント 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 | トラッカー(Horizontal/Vertical)は、(コンボボックス、リストボックス、テーブル)などのコンポーネントに使用されます。 |
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 | フォントヴェルダナ |
すべてのコンポーネントは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);