50 Commits

Author SHA1 Message Date
xuk
552986072a i18n: fix ImplicitRefSize assertion by passing 0.0f size to merged CJK font
AddFontDefault() uses implicit ref size. Passing an explicit size (13.0f) to
AddFontFromFileTTF() in MergeMode triggers the assertion because the two fonts
use different ref size conventions. Pass 0.0f instead so both fonts share the
same implicit ref size and scale together with style.FontSizeBase.
2026-06-10 17:55:10 +08:00
xuk
e9cd46672a i18n: simplify RebuildFonts() — remove glyph ranges and ref size workaround
In v1.92+ with an updated backend, glyph ranges are handled dynamically
and do not need to be specified. Remove GetGlyphRangesChineseSimplifiedCommon(),
the zh_label_ranges English stub, and the explicit SizePixels on AddFontDefault()
that was added to work around the ImplicitRefSize assertion. Use plain
MergeMode instead.
2026-06-10 16:59:39 +08:00
xuk
08f82c56de i18n: move i18n/ to misc/i18n/ to align with misc/ optional module convention
misc/ already hosts optional supplemental modules (cpp/imgui_stdlib,
freetype/, fonts/). i18n fits the same pattern: opt-in, not part of
the core library. Update all include paths, Makefile, Xcode project
and README accordingly.
2026-06-10 14:27:16 +08:00
xuk
5f45f05f68 i18n: fix translation quality per localization standards
- Do not translate 'Hello, world!' (universally recognized programming example)
- Do not translate 'This is some useful text.' (standard example boilerplate)
- Do not translate 'float' / 'counter = %d' (C++ type/variable labels)
- Keep 'blah blah blah' as-is (intentional nonsense filler, not real content)
- Keep 'dear imgui' brand name untranslated in greeting message
- Fix 'Another bullet point' -> 正确翻译为项目符号而非叶节点
- Fix 'Metrics/Debugger' -> 指标/调试器 (Metrics = indicators, not performance)
- Remove redundant identity entries for API function names (IsItemXxx etc.)
2026-06-10 13:55:53 +08:00
xuk
d497a70fca i18n: guard i18n code in main.mm with IMGUI_DEMO_ENABLE_I18N; iOS target opt-out
- Wrap RebuildFonts(), g_need_font_rebuild, and font rebuild calls in
  #ifdef IMGUI_DEMO_ENABLE_I18N so main.mm compiles cleanly without i18n
- Include imgui_i18n.h unconditionally (provides no-op Tr() stub when
  IMGUI_DEMO_ENABLE_I18N is not defined, enabling Tr() in the demo window)
- Remove IMGUI_DEMO_ENABLE_I18N and i18n sources from iOS Xcode target
  (untested on iOS; macOS-only system font paths would not work on device)
2026-06-08 11:36:46 +08:00
xuk
86e272318f i18n: update Xcode project to include i18n sources and IMGUI_DEMO_ENABLE_I18N
Add imgui_i18n.cpp and locale/zh_CN.cpp to both iOS and macOS targets.
Set IMGUI_DEMO_ENABLE_I18N=1 in GCC_PREPROCESSOR_DEFINITIONS for all
four build configurations (iOS/macOS × Debug/Release).
2026-06-08 11:27:01 +08:00
xuk
0576c0e3a1 i18n: add Simplified Chinese translation for imgui_demo + Apple Metal example
- imgui_demo.cpp: wrap all user-visible string literals with Tr(); add
  Language menu in DemoWindowMenuBar (guarded by IMGUI_DEMO_ENABLE_I18N);
  guard extern g_need_font_rebuild with IMGUI_DEMO_ENABLE_I18N + __APPLE__
- examples/example_apple_metal/main.mm: CJK font loading via RebuildFonts()
  (always loads 2-glyph stub in English, full range in zh_CN); Language menu
  triggers font atlas rebuild before next NewFrame(); wrap demo window strings
  with Tr(); fix v1.92 ImplicitRefSize assertion by passing explicit SizePixels
  to AddFontDefault()
- examples/example_apple_metal/Makefile: add i18n sources and
  -DIMGUI_DEMO_ENABLE_I18N flag
