Commit graph

41 commits

Author SHA1 Message Date
Haselnussbomber
c37c86ffdf
Obsolete SafeText helpers 2025-08-04 23:40:34 +02:00
Haselnussbomber
a60ee3a2d4
Use ImGui.Text over ImGui.TextUnformatted 2025-08-04 23:40:34 +02:00
Haselnussbomber
c8a7c712c1
Use ImU8String for SafeTextColored 2025-08-04 23:40:33 +02:00
Haselnussbomber
81c3ad9421
Update text-related ImGui calls 2025-08-04 23:40:33 +02:00
srkizer
c69329f592
Manual overloads for ImGui functions accepting text (#2319)
* wip2

* Implement AutoUtf8Buffer

* reformat

* Work on manual bindings

* restructure

* Name scripts properly

* Update utility functions to use ImU8String

* add overloads

* Add more overloads

* Use ImGuiWindow from gen, support AddCallback

* Use LibraryImport for custom ImGuiNative functinos

* Make manual overloads for string-returning functinos

* Make all overloads with self as its first parameter extension methods

* Fix overload resolution by removing unnecessary

* in => scoped in

* Fix compilation errors
2025-08-04 11:14:00 -07:00
goat
6efbb71790
Merge pull request #2315 from Haselnussbomber/imgui-bindings-fixes
[imgui-bindings] Fixes and removals
2025-07-17 02:08:49 +02:00
Haselnussbomber
7c2c74418f
[imgui-bindings] Add ReadOnlySpan<byte> ImRaii/ImGuiHelpers overloads (#2314)
* Add ReadOnlySpan<byte> ImRaii overloads

* Add ReadOnlySpan<byte> ImGuiHelpers overloads
2025-07-17 01:56:38 +02:00
Haselnussbomber
9956424c13
Remove unnecessary IsNull functions 2025-07-17 01:42:20 +02:00
goaaats
90e426b325 Remove ImGui.NET entirely 2025-06-22 22:21:12 +02:00
goaaats
95ec633cc5 merge 2025-06-22 21:39:38 +02:00
goaaats
08f959444b Add "restart in safe mode" button to blocked message 2025-04-25 22:49:05 +02:00
goaaats
47b4a9b502 Uncomment checks 2025-04-13 22:03:18 +02:00
goaaats
71d7ba8c88 remove bad cast 2025-04-13 21:59:45 +02:00
goaaats
308b9e4575 Re-add ImGui.NET, add compatibility shims 2025-04-13 21:52:27 +02:00
goaaats
ad3b0f0194 Fix some warnings 2025-04-08 22:21:04 +02:00
goaaats
0690cce995 wip bindings upgrade 2025-04-06 20:59:23 +02:00
goaaats
2951dc93ec Merge master 2025-04-03 21:14:12 +02:00
Haselnussbomber
fdbfdbb2cd
Add SeStringEvaluator service (#2188)
* Add SeStringEvaluator service

* Move DrawCopyableText into WidgetUtil

* Use Icon2RemapTable in SeStringRenderer

* Beautify some code

* Make sure to use the correct language

* Add SeString Creator widget

* Fix getting local parameters

* Update expressionNames

* misc changes

* Use InvariantCulture in TryResolveSheet

* Add SeStringEvaluatorAgingStep

* Fix item id comparisons

* Add SheetRedirectResolverAgingStep

* Add NounProcessorAgingStep

* Update SeString.CreateItemLink

This also adds the internal ItemUtil class.

* Fix name of SeStringCreator widget

* Add Global Parameters tab to SeStringCreatorWidget

* Load widgets on demand

* Update SeStringCreatorWidget

* Resizable SeStringCreatorWidget panels

* Update GamepadStateAgingStep

* Experimental status was removed in #2144

* Update SheetRedirectResolver, rewrite Noun params

* Fixes for 4 am code

* Remove incorrect column offset

I have no idea how that happened.

* Draw names of linked things

---------

Co-authored-by: Soreepeong <3614868+Soreepeong@users.noreply.github.com>
Co-authored-by: KazWolfe <KazWolfe@users.noreply.github.com>
2025-03-24 09:00:27 -07:00
srkizer
70af62885b
chore: remove [Experimental] from SeStringRenderer (#2144)
It hasn't caused problem for a while (though performance probably can be
better), and looks good enough to remove this attribute.
2024-12-17 07:31:44 -08:00
ItsBexy
ee63f60877
Update UIDebug2, ImGuiComponents, ImGuiHelpers (#2081)
* Update ImGuiComponents & ImGuiHelpers
Took some helper functions created for `UiDebug2`, and incorporated them into `ImGuiComponents` / `ImGuiHelpers` instead

- `IconButton()` (and its various overloads) now includes an optional size parameter
- `IconButtonSelect()` has been added, allowing a row or grid of IconButtons to serve as a radio-like input
- `HelpMarker()` now includes an optional color parameter
- `ClickToCopyText()` now includes an optional color parameter, and includes the `FontAwesome.Copy` icon in the tooltip.
- Implemented ImRaii in these files

These changes are intended not to break any existing calls in plugins or within Dalamud itself.

* Fix ambiguous overloads

* UiDebug2 Updates
- Fixed XY coordinate display
- Added AtkValue table to AddonTree display
- Restored old behaviour wherein the Addon display initially only shows the Root node and a collapsed node list
- The above should also fix the Element Selector / Search behaviour, allowing it to scroll correctly to the searched node
- Now displays field offsets for any node/component whose pointer exists in the addon struct
- Tidied up node tree headers by removing memory addresses (they're still readable in the opened tree, of course)
2024-11-14 15:36:27 -08:00
Haselnussbomber
fc7b1f222d
Set style parameter of CompileSeStringWrapped to default (#1991) 2024-08-01 15:16:30 -07:00
srkizer
c721069b08
Fix scoped in and mark experimental (#1990) 2024-08-01 18:23:42 +00:00
srkizer
b6eb18d550
SeString renderer: fix colors, add link support (#1983)
* Add coloring options

* Add link support

* simplify

* fixes

* Prevent EncodeString from causing crashes

* Fix link range application and add link example

* Fix test widget

* Make DalamudLinkPayload backward compatible

* make it better to use

* make it better to use

* Mark SeString rendering functions experimental via comments

* rename

* Simplify

* Make sestring draw functions take in draw params

* Improvements
2024-08-01 10:36:11 -07:00
srkizer
844b04faad
Implement SeString renderer (#1977)
Does not have contextual evaluation. Only styling payloads are handled for (relative) simplicity.
2024-07-28 15:36:04 +02:00
Soreepeong
184463a056 Rewrite ImGuiScene 2024-07-19 18:48:05 +09:00
Soreepeong
faf61477c7 Move ImGuiScene into Dalamud project 2024-07-19 18:13:37 +09:00
goat
448b0d16ea
Add "loading dialog" for service init, unify blocking logic (#1779)
* wip

* hacky fix for overlapping event text in profiler

* move IsResumeGameAfterPluginLoad logic to PluginManager

* fix some warnings

* handle exceptions properly

* remove ability to cancel, rename button to "hide" instead

* undo Dalamud.Service refactor for now

* warnings

* add explainer, show which plugins are still loading

* add some text if loading takes more than 3 minutes

* undo wrong CS merge
2024-04-21 17:28:37 +02:00
srkizer
e52c2755cb
Fix CreateImGuiRangesFrom to omit null char (#1709)
* Fix CreateImGuiRangesFrom to omit null char

UnicodeRanges.BasicLatin is [0, 127], but ImGui stops reading the glyph
range list on encountering a zero. Fixed that by ensuring that 0 never
appears in the glyph range list.

* Make problems explicit

---------

Co-authored-by: goat <16760685+goaaats@users.noreply.github.com>
2024-03-16 16:02:36 +00:00
srkizer
34daa73612
Implement FontChooserDialog (#1637)
* Implement FontChooserDialog

* Minor fixes

* Fixes 2

* Add Reset default font button

* Add failsafe

* reduce uninteresting exception message

* Add remarks to use AttachExtraGlyphsForDalamudLanguage

* Support advanced font configuration options

* fixes

* Shift ui elements

* more fixes

* Add To(Localized)String for IFontSpec

* Untie GlobalFontScale from default font size

* Layout fixes

* Make UiBuilder.DefaultFontSize point to user configured value

* Update example for NewDelegateFontHandle

* Font interfaces: write notes on not intended for plugins to implement

* Update default gamma to 1.7 to match closer to prev behavior (1.4**2)

* Fix console window layout
2024-02-13 20:09:46 +00:00
Soreepeong
63b16bcc7c Reapply "IFontAtlas: font atlas per plugin"
This reverts commit b5696afe94.
2024-01-19 07:26:56 +09:00
goat
b5696afe94 Revert "IFontAtlas: font atlas per plugin" 2024-01-18 12:51:58 -08:00
Soreepeong
912cf991dc remove/internalize unused 2024-01-12 12:27:28 +09:00
Soreepeong
015c313c5e Move UseAxis/Override to FAF 2024-01-03 23:45:46 +09:00
Soreepeong
f172ee2308 Better rounding 2024-01-03 23:37:00 +09:00
Soreepeong
77536429d6 Fix adding supplemental language fonts for GamePrebakedFontHandle 2024-01-03 23:37:00 +09:00
Soreepeong
8bdab4d2c8 Implement DalamudFontAtlas 2024-01-03 23:36:08 +09:00
Soreepeong
b6d88f798a Make CJK imes work better 2023-12-17 11:59:11 +09:00
srkizer
7a0de45f87
Miscellaneous improvements (#1537) 2023-11-26 22:58:26 +01:00
goat
c03d6ff048
fix: only allow pinning/clickthrough if the window is within the main viewport 2023-11-07 19:27:45 +01:00
srkizer
f60e7b7a86
Fulfill BuildLookupTable preconditions (#1507) 2023-10-29 11:38:31 +01:00
goat
02e1f2502e
refactor: move Dalamud.Interface utils into main assembly, warnings pass 2023-08-04 19:36:09 +02:00
Renamed from Dalamud/Interface/ImGuiHelpers.cs (Browse further)