// the_windows.h #include #include "mydef.hh" #include "graph_pack.hh" #define MENU_OPEN_FILE 0 #define MENU_SAVE_NODES 1 #define MENU_SAVE_EDGES 2 #define MENU_SAVE_NODES_AND_EDGES 3 #define MENU_CLEAR 4 #define MENU_QUIT 5 #define MENU_ABOUT 6 #define MENU_INFO 7 #define MENU_EDIT_NODES 8 #define MENU_EDIT_EDGES 9 #define MENU_FIND_ROUTE 10 #define MENU_SHOW_ALL_ROUTES 11 #define MENU_SHOW_WHILE_DIJKSTRA 12 #define MENU_SHOW_WHILE_DIJKSTRA_FAST 13 #define NUM_MENU_ALT 14 /* integer values used to distinguish the call to dialogCBs. */ #define OK 1 #define CANCEL 2 void CreateWindows (int argc,char* argv[]); void CreateMenus (Widget menu_bar); void MenuCallBack(Widget w,XtPointer xtp,XmAnyCallbackStruct *call_data); void OpenDlgCB(Widget w,XtPointer xtp,XmAnyCallbackStruct *call_data); void SaveDlgCB(Widget w,XtPointer xtp,XmAnyCallbackStruct *call_data); void AddEdgeCB(Widget w,XtPointer xtp,XmAnyCallbackStruct *call_data); void AddNodeCB(Widget w,XtPointer xtp,XmAnyCallbackStruct *call_data); void ExposeTimerCallBack(XtPointer clientData,XtIntervalId*); void SetExposeTimerCallBack(Widget widget,XtPointer,XtPointer); void ExposeCallBack(Widget widget,XtPointer,XtPointer); void ResizeCallBack(Widget widget,XtPointer,XtPointer); void ScaleValueChangedCallBack (Widget widget,XtPointer,XtPointer); void ScrollbarChangedCallBack (Widget widget,XtPointer,XtPointer); void SetupDrawWindow (); GC makeGC(Display *display, unsigned int fg, unsigned int bg); void ButtonPressEH(Widget widget,XtPointer clientData,XEvent *event,Boolean *cont); void ButtonReleaseEH(Widget widget,XtPointer clientData,XEvent *event,Boolean *cont); UINT FindClosestNode (int x,int y); BOOL FindClosestEdge (float fX,float fY,float maxDist,UINT* pStart,UINT* pEnd); void GetEdgeDrawPos (XWindowAttributes* pWnd_attrib, CNodeInfo* pSource,CNodeInfo* pSink, int* x1,int* y1,int* x2,int* y2); void ConvertEdgeDrawPos (float* fXStart,float* fYStart, float* fXEnd,float* fYEnd); float GetStraightDistance (UINT nStart,UINT nEnd); void DrawWhileDijkstraCallback ();