mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-13 12:14:16 +01:00
* Add SetFontScaleMode(ImFontPtr, FontScaleMode) `IgnoreGlobalScale` was advertised as "excludes the given font from global scaling", but the intent I had in mind was "excludes the given font from being scaled in any manner". As the latter functionality is needed, obsoleted `IgnoreGlobalScale` and added `SetFontScaleMode`. * Make it correct * Name consistency
53 lines
2.1 KiB
C#
53 lines
2.1 KiB
C#
using Dalamud.Interface.Internal;
|
|
using Dalamud.Utility;
|
|
|
|
using ImGuiNET;
|
|
|
|
namespace Dalamud.Interface.ManagedFontAtlas;
|
|
|
|
/// <summary>
|
|
/// Toolkit for use when the build state is <see cref="FontAtlasBuildStep.PostBuild"/>.<br />
|
|
/// Not intended for plugins to implement.
|
|
/// </summary>
|
|
public interface IFontAtlasBuildToolkitPostBuild : IFontAtlasBuildToolkit
|
|
{
|
|
/// <inheritdoc cref="IFontAtlasBuildToolkitPreBuild.IsGlobalScaleIgnored"/>
|
|
[Obsolete($"Use {nameof(this.GetFontScaleMode)}")]
|
|
[Api10ToDo(Api10ToDoAttribute.DeleteCompatBehavior)]
|
|
bool IsGlobalScaleIgnored(ImFontPtr fontPtr) => this.GetFontScaleMode(fontPtr) == FontScaleMode.UndoGlobalScale;
|
|
|
|
/// <inheritdoc cref="IFontAtlasBuildToolkitPreBuild.GetFontScaleMode"/>
|
|
FontScaleMode GetFontScaleMode(ImFontPtr fontPtr);
|
|
|
|
/// <summary>
|
|
/// Stores a texture to be managed with the atlas.
|
|
/// </summary>
|
|
/// <param name="textureWrap">The texture wrap.</param>
|
|
/// <param name="disposeOnError">Dispose the wrap on error.</param>
|
|
/// <returns>The texture index.</returns>
|
|
int StoreTexture(IDalamudTextureWrap textureWrap, bool disposeOnError);
|
|
|
|
/// <summary>
|
|
/// Copies glyphs across fonts, in a safer way.<br />
|
|
/// If the font does not belong to the current atlas, this function is a no-op.
|
|
/// </summary>
|
|
/// <param name="source">Source font.</param>
|
|
/// <param name="target">Target font.</param>
|
|
/// <param name="missingOnly">Whether to copy missing glyphs only.</param>
|
|
/// <param name="rebuildLookupTable">Whether to call target.BuildLookupTable().</param>
|
|
/// <param name="rangeLow">Low codepoint range to copy.</param>
|
|
/// <param name="rangeHigh">High codepoing range to copy.</param>
|
|
void CopyGlyphsAcrossFonts(
|
|
ImFontPtr source,
|
|
ImFontPtr target,
|
|
bool missingOnly,
|
|
bool rebuildLookupTable = true,
|
|
char rangeLow = ' ',
|
|
char rangeHigh = '\uFFFE');
|
|
|
|
/// <summary>
|
|
/// Calls <see cref="ImFontPtr.BuildLookupTable"/>, with some fixups.
|
|
/// </summary>
|
|
/// <param name="font">The font.</param>
|
|
void BuildLookupTable(ImFontPtr font);
|
|
}
|