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