You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Read extra_fonts/README.txt or ImFontAtlas class for more details.
358
360
359
361
Q: How can I display and input non-latin characters such as Chinese, Japanese, Korean, Cyrillic?
360
362
A: When loading a font, pass custom Unicode ranges to specify the glyphs to load. ImGui will support UTF-8 encoding across the board.
361
363
Character input depends on you passing the right character code to io.AddInputCharacter(). The example applications do that.
362
364
363
-
io.Fonts->AddFontFromFileTTF("myfontfile.ttf", size_in_pixels, NULL, io.Fonts->GetGlyphRangesJapanese()); // Load Japanese characters
364
-
io.Fonts->GetTexDataAsRGBA32() or GetTexDataAsAlpha8()
365
-
io.ImeWindowHandle = MY_HWND; // To input using Microsoft IME, give ImGui the hwnd of your application
365
+
io.Fonts->AddFontFromFileTTF("myfontfile.ttf", size_in_pixels, NULL, io.Fonts->GetGlyphRangesJapanese()); // Load Japanese characters
366
+
io.Fonts->GetTexDataAsRGBA32() or GetTexDataAsAlpha8()
367
+
io.ImeWindowHandle = MY_HWND; // To input using Microsoft IME, give ImGui the hwnd of your application
366
368
367
369
- tip: the construct 'IMGUI_ONCE_UPON_A_FRAME { ... }' will run the block of code only once a frame. You can use it to quickly add custom UI in the middle of a deep nested inner loop in your code.
368
370
- tip: you can create widgets without a Begin()/End() block, they will go in an implicit window called "Debug"
@@ -374,8 +376,8 @@
374
376
ISSUES & TODO-LIST
375
377
==================
376
378
Issue numbers (#) refer to github issues.
379
+
The list below consist mostly of notes of things to do before they are requested/discussed by users (at that point it usually happens on the github)
377
380
378
-
- misc: merge or clarify ImVec4 vs ImRect?
379
381
- window: autofit feedback loop when user relies on any dynamic layout (window width multiplier, column). maybe just clearly drop manual autofit?
380
382
- window: add a way for very transient windows (non-saved, temporary overlay over hundreds of objects) to "clean" up from the global window list.
381
383
- window: allow resizing of child windows (possibly given min/max for each axis?)
@@ -430,7 +432,8 @@
430
432
- slider: initial absolute click is imprecise. change to relative movement slider (same as scrollbar).
431
433
- slider: add dragging-based widgets to edit values with mouse (on 2 axises), saving screen real-estate.
432
434
- slider: tint background based on value (e.g. v_min -> v_max, or use 0.0f either side of the sign)
433
-
- dragfloat: up/down axis
435
+
- slider & drag: int data passing through a float
436
+
- drag float: up/down axis
434
437
- text edit: clean up the mess caused by converting UTF-8 <> wchar. the code is rather inefficient right now.
435
438
- text edit: centered text for slider as input text so it matches typical positioning.
436
439
- text edit: flag to disable live update of the user buffer.
@@ -454,7 +457,6 @@
454
457
- focus: SetKeyboardFocusHere() on with >= 0 offset could be done on same frame (else latch and modulate on beginning of next frame)
455
458
- input: rework IO to be able to pass actual events to fix temporal aliasing issues.
456
459
- input: support track pad style scrolling & slider edit.
457
-
- portability: big-endian test/support (#81)
458
460
- memory: add a way to discard allocs of unused/transient windows. with the current architecture new windows (including popup, opened combos, listbox) perform at least 3 allocs.
459
461
- misc: mark printf compiler attributes on relevant functions
460
462
- misc: provide a way to compile out the entire implementation while providing a dummy API (e.g. #define IMGUI_DUMMY_IMPL)
0 commit comments