I spend last days to creating Haiku native windowing intergation driver for Wine winehaiku.drv
without using X11 or Xlib in any way. It is already quite usable and outperforms winex11.drv + Xlibe in many aspects.
Native Haiku Wine windowing intergation driver will also simplify Vulkan and DXVK integration a lot, no GLX stuff.
What works:
- Displaying window contents. Wine drawing engine is used, drawing result is displayed with BView::DrawBitmap().
- Mouse input (left, right, middle buttons, wheel).
- Keyboard input (VK_* codes translation, Haiku native keymap handling).
- Native Haiku window borders and window styles.
- Windows move, resize, show/hide.
What do not work:
- Focus contol.
- Window Z-order control.
- Wine - Haiku window position syncronization sometimes works wrong.
- Detecting screen size.