* Add support for raw emoji parsing in TextWidget
* Fix SDL not honouring Wayland Support setting
* Fix improper markup parsing in TextWidget after emoji support was added
* Use Twemoji for emoji, and add support for COLR font glyphs.
* Add support for emoji rendering in TextWidget if the font is provided
* Add support for parsing emoji shortcodes in TextWidget
* Add emoji lookup table to AcidicGUI
* Add Noto Color Emoji font for future use
* Decrease overall font size
* Fix improper line height calculation at low font size in Typeface
* Do not word-wrap in TextWidget unless the text element has printable text.
* Merge whitespace text elements together in TextWidget
* Remove DynamicFont and FontStashSharp support
* Mark DynamicFont as obsolete and remove all API needed to load it
* Improve legibility of smaller font sizes
* Fix underlines in TextWidget
* Don't use system culture for in-game time strings on desktop
* Fix some whitespace chars being treated as unknown glyphs
* Fix improper line height measurement in Typeface.MeasureString
* Use FreeType for icon rendering
* Allow independent atlases for different font sizes, improves overall legibility
* Add experimental FreeType-based text rendering
* Add support for popover theming
* Add support for popovers on any widget.
* Add support for GUI layers
* Fix crash when opening apps
* Replace Material icons with Lucide icons
* Fix various chromatic aberration typoes
* Add support for workspace switching
* Don't render scroll view children if their visual rectangle is out of bounds
* Allow parent widgets to decide whether a given child gets to render onto the screen
* Add support for window minimizing
* Fix over-measuring of font sizes in DynamicFont
* Use new applet system for Status Bar user display
* Add support for launcher applets
* Add support for status applets on both Dock and Status Bar
* Remove ToolManager
* Allow windows to be maximized by double-clicking the title area
* Add minimum sizes to Chat and Email
* Add support for dirty rendering in background blurs
* Remove all tile-based tools in favour of floating windows
* Move Dock to bottom of screen and Info Panel to an overlay
* Adjust bloom to better-suit the game
* Fix background blurs using incorrect UVs
* Add support for chromatic abberation
* Add support for bloom
* Fix various blur shader issues and adjust for performance
* Use Dual Kawasse blur technique in place of Gaussian Blur for more intense-looking, less intense-fucking blurs
* Add basic debug overlay on F3 key
* Move visual style types to their own files
* Use new visual style system for chat completion list
* Use new visual style system for window decorations
* Use new visual style system for chat message bubbles
* Add support for running actions inside GUI debugger
* Completely rewrite the UI debugger
* Fix scrollbars not rendering
* Argh. Blur is messed up in a way I can't describe.
* Minimize draw call overhead of widgets
* Don't use the same vertex and index buffer over and over again when rendering UI meshes. Create and cache buffers for each widget instead.
* Use actual blitting techniques when possible in IVirtualScreen.Blit
* Squeeze some extra performance out of the blur shader
* Optimize background blurs by only blurring the area under the widget
* Add support for region-to-region grabbing of the virtual screen
* Various widget property cache fixes
* Use new visual style system for window tabs
* Add support for dynamic text color in new style system
* Allow background blur darkening
* Optimize window dragging
* Use new visual style system for blur panels
* Use new visual style system for form fields
* Render input field caret in SociallyDistantVisualStyle
* Fix message dialog buttons calling their callbacks multiple times
* Use new visual style system for input fields
* Use new visual style for list items
* Use new visual style system for Dock
* Use new visual style system for the Status Bar
* Use new visual style system for decorative blocks
* Use new visual style system for toggles
* Use new visual style system for buttons and move buttons into AcidicGUI
* Add support for animated scrollbars
* Add support for click scrolling in ScrollBar
* Avoid layout updates when scrolling in a ScrollView
* Fix scrollbar not disappearing in scroll views that do not have enough content to scroll
* Add suppport for basic drag scrolling in ScrollView
* Add support for starting a drag and drop session from a MouseDown event
* Fix dropdowns not laying out their items properly after switch to new visual style system
* Fix handling of focus events when a mouse event results in a widget being created
* Consume all scroll events when a dropdown is open
* Use new visual style system for dropdown item backgrounds
* Use new visual style system for rendering all widget backgrounds
* Skip rendering widgets whose computed render opacity is zero, including rendering any of their children.
* Use new visual style system for dropdown item backgrounds
* Add support for drawing default widget backgrounds with the BackgroundStyle property
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
* Use new visual style system for scroll bars
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
* Split Scroll View and Scroll Bar into separate widgets
* Use new visual style system for Sliders
* Re-add support for mouse scrolling in Terminal
* Show more descriptive OS version info in neofetch
We now show the distribution name (i.e, "Arch Linux")
as well as the OS architecture and .NET version in
the "Host" string in neofetch.
This should theoretically also mean Windows versions
are displayed properly, but I don't have a local
Windows system to test.
Issue: #1
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
* Document new visual style system
* Use new style system for Progress Bars
* Allow custom widgets to more easily take advantage of the visual style system
* Add support for setting confirmations in toggles
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
* Fix background blur effect rendering solid black after fullscreen changes
Changing the game resolution requires throwing away old blur buffers and
generating new ones. This requires throwing away cached blur geometry on
all widgets, but we were not doing that - resulting in sampling a destroyed
texture. In MonoGame, the failure mode for this is sampling black.
Issue: #1
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
* Fix issue where toggling Fullscreen doesn't change window mode
We did not apply the XNA presentation parameters this whole time.
I feel stupid.
Issue: #1
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
* Prioritize Graphics category in System Settings
* Fix annoying ordering of resolutions in Graphics Settings
* Fix crash on lower screen resolutions when clicking on Terminal
Mouse coordinates were not being scaled from screenspace into
canvas space, resulting in a crash when clicking on the Terminal.
Also add documentation for internal VirtualScreen
implementation, and define dynamic properties for
CanvasWidth and CanvasHeight in the UI system.
Issue: #13
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
* Remove old GuiService virtual screen and document IVirtualScreen
Whoever wrote that old code was high, fuck... wait a minute...
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
* Fix various errors after emergency rebase
* Remove Rider caches
* Attempt to enable Wayland support
* Add support for enabling/disabling Wayland support on Linux
* Move SettingsManager to GameApplication so settings can be loaded before the game engine fully boots.
* Test commit.
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
* Move Terminals to their own tile
* Add support for disabling background blur
* Testing the DCO acknowledgement job
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
* Fix crash on lower screen resolutions when clicking on Terminal
Mouse coordinates were not being scaled from screenspace into
canvas space, resulting in a crash when clicking on the Terminal.
Also add documentation for internal VirtualScreen
implementation, and define dynamic properties for
CanvasWidth and CanvasHeight in the UI system.
Issue: #13
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
* Remove old GuiService virtual screen and document IVirtualScreen
Whoever wrote that old code was high, fuck... wait a minute...
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
* Fix various errors after emergency rebase
* Remove Rider caches
* Attempt to enable Wayland support
* Add support for enabling/disabling Wayland support on Linux
* Move SettingsManager to GameApplication so settings can be loaded before the game engine fully boots.
* Test commit.
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
* Move Terminals to their own tile
* Add support for getting CPU name on Windows via registry
* Add support for disabling background blur
* Fix window hints not being restored when switching between main tool tabs
* Testing the DCO acknowledgement job
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
Having the text 'virus' anywhere in SociallyDistant.Framework,
alongside the internet simulation API, causes Windows Defender
and ONLY Windows Defender to think the game is RedLine Stealer.
I'm serious.
Issue: #14
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>
A fix was introduced for Windows that fixes a crash
when trying to build fonts on minimal Windows installs.
Issue: #14
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>