I've been experimenting with embedding a webview (https://github.com/webview/webview) in an fltk application.
This works by just passing an fl_xid of an Fl_Window to the webview_create function which accepts an opaque pointer to either a HWND, NSWindow or GtkWindow depending on the platform.
- On Windows, things work fine.
- On MacOS, any manipulation of the embedded window throws an objc exception (doesn't crash) of unrecognized selector "did_view_resolution_change" to WKWebView.
"did_view_resolution_change" is a method of FLView which inherits NSView (in fl_cocoa.mm). I'm not entirely sure why it's being automatically triggered here or if there's a way to override it or "swizzle" it (I'm not familiar with Objective-C).
- On linux, I'm getting the idea that trying to construct GtkWindow from an Fl_Window is quite complex. Apparently it's possible to construct a GdkWindow from an XID, however getting a GtkWindow from a GdkWindow is not possible. I'm not sure of any other way to do it. I would appreciate any insight on the feasibility of doing this.
Comments are owned by the poster. All other content is copyright 1998-2025 by Bill Spitzak and others. This project is hosted by The FLTK Team. Please report site problems to 'erco@seriss.com'.