Conversation
Реализован универсальный класс 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 больше не поддерживается.
…an documentation and README
В проект добавлен файл auditAndDocumentModule.prompt.md с подробной инструкцией по комплексной ревизии, документированию, локализации комментариев, проверке качества кода и управлению версионированием для модулей/пространств имён. Инструкция включает чек-лист и оформлена на русском языке.
Добавлен HashSet для отслеживания привязок в GlobalHotKeysCollection и методы для корректного управления жизненным циклом GlobalHotKeyBinding при изменениях коллекции. Реализовано удаление идентификаторов хоткеев из внутренней таблицы при их снятии регистрации. Добавлена очистка обработчика сообщений при отсутствии хоткеев. В проект добавлен README.MD с примерами использования и описанием компонентов.
Расширены XML-комментарии для класса Mapper, его свойств и методов. Добавлены подробные описания, примеры использования в XAML и C#, а также пояснения по работе коэффициента масштабирования. Логика работы класса не изменялась.
Добавлены классы MapperConverter (Freezable, IValueConverter с поддержкой DependencyProperty и привязок) и MapperF (MarkupExtension для быстрого создания конвертера в XAML). Обновлена документация с примерами использования. Добавлены подробные модульные тесты для новых конвертеров, включая проверки работы с привязками, изменением свойств и независимостью экземпляров.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.