#ifndef __Desk_wimp_h
#include "Desk.Wimp.h"
#endif

#ifndef __Desk_core_h
#include "Desk.Core.h"
#endif

#ifndef __Desk_linklist_h
#include "Desk.LinkList.h"
#endif

#ifndef __Desk_pane2_h
	#include "Desk.Pane2.h"
#endif


typedef struct{

  Desk_linklist_header header;
  Desk_window_handle   mainwindow;
  Desk_bool            invalideventdata;
  Desk_linklist_header paneanchor;

} Desk_main_listelement;

typedef struct{

  Desk_linklist_header header;
  Desk_window_handle   mainwindow;
  Desk_window_handle   panewindow;
  Desk_wimp_point      paneoffset;
  Desk_wimp_point      panesize;
  Desk_pane2_flags     paneflags;

} Desk_pane_listelement;

/* width of window tools in OS units */
#define Desk_tool_SIZE 40                  

extern Desk_linklist_header Desk_pane2__mainanchor;

Desk_SDLS_PtrFn( 
	extern,
	Desk_bool,
	Desk_Pane2__OpenEventHandler(Desk_event_pollblock *event, void *reference)
	);

Desk_SDLS_PtrFn(
	extern,
	Desk_bool,
	Desk_Pane2__PaneOpenEventHandler(Desk_event_pollblock *event, void *reference)
	);

Desk_SDLS_PtrFn(
	extern,
	Desk_bool,
	Desk_Pane2__ModeChangeMessageHandler(Desk_event_pollblock *event, void *reference)
	);

extern Desk_pane_listelement *Desk_Pane2__FindPaneWindow(Desk_main_listelement *mainelement, int panenumber);

extern Desk_main_listelement *Desk_Pane2__FindMainWindow(Desk_window_handle window);

extern Desk_bool Desk_Pane2__OpenWindow(const Desk_window_openblock *openblock, Desk_main_listelement *mainelement);





