drawlist mimgui

archvillain

Активный
Автор темы
129
73
Версия MoonLoader
.026-beta
приветствую. требуется помощь с флагами шрифтов при использовании drawlist mimgui. как добавить надписи курсив, к примеру?
предполагаю, что сделать это можно изменив параметры в imgui.ImFontConfig(), только какие?
то есть, например, вот код ниже - config.GlyphExtraSpacing.x = 0.1 отвечает за расстояние между буквами в надписи. где посмотреть, какие еще параметры существуют?
example:
imgui.OnInitialize(function()
    local path = getFolderPath(0x14) .. '\\arial.ttf'
    local glyph_ranges = imgui.GetIO().Fonts:GetGlyphRangesCyrillic()
    local config = imgui.ImFontConfig()
    config.GlyphExtraSpacing.x = 0.1 --расстояние между буквами
    imgui.GetIO().Fonts:Clear()
    imgui.GetIO().Fonts:AddFontFromFileTTF(path, 15.0, config, glyph_ranges)
    ...
end)
 
  • Нравится
Реакции: Lance_Sterling
Решение
где посмотреть, какие еще параметры существуют?
В api
C:
struct ImFontConfig
{
    void* FontData;
    int FontDataSize;
       _Bool         FontDataOwnedByAtlas;
    int FontNo;
    float SizePixels;
    int OversampleH;
    int OversampleV;
       _Bool         PixelSnapH;
    ImVec2 GlyphExtraSpacing;
    ImVec2 GlyphOffset;
    const ImWchar* GlyphRanges;
    float GlyphMinAdvanceX;
    float GlyphMaxAdvanceX;
       _Bool         MergeMode;
    unsigned int RasterizerFlags;
    float RasterizerMultiply;
    char Name[40];
    ImFont* DstFont;
};

sdfy

Известный
349
230
где посмотреть, какие еще параметры существуют?
В api
C:
struct ImFontConfig
{
    void* FontData;
    int FontDataSize;
       _Bool         FontDataOwnedByAtlas;
    int FontNo;
    float SizePixels;
    int OversampleH;
    int OversampleV;
       _Bool         PixelSnapH;
    ImVec2 GlyphExtraSpacing;
    ImVec2 GlyphOffset;
    const ImWchar* GlyphRanges;
    float GlyphMinAdvanceX;
    float GlyphMaxAdvanceX;
       _Bool         MergeMode;
    unsigned int RasterizerFlags;
    float RasterizerMultiply;
    char Name[40];
    ImFont* DstFont;
};
 
  • Нравится
Реакции: archvillain

archvillain

Активный
Автор темы
129
73
В api
C:
struct ImFontConfig
{
    void* FontData;
    int FontDataSize;
       _Bool         FontDataOwnedByAtlas;
    int FontNo;
    float SizePixels;
    int OversampleH;
    int OversampleV;
       _Bool         PixelSnapH;
    ImVec2 GlyphExtraSpacing;
    ImVec2 GlyphOffset;
    const ImWchar* GlyphRanges;
    float GlyphMinAdvanceX;
    float GlyphMaxAdvanceX;
       _Bool         MergeMode;
    unsigned int RasterizerFlags;
    float RasterizerMultiply;
    char Name[40];
    ImFont* DstFont;
};
хорошо, спасибо. но вопрос по поводу флагов шрифтов все еще остается в силе - можно ли добавить курсив/жирность/обводку тексту, который отрисовывает mimgui? помимо GlyphExtraSpacing из параметров данной структуры я увидел, что еще RasterizerMultiply отвечает за что-то вроде прозрачности текста
@chapo, не мог бы помочь?
 

sdfy

Известный
349
230
хорошо, спасибо. но вопрос по поводу флагов шрифтов все еще остается в силе - можно ли добавить курсив/жирность/обводку тексту, который отрисовывает mimgui? помимо GlyphExtraSpacing из параметров данной структуры я увидел, что еще RasterizerMultiply отвечает за что-то вроде прозрачности текста
@chapo, не мог бы помочь?
В мимгуи вроде нет такого и надо подгружать ещё один шрифт, но могу ошибаться
 

lorgon

Известный
657
268
хорошо, спасибо. но вопрос по поводу флагов шрифтов все еще остается в силе - можно ли добавить курсив/жирность/обводку тексту, который отрисовывает mimgui? помимо GlyphExtraSpacing из параметров данной структуры я увидел, что еще RasterizerMultiply отвечает за что-то вроде прозрачности текста
@chapo, не мог бы помочь?
По моему опыту, придется отдельно добавлять нужные шрифты. Ну что-то типа курсива можно и самому подшаманить, но это немного костыльно.