2026-06-08 11:22:24 +08:00
ocornut
9c33672e5c Examples: reword a comment to not mention AddFontDefault() explicitly. 2026-02-12 18:37:31 +01:00
ocornut
05581da183 AddFontDefault() now automatically selects an embedded font between AddFontDefaultVector() and AddFontDefaultBitmap). 2025-12-23 18:16:33 +01:00
ocornut
e044d99710 Examples: standardized all examples to have a base window size of 1280x800. 2025-09-15 16:34:36 +02:00
ocornut
fe03035112 Docs: advertise ProggyVector font as an alternative. 2025-08-20 20:02:49 +02:00
ocornut
c18301f356 Examples: remove explicit font sizes from AddFontXXX() calls. Add commented out style.FontSizeBase assignment. 2025-06-11 16:25:03 +02:00
ocornut
d72e66cdee Examples: remove comments/references about baking and GetGlyphRangesJapanese(). 2025-06-11 16:11:03 +02:00
ocornut
b5a73033ab Examples: Apple: Amend build scripts and gitignore, fix misc OSX warnings. (#8637)
# Conflicts:
#	backends/imgui_impl_metal.mm
2025-05-14 18:23:31 +02:00
Pascal Thomet
2df9e9b103 Examples: Apple: add Makefile for example_apple_metal, example_apple_opengl2. (#8637)
- Works only for macOS: use XCode for iOS
- It will produce a raw exe. It will not a produce an macOS application bundle (i.e a folder that includes exe and resources). To get app bundles, use the XCode project.
- An adjustment was required in main.mm (for macOS only), to ensure that the exe can run without any plist or storyboard under macOS
2025-05-14 18:23:31 +02:00
ocornut
e3bfaab3f7 Examples: update xcode projects. 2025-05-05 18:38:55 +02:00
fdsa
4f1d3809c3 Fixed tabs and spaces (#8377) 2025-02-06 19:54:43 +01:00
ocornut
357f752bed Docs: add more links to the top of every examples and backends files. 2023-09-11 14:01:40 +02:00
Michael Martz
506f7e0074 Using nullptr in locations where warning disable is not convenient. (#6313, #4537) 2023-04-11 11:33:50 +02:00
David Maas
e92b29ad53 Backends: OSX: Added support for io.AddMouseSourceEvent(). (#6314)
Also marked "mouse" input in example_apple_metal's UIKit micro-backend as being touch input.

# Conflicts:
#	docs/CHANGELOG.txt
2023-04-11 10:14:53 +02:00
ocornut
bb224c8aa1 Examples: Updated all examples application to enable ImGuiConfigFlags_NavEnableKeyboard and ImGuiConfigFlags_NavEnableGamepad by default. 2023-03-10 18:35:52 +01:00
ocornut
1b27ac982f Backends+Examples: SDL2: renamed imgui_impl_sdl.cpp/.h to imgui_impl_sdl2.cpp/.h. (#6146)
+ CI: Update Windows CI to update SDL 2.26.3 instead of 2.0.10
2023-02-07 12:04:38 +01:00
ocornut
5c8041b4d7 Update gif in README + font names in examples 2022-09-19 17:45:05 +02:00
tocic
2b1d8e3eaf Fix more typos in sources and docs (#5681) 2022-09-14 20:36:45 +02:00
ocornut
92d0924b82 Fixed build with IMGUI_DISABLE_OBSOLETE_KEYIO + made all examples comments refer to StyleColorsLight(). 2022-07-06 20:58:20 +02:00
stuartcarnie
e66fc22057 Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. (#4821)
Fix using NSKeyUp (#5268).
2022-05-03 14:35:08 +02:00
stuartcarnie
d58b8414b9 Backends: OSX, Metal: Tweaks. Use preferred method of obtaining a timestamp. (#4821)
+ Rename ImGuiFocusObserver. Docking branch will use it for more than focus.
2022-05-03 12:12:03 +02:00
ocornut
673f5e588d IO: moved fields to put more focus on the new functions + update misc docs/references + update main.mm in Apple+Metal example (#4858) 2022-01-18 17:41:35 +01:00
thedmd
ee436aa803 Backends: OSX: Update to use io.AddEventKey() will full key map (#2625, #1873, #4858) 2022-01-10 15:14:52 +01:00
Stuart Carnie
1b6b8602c1 Backends: OSX: Fix keyboard support. Handle scroll cancel. Don't set mouse cursor shape unconditionally. (#4759, #4253, #1873)
Note the original FIXME: refered to GLFWs Cocoa implementation, which is largely what this commit provides.
2021-12-13 11:56:43 +01:00
Stuart Carnie
b720f1f03c Backends: OSX: Add Game Controller support. (#4759) 2021-12-13 11:25:59 +01:00
rokups
88f4c1321a Examples: Bring code of example_apple_metal and example_apple_opengl2 closer to each other. (#1873, #3543) 2021-06-28 14:22:55 +02:00
ocornut
6a161b8789 Examples: Reworked setup of clear color to be compatible with transparent values. (#2693, #2764, #2766, #2873, #3447, #3813, #3816) 2021-02-18 11:38:41 +01:00
omar
9c8671e7b0 Tables: Add empty file, skeleton. 2020-12-04 19:15:19 +01:00
Rokas Kupstys
a3f79104df Examples: Apple+Metal: Forward events to OS key combinations like CMD+Q can work. (#3554) 2020-11-11 15:30:08 +01:00
ocornut
5f97809cab Misc tidying up (zero-clear structures, more unused default in ClipRetFullscreen, NavApplyItemToResult() coding style fix)
Zero-clearing more structures
Remove arbitrary default ClipRetFullscreen value in ImDrawListSharedData.
Nav extracted NavApplyItemToResult() function.
Coding style fixes in OSX Backends.
2020-11-05 13:24:27 +01:00
Warren Moore
bca4749346 Examples: Apple: Consolidated example_apple_metal to reduce class and file count (#1873, #3543) 2020-10-23 11:33:08 +02:00
ocornut
a7e21fb05f Moving backends code from examples/ to backends/ (step 3: fixing project files) 2020-10-14 14:41:40 +02:00
ocornut
124c2608f1 Docs: Renamed all occurences of "binding" and "back-end" to "backend" in comments and documentations, for consistency. 2020-10-12 17:54:52 +02:00
ocornut
179dc04d8a Examples: Added missing comments in example_apple_metal. (#3400) 2020-09-30 14:55:09 +02:00
Nicolas Burrus
39d17ca07f Examples: Apple: catch events from the right and other mouse buttons when using Cocoa. (#3260) 2020-05-25 11:29:41 +02:00
omar
2c38b32db1 Removed trailing spaces (#2038, #2299) 2019-01-20 17:56:17 +01:00
Alzathar
25ac85f15d Examples: Downgrading projects to xcode 9.2 (maybe 8.0) (#2134)
* example_apple_opengl2: The deployment target was set to 10.12 from XCode 9.2.
* imgui_impl_metal: header not found by XCode 9.2.
* example_apple_metal: The deployment target was set to 10.12 from XCode 9.2.
2019-01-03 14:01:14 +01:00
omar
d5b22fb635 Examples: Setting up style before bindings, so in complex binding (vulkan/dx12) it isn't miles away from the context creation. 2018-12-20 22:58:34 +01:00
Warren Moore
b4488d4f48 Examples: Downgraded Xcode project object version (50->48) to support Xcode 9.2 (last version supported on macOS 10.12) (#2133) 2018-10-17 10:46:49 +02:00
omar
1afd29d382 Examples: Using "dear imgui" terminology in all examples headers/comments + fix minor typo. 2018-09-13 16:50:13 +02:00
Omar Cornut
be6ea86f8d OSX: Added imgui_widgets.cpp to xcode project files. 2018-08-31 11:29:25 +02:00
omar
73e13a0762 Examples: Tweaked the main.cpp example structure for all examples. (There are a few hidden agendas here: 1) I would like to avoid encouraging people from using the implicit "Debug" window, and promote using Begin/End. In spite of my best attempt, there are a few feature of the upcoming docking system that cannot work 100% properly for the implicit Debug window, so future proof let's not put that feature in the spotlight too much for new users. 2) Moved dumb hardcoded positions into a single spot that can be replaced with a viewport relative position and not affect other demo windows. 3) Calling ShowDemoWindow before anything else, also for the benefit of a specific docking demo which will have an ordering constraint which is not really problematic in a real app but shouldn't be put forward in the demo. 2018-07-16 22:17:34 +02:00
omar
89e2ddf07f Examples: Comments + shallow coding convention tweak to be consistent across examples and with imgui_impl_osx 2018-07-08 11:16:11 +02:00
Warren Moore
d64157e803 Introduced a new Metal renderer implementation and a new example illustrating usage of Metal on macOS and iOS (partially addresses #1873) 2018-07-05 21:58:15 +09:00