fanlusky
2ac86ea0e2
Stop mapping all Unicode through CJK fonts and cut D2D working-set growth
...
Custom font fallback no longer covers the whole BMP/SIP, so Segoe UI Emoji
can paint color glyphs again; CJK still prefers Noto Sans SC then YaHei.
Drop GaussianBlur compatible targets during BeginDraw (they retained GPU
memory as the candidate window grew), grow the composition swapchain in
64px steps without shrinking, and reuse Card chrome plus cached text
formats instead of reallocating them every layout.
2026-09-02 16:25:54 +08:00
fanlusky
5421c1dd1b
Add SVG icon rendering, toggle switch, and font fallback for MenuFlyoutItem
...
MenuFlyoutItem gains leading SVG icons (ID2D1SvgDocument), an optional
trailing toggle switch, and content-based width measurement so tray-style
menu items match the HTML menu layout. Default UI font is now Noto Sans SC
with Microsoft YaHei fallback via IDWriteFontFallback; CreateTextFormat
gracefully falls back when the primary family is missing.
2026-09-02 16:03:57 +08:00
fanlusky
d16f9f3fea
Add DirectComposition hosting and candidate-list chrome for the IME window
...
Adopt an existing HWND, render through D3D11/DXGI/DirectComposition, and
extend CandidateList with horizontal layout, skin colors, click-to-commit,
and a D2D context menu. Preedit TextBlock draws a caret in a fixed insert
slot so neighboring glyphs reflow instead of using letter-spacing; the
default end caret sits slightly after the last character.
2026-09-02 15:29:14 +08:00
fanlusky
64c08a7c02
Adjust some controls for emoji panel.
2026-08-15 02:32:00 +08:00
fanlusky
f3c7a9557a
Set the initial position setting method for the window.
2026-07-20 23:22:05 +08:00
fanlusky
548330b8cf
Make a demo of an on-screen keyboard.
2026-07-15 18:22:50 +08:00
fanlusky
3a41372f24
Adjust font size and some layouts
2026-07-15 15:50:50 +08:00
fanlusky
59a73b8476
Optimize the emoji panel size.
2026-07-15 15:43:58 +08:00
fanlusky
05a4ada19d
Optimize the emoji panel.
2026-07-15 15:34:53 +08:00
fanlusky
604cf987b1
emoji panel demo step01
2026-07-15 14:49:36 +08:00
fanlusky
4f62123699
Support image render
2026-07-15 14:39:55 +08:00
fanlusky
e210c8eb4c
Allow popups to scroll out of view
2026-06-19 13:00:35 +08:00
fanlusky
d2ca118d89
Add candidate hover highlight
2026-06-19 11:52:43 +08:00
fanlusky
33350ab7c2
Trim candidate header text metrics
2026-06-19 11:34:30 +08:00
fanlusky
718d4f9559
Align candidate preview typography
2026-06-19 11:06:54 +08:00
fanlusky
41f4571bd2
Add candidate popup keyboard navigation
2026-06-17 20:20:17 +08:00
fanlusky
10cfb70d66
Add candidate popup preview primitives
2026-06-17 19:08:27 +08:00
fanlusky
e1156b32e2
Highlight scrollbar on hover
2026-06-17 16:44:51 +08:00
fanlusky
3aa1a650a6
Add centered text alignment for TextBlock
2026-06-16 18:28:50 +08:00
fanlusky
f531201154
Fix popup spacing and scroll repositioning
2026-06-16 17:09:32 +08:00
fanlusky
40eb7d297b
Cache text layouts for button and list controls
2026-06-16 16:29:24 +08:00
fanlusky
5c7236cfd9
Reuse TextBlock text layouts across measure and render
2026-06-15 06:52:54 +08:00
fanlusky
55293db8d6
Cache render brushes and text formats
2026-06-14 20:05:24 +08:00
fanlusky
d951c0e4e6
Revert "Add keyboard navigation and menu list support"
...
This reverts commit a1d4df897e .
2026-06-14 19:57:00 +08:00
fanlusky
a1d4df897e
Add keyboard navigation and menu list support
2026-06-14 19:54:34 +08:00
fanlusky
0b8063299a
Add ContextMenuHost and right-click popup routing
2026-06-14 19:45:53 +08:00
fanlusky
84b6636f89
Add ComboBox built on the popup overlay system
2026-06-14 19:41:58 +08:00
fanlusky
10b7b94c29
Add popup host and scene overlay popup system
2026-06-14 19:35:51 +08:00
fanlusky
d6fde30b88
Add theme system and optimize dirty layout routing
2026-06-14 19:29:15 +08:00
fanlusky
db59ca7365
Add parent-child relationship of the control tree and bubble-style invalidation propagation.
2026-06-14 15:17:44 +08:00
fanlusky
df881f81bf
Add invalidation mechanism
2026-06-14 15:14:03 +08:00
fanlusky
6bb9ca27d8
Add more gui controls, make caret of search box align center in vertical.
2026-06-12 23:48:02 +08:00
fanlusky
ff58d90d34
Change the demo page to a scrollable layout and fix the issue of buttons being too wide in the initial state.
2026-06-12 22:53:09 +08:00
fanlusky
f183070834
Add some basic controls
2026-06-12 22:42:35 +08:00
fanlusky
56199bdd87
Optimize some style
2026-06-12 19:33:40 +08:00
fanlusky
88f36a0ed9
Fix the issue with DPI conversion.
2026-06-12 15:03:39 +08:00
fanlusky
f58839114c
Build the basic framework of the project.
2026-06-12 10:03:15 +08:00