'
' PANEL definitions based on ncurses 5.7 - their license below.
'
' Website:
'   http://www.gnu.org/software/ncurses/
'   http://en.wikipedia.org/wiki/Ncurses
'
' Ported to BaCon INCLUDE file by Peter van Eerten - GPL.
'
' Version 1.0: Initial release - please send bugs to
'   bugs@basic-converter.org
'
' panel.h
'
'***************************************************************************
' Copyright (c) 1998-2006,2009 Free Software Foundation, Inc.              *
'                                                                          *
' Permission is hereby granted, free of charge, to any person obtaining a  *
' copy of this software and associated documentation files (the            *
' "Software"), to deal in the Software without restriction, including      *
' without limitation the rights to use, copy, modify, merge, publish,      *
' distribute, distribute with modifications, sublicense, and/or sell       *
' copies of the Software, and to permit persons to whom the Software is    *
' furnished to do so, subject to the following conditions:                 *
'                                                                          *
' The above copyright notice and this permission notice shall be included  *
' in all copies or substantial portions of the Software.                   *
'                                                                          *
' THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
' OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
' MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
' IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
' DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
' OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
' THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
'                                                                          *
' Except as contained in this notice, the name(s) of the above copyright   *
' holders shall not be used in advertising or otherwise to promote the     *
' sale, use or other dealings in this Software without prior written       *
' authorization.                                                           *
'***************************************************************************
'
'***************************************************************************
'  Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1995                    *
'     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
'     and: Juergen Pfeifer                         1996-1999,2008          *
'***************************************************************************

TRAP LOCAL
CATCH GOTO panel_handle_error

panel_LIB$ = "libpanel.so"
panel_seq = -1

LABEL panel_import_retry
    INCR panel_seq
    panel_retry = FALSE
    IMPORT new_panel(long) FROM panel_LIB$ TYPE long
    IF panel_retry THEN GOTO panel_import_retry

GOTO panel_continue

LABEL panel_handle_error
    IF panel_seq = 0 THEN panel_LIB$ = "libpanel.so.0"
    ELSE panel_LIB$ = CONCAT$(LEFT$(panel_LIB$, INSTRREV(panel_LIB$, ".")), STR$(panel_seq))
    IF panel_seq < 10 THEN
        panel_retry = TRUE
    ELSE
        PRINT "No panel library found!"
        END
    END IF
    RESUME

LABEL panel_continue

IMPORT panel_window(long) FROM panel_LIB$ TYPE long
IMPORT update_panels (void) FROM panel_LIB$ TYPE void
IMPORT hide_panel(long) FROM panel_LIB$ TYPE int
IMPORT show_panel(long) FROM panel_LIB$ TYPE int
IMPORT del_panel(long) FROM panel_LIB$ TYPE int
IMPORT top_panel(long) FROM panel_LIB$ TYPE int
IMPORT bottom_panel(long) FROM panel_LIB$ TYPE int
IMPORT panel_above(long) FROM panel_LIB$ TYPE long
IMPORT panel_below(long) FROM panel_LIB$ TYPE long
IMPORT set_panel_userptr(long,long) FROM panel_LIB$ TYPE int
IMPORT panel_userptr(long) FROM panel_LIB$ TYPE long
IMPORT move_panel(long,int,int) FROM panel_LIB$ TYPE int
IMPORT replace_panel(long,long) FROM panel_LIB$ TYPE int
IMPORT panel_hidden(long) FROM panel_LIB$ TYPE int
IMPORT ground_panel(long) FROM panel_LIB$ TYPE long
IMPORT ceiling_panel(long) FROM panel_LIB$ TYPE long