Note: as with every ImDrawList drawing function, this expects that the font atlas texture is bound.
| 3539 | |
| 3540 | // Note: as with every ImDrawList drawing function, this expects that the font atlas texture is bound. |
| 3541 | void ImFont::RenderChar(ImDrawList* draw_list, float size, const ImVec2& pos, ImU32 col, ImWchar c) const |
| 3542 | { |
| 3543 | const ImFontGlyph* glyph = FindGlyph(c); |
| 3544 | if (!glyph || !glyph->Visible) |
| 3545 | return; |
| 3546 | if (glyph->Colored) |
| 3547 | col |= ~IM_COL32_A_MASK; |
| 3548 | float scale = (size >= 0.0f) ? (size / FontSize) : 1.0f; |
| 3549 | float x = IM_FLOOR(pos.x); |
| 3550 | float y = IM_FLOOR(pos.y); |
| 3551 | draw_list->PrimReserve(6, 4); |
| 3552 | 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); |
| 3553 | } |
| 3554 | |
| 3555 | // Note: as with every ImDrawList drawing function, this expects that the font atlas texture is bound. |
| 3556 | 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