Skip to content

Commit e6b4c91

Browse files
committed
refactor(windows): Simplify User32Extend instance access in ComposeWindowProcedure
1 parent dbca55b commit e6b4c91

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

composeApp/src/jvmMain/kotlin/com/jankinwu/fntv/client/jna/windows/ComposeWindowProcedure.kt

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ internal class ComposeWindowProcedure(
8989
)
9090

9191
// The default window procedure to call its methods when the default method behaviour is desired/sufficient
92-
private var defaultWindowProcedure = User32Extend.Companion.instance?.setWindowLong(windowHandle, WinUser.GWL_WNDPROC, this) ?: LONG_PTR(-1)
92+
private var defaultWindowProcedure = User32Extend.instance?.setWindowLong(windowHandle, WinUser.GWL_WNDPROC, this) ?: LONG_PTR(-1)
9393

9494
private var dpi = UINT(0)
9595
private var width = 0
@@ -99,7 +99,7 @@ internal class ComposeWindowProcedure(
9999
private var edgeX = 0
100100
private var edgeY = 0
101101
private var padding = 0
102-
private var isMaximized = User32Extend.Companion.instance?.isWindowInMaximized(windowHandle) == true
102+
private var isMaximized = User32Extend.instance?.isWindowInMaximized(windowHandle) == true
103103

104104
var isWindowFrameAccentColorEnabled by mutableStateOf(isAccentColorWindowFrame())
105105

@@ -159,9 +159,9 @@ internal class ComposeWindowProcedure(
159159
// thus effectively making all the window our client area
160160
WM_NCCALCSIZE -> {
161161
if (wParam.toInt() == 0) {
162-
User32Extend.Companion.instance?.CallWindowProc(defaultWindowProcedure, hWnd, uMsg, wParam, lParam) ?: LRESULT(0)
162+
User32Extend.instance?.CallWindowProc(defaultWindowProcedure, hWnd, uMsg, wParam, lParam) ?: LRESULT(0)
163163
} else {
164-
val user32 = User32Extend.Companion.instance ?: return LRESULT(0)
164+
val user32 = User32Extend.instance ?: return LRESULT(0)
165165
dpi = user32.GetDpiForWindow(hWnd)
166166
frameX = user32.GetSystemMetricsForDpi(WinUser.SM_CXFRAME, dpi)
167167
frameY = user32.GetSystemMetricsForDpi(WinUser.SM_CYFRAME, dpi)
@@ -211,13 +211,13 @@ internal class ComposeWindowProcedure(
211211
}
212212

213213
WM_DESTROY -> {
214-
User32Extend.Companion.instance?.CallWindowProc(defaultWindowProcedure, hWnd, uMsg, wParam, lParam) ?: LRESULT(0)
214+
User32Extend.instance?.CallWindowProc(defaultWindowProcedure, hWnd, uMsg, wParam, lParam) ?: LRESULT(0)
215215
}
216216

217217
WM_SIZE -> {
218218
width = lParam.toInt() and 0xFFFF
219219
height = (lParam.toInt() shr 16) and 0xFFFF
220-
User32Extend.Companion.instance?.let { user32 ->
220+
User32Extend.instance?.let { user32 ->
221221
user32.CallWindowProc(defaultWindowProcedure, hWnd, uMsg, wParam, lParam)
222222
// Ensure redraw on size change
223223
user32.RedrawWindow(
@@ -231,7 +231,7 @@ internal class ComposeWindowProcedure(
231231
}
232232

233233
WM_WINDOWPOSCHANGED -> {
234-
User32Extend.Companion.instance?.let { user32 ->
234+
User32Extend.instance?.let { user32 ->
235235
user32.CallWindowProc(defaultWindowProcedure, hWnd, uMsg, wParam, lParam)
236236
// 强制重绘,解决全屏切换时的渲染异常(白色色块)
237237
user32.RedrawWindow(
@@ -246,7 +246,7 @@ internal class ComposeWindowProcedure(
246246

247247
WM_NCRBUTTONUP -> {
248248
if (wParam.toInt() == HTCAPTION) {
249-
val user32 = User32Extend.Companion.instance ?: return LRESULT(0)
249+
val user32 = User32Extend.instance ?: return LRESULT(0)
250250
val oldStyle = user32.GetWindowLong(hWnd, WinUser.GWL_STYLE)
251251
user32.SetWindowLong(hWnd, WinUser.GWL_STYLE, oldStyle or WS_SYSMENU)
252252
val menu = user32.GetSystemMenu(hWnd, false)
@@ -288,7 +288,7 @@ internal class ComposeWindowProcedure(
288288
}
289289
}
290290
}
291-
User32Extend.Companion.instance?.CallWindowProc(defaultWindowProcedure, hWnd, uMsg, wParam, lParam) ?: LRESULT(0)
291+
User32Extend.instance?.CallWindowProc(defaultWindowProcedure, hWnd, uMsg, wParam, lParam) ?: LRESULT(0)
292292
}
293293

294294
WM_SETTINGCHANGE -> {
@@ -299,7 +299,7 @@ internal class ComposeWindowProcedure(
299299
windowFrameColor = currentAccentColor()
300300
isWindowFrameAccentColorEnabled = isAccentColorWindowFrame()
301301
}
302-
User32Extend.Companion.instance?.CallWindowProc(defaultWindowProcedure, hWnd, uMsg, wParam, lParam) ?: LRESULT(0)
302+
User32Extend.instance?.CallWindowProc(defaultWindowProcedure, hWnd, uMsg, wParam, lParam) ?: LRESULT(0)
303303
}
304304

305305
else -> {
@@ -308,17 +308,17 @@ internal class ComposeWindowProcedure(
308308
}
309309
if (uMsg == WM_NCMOUSEMOVE) {
310310
skiaLayerProcedure?.let {
311-
User32Extend.Companion.instance?.PostMessage(it.contentHandle, uMsg, wParam, lParam)
311+
User32Extend.instance?.PostMessage(it.contentHandle, uMsg, wParam, lParam)
312312
}
313313
}
314-
User32Extend.Companion.instance?.CallWindowProc(defaultWindowProcedure, hWnd, uMsg, wParam, lParam) ?: LRESULT(0)
314+
User32Extend.instance?.CallWindowProc(defaultWindowProcedure, hWnd, uMsg, wParam, lParam) ?: LRESULT(0)
315315
}
316316
}
317317
}
318318

319319
// Force update window info that resolve the hit test result is incorrect when user moving window to another monitor.
320320
private fun updateWindowInfo() {
321-
User32Extend.Companion.instance?.apply {
321+
User32Extend.instance?.apply {
322322
dpi = GetDpiForWindow(windowHandle)
323323
frameX = GetSystemMetricsForDpi(WinUser.SM_CXFRAME, dpi)
324324
frameY = GetSystemMetricsForDpi(WinUser.SM_CYFRAME, dpi)
@@ -335,7 +335,7 @@ internal class ComposeWindowProcedure(
335335

336336
private fun updateMenuItemInfo(menu: HMENU, menuItemInfo: MENUITEMINFO, item: Int, enabled: Boolean) {
337337
menuItemInfo.fState = if (enabled) WinUserConst.MFS_ENABLED else WinUserConst.MFS_DISABLED
338-
User32Extend.Companion.instance?.SetMenuItemInfo(menu, item, false, menuItemInfo)
338+
User32Extend.instance?.SetMenuItemInfo(menu, item, false, menuItemInfo)
339339
}
340340

341341
fun currentAccentColor(): Color {

0 commit comments

Comments
 (0)