Note: as with every ImDrawList drawing function, this expects that the font atlas texture is bound.
| 3595 | |
| 3596 | // Note: as with every ImDrawList drawing function, this expects that the font atlas texture is bound. |
| 3597 | void ImFont::RenderChar(ImDrawList* draw_list, float size, const ImVec2& pos, ImU32 col, ImWchar c) const |
| 3598 | { |
| 3599 | const ImFontGlyph* glyph = FindGlyph(c); |
| 3600 | if (!glyph || !glyph->Visible) |
| 3601 | return; |
| 3602 | if (glyph->Colored) |
| 3603 | col |= ~IM_COL32_A_MASK; |
| 3604 | float scale = (size >= 0.0f) ? (size / FontSize) : 1.0f; |
| 3605 | float x = IM_FLOOR(pos.x); |
| 3606 | float y = IM_FLOOR(pos.y); |
| 3607 | draw_list->PrimReserve(6, 4); |
| 3608 | draw_list->PrimRectUV(ImVec2(x + glyph->X0 * scale, y + glyph->Y0 * scale), ImVec2(x + glyph->X1 * scale, y + glyph->Y1 * scale), ImVec2(glyph->U0, glyph->V0), ImVec2(glyph->U1, glyph->V1), col); |
| 3609 | } |
| 3610 | |
| 3611 | // Note: as with every ImDrawList drawing function, this expects that the font atlas texture is bound. |
| 3612 | void ImFont::RenderText(ImDrawList* draw_list, float size, const ImVec2& pos, ImU32 col, const ImVec4& clip_rect, const char* text_begin, const char* text_end, float wrap_width, bool cpu_fine_clip) const |
no test coverage detected