MCPcopy Create free account
hub / github.com/KebsCS/KBotExt / ImFontAtlasBuildRenderDefaultTexData

Function ImFontAtlasBuildRenderDefaultTexData

KBotExt/imgui/imgui_draw.cpp:2719–2757  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2717}
2718
2719static void ImFontAtlasBuildRenderDefaultTexData(ImFontAtlas* atlas)
2720{
2721 ImFontAtlasCustomRect* r = atlas->GetCustomRectByIndex(atlas->PackIdMouseCursors);
2722 IM_ASSERT(r->IsPacked());
2723
2724 const int w = atlas->TexWidth;
2725 if (!(atlas->Flags & ImFontAtlasFlags_NoMouseCursors))
2726 {
2727 // Render/copy pixels
2728 IM_ASSERT(r->Width == FONT_ATLAS_DEFAULT_TEX_DATA_W * 2 + 1 && r->Height == FONT_ATLAS_DEFAULT_TEX_DATA_H);
2729 const int x_for_white = r->X;
2730 const int x_for_black = r->X + FONT_ATLAS_DEFAULT_TEX_DATA_W + 1;
2731 if (atlas->TexPixelsAlpha8 != NULL)
2732 {
2733 ImFontAtlasBuildRender8bppRectFromString(atlas, x_for_white, r->Y, FONT_ATLAS_DEFAULT_TEX_DATA_W, FONT_ATLAS_DEFAULT_TEX_DATA_H, FONT_ATLAS_DEFAULT_TEX_DATA_PIXELS, '.', 0xFF);
2734 ImFontAtlasBuildRender8bppRectFromString(atlas, x_for_black, r->Y, FONT_ATLAS_DEFAULT_TEX_DATA_W, FONT_ATLAS_DEFAULT_TEX_DATA_H, FONT_ATLAS_DEFAULT_TEX_DATA_PIXELS, 'X', 0xFF);
2735 }
2736 else
2737 {
2738 ImFontAtlasBuildRender32bppRectFromString(atlas, x_for_white, r->Y, FONT_ATLAS_DEFAULT_TEX_DATA_W, FONT_ATLAS_DEFAULT_TEX_DATA_H, FONT_ATLAS_DEFAULT_TEX_DATA_PIXELS, '.', IM_COL32_WHITE);
2739 ImFontAtlasBuildRender32bppRectFromString(atlas, x_for_black, r->Y, FONT_ATLAS_DEFAULT_TEX_DATA_W, FONT_ATLAS_DEFAULT_TEX_DATA_H, FONT_ATLAS_DEFAULT_TEX_DATA_PIXELS, 'X', IM_COL32_WHITE);
2740 }
2741 }
2742 else
2743 {
2744 // Render 4 white pixels
2745 IM_ASSERT(r->Width == 2 && r->Height == 2);
2746 const int offset = (int)r->X + (int)r->Y * w;
2747 if (atlas->TexPixelsAlpha8 != NULL)
2748 {
2749 atlas->TexPixelsAlpha8[offset] = atlas->TexPixelsAlpha8[offset + 1] = atlas->TexPixelsAlpha8[offset + w] = atlas->TexPixelsAlpha8[offset + w + 1] = 0xFF;
2750 }
2751 else
2752 {
2753 atlas->TexPixelsRGBA32[offset] = atlas->TexPixelsRGBA32[offset + 1] = atlas->TexPixelsRGBA32[offset + w] = atlas->TexPixelsRGBA32[offset + w + 1] = IM_COL32_WHITE;
2754 }
2755 }
2756 atlas->TexUvWhitePixel = ImVec2((r->X + 0.5f) * atlas->TexUvScale.x, (r->Y + 0.5f) * atlas->TexUvScale.y);
2757}
2758
2759static void ImFontAtlasBuildRenderLinesTexData(ImFontAtlas* atlas)
2760{

Callers 1

ImFontAtlasBuildFinishFunction · 0.85

Calls 5

ImVec2Function · 0.85
GetCustomRectByIndexMethod · 0.80
IsPackedMethod · 0.80

Tested by

no test coverage detected