20 #ifndef WINDOW_INFORMATION_H 21 #define WINDOW_INFORMATION_H 23 #include <cairoSurfaceImage.h> 24 #if defined(CAIRO_HAS_WIN32_SURFACE) && !defined(__CYGWIN__) 25 #define USE_WIN32_SURFACE 28 #elif defined(MAC_OSX_TK) 30 #elif defined(CAIRO_HAS_XLIB_SURFACE) 32 #include <cairo/cairo-xlib.h> 46 #ifdef USE_WIN32_SURFACE 47 HWND parentWindowId, childWindowId;
51 #elif defined(MAC_OSX_TK) 54 #elif defined(USE_X11) 55 Window parentWindowId;
56 Window childWindowId, bufferWindowId;
60 XWindowAttributes wAttr;
71 #if defined(MAC_OSX_TK) 73 #elif defined(USE_X11) 74 struct EventThread:
public Winfo,
public std::thread
77 EventThread(
const Winfo& w):
Winfo(w), thread([this]{run();}) {}
78 ~EventThread() {XDestroyWindow(display, childWindowId); join();}
81 std::unique_ptr<EventThread> eventThread;
88 std::function<void()>
draw;
Creation and access to the minskyTCL_obj object, which has code to record whenever Minsky's state cha...