- /* members supposed to be used ONLY INTERNALLY */
- struct Win * _prev; /* chain pointers; if 0, they mark the start or end */
- struct Win * _next; /* of the chain; if both are 0, Win is outside chain */
- struct yx_uint16 _start; /* upper left corner of "frame" WINDOW */
- char * _title; /* title to be used in window title bar */
- void (* _draw) (struct Win *); /* how to draw window content ("data") */
-
- /* members to be available EXTERNALLY */
- struct Frame frame;
- void * data; /* window content to be drawn by _draw() */
+ struct Win * prev; /* chain pointers; if 0, they mark the start or end */
+ struct Win * next; /* of the chain; if both are 0, Win is outside chain */
+ struct yx_uint16 framesize; /* window frame size to see winmap through */
+ struct yx_uint16 start; /* upper left corner of window in pad */
+ struct yx_uint16 center; /* window content center to focus window on */
+ char * title; /* title to be used in window title bar */
+ void (* draw) (struct Win *); /* how to draw window content ("data") */
+ chtype * winmap; /* sequence of cells, sorted into lines ... */
+ struct yx_uint16 winmapsize; /* ... with these geometry infos */