#include "graph_xv.h" #define KEY_OBJECT 874658734 void DoRepaint (Canvas canvas) { GWindow *win= (GWindow *) xv_get (canvas, XV_KEY_DATA, KEY_OBJECT); if (win->Object== NULL) return; if (win->RepaintF!= NULL) (((GWindow *) (win->Object))->*(win->RepaintF)) (); /* very ugly */ } void DoResize (Canvas canvas, int width, int height) { GWindow *win= (GWindow *) xv_get (canvas, XV_KEY_DATA, KEY_OBJECT); /* very ugly */ win->GSetWidthHeight (width, height); if (win->Object== NULL) return; if (win->ResizeF!= NULL) (((GWindow *) (win->Object))->*(win->ResizeF)) (width, height); } /* Constructor */ XVWindow::XVWindow (Canvas canvas) : X11Window ((Display*)xv_get(xv_get(canvas,CANVAS_NTH_PAINT_WINDOW,0),XV_DISPLAY), (Window)xv_get (xv_get(canvas,CANVAS_NTH_PAINT_WINDOW,0), XV_XID), (int)xv_get (xv_get (canvas, XV_SCREEN),SCREEN_NUMBER)) { GWindow *my= this; GSetWidthHeight ((int) xv_get (canvas, CANVAS_WIDTH), (int) xv_get (canvas, CANVAS_HEIGHT)); xv_set (canvas, XV_KEY_DATA, KEY_OBJECT, this, NULL); }