Об этом проекте
ktsu.ImGui.App — это набор библиотек .NET для создания настольных приложений с Dear ImGui. Он предоставляет каркас приложения, пользовательские виджеты, модальные диалоги, темизацию, редактирование графов узлов, рендеринг Markdown и подсветку синтаксиса. Построен на привязках Hexa.NET.ImGui и Silk.NET для кроссплатформенного оконного взаимодействия, поддерживает .NET 10, 9 и 8.
Ключевые библиотеки включают:
- **ImGui.App**: Основа приложения с оконным взаимодействием, рендерингом OpenGL, управлением шрифтами, кэшированием текстур, декодированием изображений (PNG/JPEG/BMP/TGA), поддержкой DPI и ограничением частоты кадров через PID.
- **ImGui.Widgets**: Около шестидесяти компонентов пользовательского интерфейса, включая элементы управления (Switch, SegmentedControl, Stepper, RangeSlider, XYPad, ColorWheels, Knob, Rating, Chip, PinInput, SearchBox), компоновку (DividerContainer, Grid, TabPanel, Card, Tree, ImageCanvas, AssetBrowser, PropertyGrid, Toolbar), обратную связь (RadialProgressBar, спиннеры, бейджи), представления сигналов (Histogram, FlameGraph, DbMeter, осциллограф, waveform, анализатор спектра), настройку изображений (LevelsControl, GradientEditor, SwatchPalette, ImageCompare, CropOverlay, PixelLoupe), проверку кода (DiffView), анимацию (tweens, springs, инерционная прокрутка) и редакторы на основе обратных вызовов (Sequencer, CurveEditor, BezierEditor).
- **ImGui.Popups**: Модальные диалоги, включая MessageOK, Prompt, InputString/Int/Float, FilesystemBrowser и SearchableList.
- **ImGui.Styler**: Система темизации с более чем 50 встроенными темами (Catppuccin, Tokyo Night, Gruvbox, Dracula), ограниченной областью стилизацией, семантическими цветами текста и интерактивным браузером тем.
- **NodeGraph**: Независимое от пользовательского интерфейса объявление метаданных узлов на основе атрибутов.
- **ImGui.NodeEditor**: Визуальный редактор узлов, построенный на ImNodes с физической компоновкой.
- **ImGui.Markdown**: Рендеринг Markdown в стиле CommonMark на основе Markdig.
- **SyntaxHighlighting**: Независимый от пользовательского интерфейса токенизатор для 15 языков со встроенным определением языка.
- **ImGui.SyntaxHighlighting**: Тематический рендеринг кода с номерами строк.
- **ForceDirectedLayout**: Независимая от рендерера компоновка графа с силовым направлением.
- **ImGui.Probes**: Запись элементов для тестов.
- **ImGui.App.Testing**: Безголовый тестовый стенд с программным растеризатором.
Установка через пакеты NuGet. Примеры использования показывают базовый запуск приложения, режим наложения для HUD, использование виджетов, всплывающие окна, темизацию, объявление графа узлов и рендеринг Markdown.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.