home *** CD-ROM | disk | FTP | other *** search
- /* ExtraPane.h
- *
- * Library for coping with n pane windows attached to a main window.
- * The panes are represented by an array of _extrapane_str's associated with
- * the main window, with the first element representing the rearmost pane, and
- * the last the foremost.
- * Panes which are not open have their window handles set to 0.
- */
-
- /* ExtrasLib by Peter Hartley 1995-96
- * (K) All Rites Reversed - Copy What You Like
- */
-
- #ifndef __xtra_pane_h
- #define __xtra_pane_h
-
- typedef struct _extrapane_str *ExtraPane;
-
- typedef os_error *(*extrapane_OpenProc)(ExtraPane pane, window_openblock *open,
- window_openblock *oldopen, void *handle );
-
- typedef struct _extrapane_str
- {
- window_handle handle, oldhandle;
- extrapane_OpenProc openproc;
- void *openhandle;
- } ExtraPane_Str;
-
-
- /*------------------------------------------*
- * Initialise pane window array to no panes *
- *------------------------------------------*/
-
- void ExtraPane_Init( ExtraPane panes, int npanes );
-
-
- /*----------------------------------------------------------------------------*
- * Attach/remove a pane. *
- * After attaching one or more windows, call ExtraPane_OpenWindow() to make *
- * it take effect. When removing a pane, call this (with w=NULL) and *
- * close/delete the pane yourself. *
- *----------------------------------------------------------------------------*/
-
- void ExtraPane_SetHandle( ExtraPane panes, int index, window_handle w,
- extrapane_OpenProc openproc, void *handle );
-
-
- /*---------------------------------------------------------------------*
- * Open main window plus panes, reducing flicker *
- *---------------------------------------------------------------------*/
-
- os_error *ExtraPane_OpenWindow( window_openblock *open, ExtraPane panes,
- int npanes, void *handle );
-
-
- /*-------------------------------------------------------------*
- * Predefined pane opening routines for the most obvious cases *
- *-------------------------------------------------------------*/
-
- os_error *ExtraPane_HandlerLeftOut( ExtraPane pane, window_openblock *open,
- window_openblock *oldopen,
- void *handle ); /* like !Draw */
-
- os_error *ExtraPane_HandlerLeftIn( ExtraPane pane, window_openblock *open,
- window_openblock *oldopen,
- void *handle ); /* like !DataPower */
-
- os_error *ExtraPane_HandlerLeftInScrolling( ExtraPane pane,
- window_openblock *open,
- window_openblock *oldopen,
- void *handle ); /* y axis */
-
- os_error *ExtraPane_HandlerTopInScrolling( ExtraPane pane,
- window_openblock *open,
- window_openblock *oldopen,
- void *handle ); /* x axis */
-
- os_error *ExtraPane_HandlerBottomInScrolling( ExtraPane pane,
- window_openblock *open,
- window_openblock *oldopen,
- void *handle ); /* x axis */
-
- os_error *ExtraPane_HandlerBottomOut( ExtraPane pane, window_openblock *open,
- window_openblock *oldopen,
- void *handle ); /* like Photodesk */
-
- #endif
-
-