| 1570 | } |
| 1571 | |
| 1572 | void ImDrawList::AddText(const ImFont* font, float font_size, const ImVec2& pos, ImU32 col, const char* text_begin, const char* text_end, float wrap_width, const ImVec4* cpu_fine_clip_rect) |
| 1573 | { |
| 1574 | if ((col & IM_COL32_A_MASK) == 0) |
| 1575 | return; |
| 1576 | |
| 1577 | if (text_end == NULL) |
| 1578 | text_end = text_begin + strlen(text_begin); |
| 1579 | if (text_begin == text_end) |
| 1580 | return; |
| 1581 | |
| 1582 | // Pull default font/size from the shared ImDrawListSharedData instance |
| 1583 | if (font == NULL) |
| 1584 | font = _Data->Font; |
| 1585 | if (font_size == 0.0f) |
| 1586 | font_size = _Data->FontSize; |
| 1587 | |
| 1588 | IM_ASSERT(font->ContainerAtlas->TexID == _CmdHeader.TextureId); // Use high-level ImGui::PushFont() or low-level ImDrawList::PushTextureId() to change font. |
| 1589 | |
| 1590 | ImVec4 clip_rect = _CmdHeader.ClipRect; |
| 1591 | if (cpu_fine_clip_rect) |
| 1592 | { |
| 1593 | clip_rect.x = ImMax(clip_rect.x, cpu_fine_clip_rect->x); |
| 1594 | clip_rect.y = ImMax(clip_rect.y, cpu_fine_clip_rect->y); |
| 1595 | clip_rect.z = ImMin(clip_rect.z, cpu_fine_clip_rect->z); |
| 1596 | clip_rect.w = ImMin(clip_rect.w, cpu_fine_clip_rect->w); |
| 1597 | } |
| 1598 | font->RenderText(this, font_size, pos, col, clip_rect, text_begin, text_end, wrap_width, cpu_fine_clip_rect != NULL); |
| 1599 | } |
| 1600 | |
| 1601 | void ImDrawList::AddText(const ImVec2& pos, ImU32 col, const char* text_begin, const char* text_end) |
| 1602 | { |
no test coverage detected