home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Datafile PD-CD 5
/
DATAFILE_PDCD5.iso
/
utilities
/
e
/
extralib
/
!ExtrasLib
/
h
/
ExtraPane
< prev
next >
Wrap
Text File
|
1996-03-03
|
4KB
|
89 lines
/* 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