#ifndef __iupcbs_bi__
#define __iupcbs_bi__

' see copyright notice at the file iup.txt

#include once "iup.bi"

/' idle '/
type IFidle as function cdecl() as integer
/' globalkeypress_cb '/
type IFii as sub cdecl(as integer, as integer)
/' globalmotion_cb '/
type IFiis as sub cdecl(as integer, as integer, as zstring ptr)
 /' globalbutton_cb '/
type IFiiiis as sub cdecl(as integer, as integer, as integer, as integer, as zstring ptr)
/' globalwheel_cb '/
type IFfiis as sub cdecl(as single, as integer, as integer, as zstring ptr)

 /' default definition, same as Icallback (ncols_cb, nlines_cb)'/
type IFn as function cdecl(as Ihandle ptr) as integer
/' k_any, show_cb, toggle_action, spin_cb, branchopen_cb, branchclose_cb, 
   executeleaf_cb, showrename_cb, rightclick_cb, extended_cb, height_cb, width_cb '/
type IFni as function cdecl(as Ihandle ptr, as integer) as integer
/' resize_cb, caret_cb, matrix_mousemove_cb, enteritem_cb, 
   leaveitem_cb, scrolltop_cb, dropcheck_cb, selection_cb, 
   select_cb, switch_cb, scrolling_cb, vspan_cb, hspan_cb '/
type IFnii as function cdecl(as Ihandle ptr, as integer, as integer) as integer
/' trayclick_cb, edition_cb '/
type IFniii as function cdecl(as Ihandle ptr, as integer, as integer, as integer) as integer
/' dragdrop_cb '/
type IFniiii as function cdecl(as Ihandle ptr, as integer, as integer, as integer, as integer) as integer
/' draw_cb '/
type IFniiiiiiC as function cdecl(as Ihandle ptr, as integer, as integer, as integer, as integer, as integer, as integer, as any ptr) as integer
/' OLD draw_cb '/
type IFniiiiii as function cdecl(as Ihandle ptr, as integer, as integer, as integer, as integer, as integer, as integer) as integer

/' canvas_action '/
type IFnff as function cdecl(as Ihandle ptr, as single, as single) as integer
/' scroll_cb '/
type IFniff as function cdecl(as Ihandle ptr, as integer, as single, as single) as integer
/' wheel_cb '/
type IFnfiis as function cdecl(as Ihandle ptr, as single, as integer, as integer, as zstring ptr) as integer

/' drop_cb '/
type IFnnii as function cdecl(as Ihandle ptr, as Ihandle ptr, as integer, as integer) as integer
/' tabchange_cb '/
type IFnnn as function cdecl(as Ihandle ptr, as Ihandle ptr, as Ihandle ptr) as integer
/' file_cb '/
type IFnss as function cdecl(as Ihandle ptr, as zstring ptr, as zstring ptr) as integer
/' multiselect_cb '/
type IFns as function cdecl(as Ihandle ptr, as zstring ptr) as integer
/' copydata_cb '/
type IFnsi as function cdecl(as Ihandle ptr, as zstring ptr, as integer) as integer
/' text_action, multiline_action, edit_cb, rename_cb '/
type IFnis as function cdecl(as Ihandle ptr, as integer, as zstring ptr) as integer
 /' list_action '/
type IFnsii as function cdecl(as Ihandle ptr, as zstring ptr, as integer, as integer) as integer
/' dropfiles_cb '/
type IFnsiii as function cdecl(as Ihandle ptr, as zstring ptr, as integer, as integer, as integer) as integer
/' motion_cb, click_cb, value_edit_cb '/
type IFniis as function cdecl(as Ihandle ptr, as integer, as integer, as zstring ptr) as integer
/' touch_cb '/
type IFniiis as function cdecl(as Ihandle ptr, as integer, as integer, as integer, as zstring ptr) as integer
/' button_cb, matrix_action, mousemotion_cb '/
type IFniiiis as function cdecl(as Ihandle ptr, as integer, as integer, as integer, as integer, as zstring ptr) as integer
/' mouseclick_cb '/
type IFniiiiiis as function cdecl(as Ihandle ptr, as integer, as integer, as integer, as integer, as integer, as integer, as zstring ptr) as integer

/' multiselection_cb, multiunselection_cb '/
type IFnIi_ as function cdecl(as Ihandle ptr, as integer ptr, as integer) as integer
/' mousemove_cb, button_press_cb, button_release_cb '/
type IFnd as function cdecl(as Ihandle ptr, as double) as integer
/' fgcolor_cb, bgcolor_cb '/
type IFniiIII as function cdecl(as Ihandle ptr, as integer, as integer, as integer ptr, as integer ptr, as integer ptr) as integer
/' dropselect_cb '/
type IFniinsii as function cdecl(as Ihandle ptr, as integer, as integer, as Ihandle ptr, as zstring ptr, as integer, as integer) as integer
/' drag_cb, change_cb '/
type IFnccc as function cdecl(as Ihandle ptr, as ubyte, as ubyte, as ubyte) as integer
/' multitouch_cb '/
type IFniIIII_ as function cdecl(as Ihandle ptr, as integer, as integer ptr, as integer ptr, as integer ptr, as integer ptr) as integer

/' value_cb '/
type sIFnii as function cdecl(as Ihandle ptr, as integer, as integer) as byte ptr
/' cell_cb '/
type sIFni as function cdecl(as Ihandle ptr, as integer) as byte ptr

#endif
