Skip to content

v0.0.50 - Обновление NetCore#236

Merged
Infarh merged 33 commits intomasterfrom
dev
Feb 15, 2026
Merged

v0.0.50 - Обновление NetCore#236
Infarh merged 33 commits intomasterfrom
dev

Conversation

@Infarh
Copy link
Owner

@Infarh Infarh commented Feb 15, 2026

No description provided.

Infarh added 30 commits January 21, 2026 23:10
Реализован универсальный класс ScreenShotCommand для WPF с поддержкой захвата экрана в PNG и GIF. Поддерживаются различные режимы (главное окно, активное окно ОС, монитор под курсором, панорама всех мониторов, UIElement). Добавлены параметры для настройки каталога и формата файлов, а также длительности GIF. Используются вызовы WinAPI для работы с окнами и мониторами. Введён enum CaptureFallbackMode. Подробные XML-комментарии на русском.
Добавлены C#-скрипты для автоматизации публикации NuGet-пакетов, проверки их версий и работы с XML. В проект добавлены батники для очистки артефактов сборки и публикации пакетов с поддержкой зависимостей. В csproj упрощены зависимости и добавлен System.Drawing.Common для net8.0/9.0.
Добавлен новый класс CloseApp, реализующий команду для закрытия всего WPF-приложения. Класс поддерживает задание кода выхода через параметр команды или свойство ExitCode. Если код выхода не указан, используется стандартное завершение приложения.
Добавлен новый класс TerminateApp в MathCore.WPF.Commands, наследующийся от CloseApp. Класс реализует команду завершения приложения с возможностью указания кода выхода через параметр команды. Если код не задан, используется 0.
Метод TryExecute теперь принимает необязательный параметр object? Parameter со значением по умолчанию null. Это упрощает вызов метода для команд без параметров и повышает универсальность использования.
Уточнена документация и примеры для Arc и Pie. Дуги и сектора теперь всегда строятся по часовой стрелке между нормализованными углами. Исправлены алгоритмы построения: добавлена нормализация углов, корректно обрабатываются полные окружности и малые дуги/сектора, устранена поддержка обратного направления. Исправлены ошибки построения внутренней дуги в Pie. Улучшена предсказуемость и соответствие документации.
Добавлена структурированная документация на русском языке, описывающая все основные компоненты библиотеки: ShapeBase, Arc, Pie, Arrow, LineEx, LinePoint и PointLine. Включены описания, таблицы свойств, особенности, примеры использования в XAML и C#, рекомендации по выбору фигур и пример круговой диаграммы. README предназначен для быстрого ознакомления и практического применения расширенных WPF-фигур.
В проект добавлен README.md на русском языке с полным описанием всех доступных шейдерных эффектов, их свойств, примеров использования в XAML и C#, а также рекомендациями по производительности и аппаратным требованиям. Документация предназначена для быстрого старта и эффективной интеграции MathCore.WPF.Shaders в WPF-приложения.
Расширена документация ко всем *.psh-файлам: добавлены подробные комментарии на русском языке с описанием параметров, назначения, алгоритмов и формул. Внесены технические уточнения (например, исправлен альфа-канал в 3D анаглифных шейдерах). Добавлен структурированный README.md с описанием всех шейдеров, их категорий, требований, формул и принципов работы. Изменения направлены на повышение прозрачности и удобства использования коллекции видеошейдеров MathCore.WPF.
Удалены методы и структуры установки свойств из ViewModel.cs.
Вся логика Set, SetValue, SetValueResult и SetStaticValueResult
перемещена в отдельные файлы для улучшения структуры и поддержки кода.
Добавлены новые файлы с соответствующими реализациями и директивами.
Улучшена читаемость и модульность проекта.
Добавлены и обновлены XML-комментарии для методов SuppressPropertyChanges, Set и SetValue. Улучшено описание параметров, типов и возвращаемых значений для повышения понятности и поддержки автодокументирования.
В репозиторий добавлен README.MD с подробным описанием всех правил валидации, их параметров и примерами использования в XAML. В исходные файлы правил (StringLength, ValueGreaterThan, ValueLessThan, ValueInInterval) добавлены XML-комментарии к классам, свойствам, конструкторам и методам Validate для улучшения автодокументации и удобства использования в XAML.
Существенно расширена структура FileDialogEx: добавлены новые свойства для гибкой настройки диалогов открытия/сохранения файлов, реализованы fluent-методы и фабрики, поддержка популярных фильтров, методы для работы с содержимым файлов и универсальные обработчики. Вынесена общая логика настройки диалогов, добавлены подробные XML-документации. Улучшена пригодность для повторного использования и расширены сценарии применения в WPF.
Добавлен метод ResetState для сброса состояния перед инициализацией. Анимация теперь создаётся только для анимированных GIF. Добавлены проверки на корректность источника, индекса кадра и состояния декодера. Использован pattern matching для безопасной работы с DependencyObject. Повышена надёжность и предотвращены ошибки при некорректных данных.
Добавлены расширения для OpenFileDialog и FileDialogEx с поддержкой заголовков.
В TextBoxEx исправлен расчет значения и добавлена attached property EnterCommit для обновления источника по Enter.
Добавлен новый файл NotifyPropertyChangedEx с методами подписки на изменения свойств INotifyPropertyChanged.
Обновлены версии System.Drawing.Common (10.0.3), MSTest.TestAdapter и MSTest.TestFramework (4.1.0), а также Microsoft.Extensions.Hosting (10.0.3) в соответствующих проектах решения.
Обновлён пакет MathCore в проекте MathCore.WPF.csproj с версии 0.0.94.3 до 0.1.0 для использования последних изменений и улучшений библиотеки.
Из файла MathCore.WPF.csproj убрана целевая платформа net4.7-windows, сборка для этой версии .NET Framework больше не поддерживается.
В проект добавлен файл auditAndDocumentModule.prompt.md с подробной инструкцией по комплексной ревизии, документированию, локализации комментариев, проверке качества кода и управлению версионированием для модулей/пространств имён. Инструкция включает чек-лист и оформлена на русском языке.
Добавлен HashSet для отслеживания привязок в GlobalHotKeysCollection и методы для корректного управления жизненным циклом GlobalHotKeyBinding при изменениях коллекции. Реализовано удаление идентификаторов хоткеев из внутренней таблицы при их снятии регистрации. Добавлена очистка обработчика сообщений при отсутствии хоткеев. В проект добавлен README.MD с примерами использования и описанием компонентов.
Расширены XML-комментарии для класса Mapper, его свойств и методов. Добавлены подробные описания, примеры использования в XAML и C#, а также пояснения по работе коэффициента масштабирования. Логика работы класса не изменялась.
Добавлены классы MapperConverter (Freezable, IValueConverter с поддержкой DependencyProperty и привязок) и MapperF (MarkupExtension для быстрого создания конвертера в XAML). Обновлена документация с примерами использования. Добавлены подробные модульные тесты для новых конвертеров, включая проверки работы с привязками, изменением свойств и независимостью экземпляров.
@Infarh Infarh merged commit dc9129c into master Feb 15, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant