| 1204 | } |
| 1205 | |
| 1206 | 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) |
| 1207 | { |
| 1208 | if ((col & IM_COL32_A_MASK) == 0) |
| 1209 | return; |
| 1210 | |
| 1211 | if (text_end == NULL) |
| 1212 | text_end = text_begin + strlen(text_begin); |
| 1213 | if (text_begin == text_end) |
| 1214 | return; |
| 1215 | |
| 1216 | // Pull default font/size from the shared ImDrawListSharedData instance |
| 1217 | if (font == NULL) |
| 1218 | font = _Data->Font; |
| 1219 | if (font_size == 0.0f) |
| 1220 | font_size = _Data->FontSize; |
| 1221 | |
| 1222 | IM_ASSERT(font->ContainerAtlas->TexID == _TextureIdStack.back()); // Use high-level ImGui::PushFont() or low-level ImDrawList::PushTextureId() to change font. |
| 1223 | |
| 1224 | ImVec4 clip_rect = _ClipRectStack.back(); |
| 1225 | if (cpu_fine_clip_rect) |
| 1226 | { |
| 1227 | clip_rect.x = ImMax(clip_rect.x, cpu_fine_clip_rect->x); |
| 1228 | clip_rect.y = ImMax(clip_rect.y, cpu_fine_clip_rect->y); |
| 1229 | clip_rect.z = ImMin(clip_rect.z, cpu_fine_clip_rect->z); |
| 1230 | clip_rect.w = ImMin(clip_rect.w, cpu_fine_clip_rect->w); |
| 1231 | } |
| 1232 | font->RenderText(this, font_size, pos, col, clip_rect, text_begin, text_end, wrap_width, cpu_fine_clip_rect != NULL); |
| 1233 | } |
| 1234 | |
| 1235 | void ImDrawList::AddText(const ImVec2& pos, ImU32 col, const char* text_begin, const char* text_end) |
| 1236 | { |
no test coverage detected