And it is not convenient and simple to call the gdi function in the m file. I didn't even find gdi32, user32 or ntgdi, ntuser related calls in cocoa_window.m, and that would increase coupling, reduce independence and increase complexity, and Not good for maintenance.