$RBGB/canvasRefsAnalysis051106.2145 ------------------------------------------ This is based on analysis of file RBGB/canvasRefs051106.2210, from grep canvas src/*.cc include/*.h > canvasRefs051106.2210 (200 lines). 13 files contain at least one call to an X11 function with canvas as an argument. 16 distinct X* functions are referenced. Grep results and a few func defins and a list of the functions getting canvas as an argument are below. See also 1869 lines in $RBGB/XtXmRefs051106.2210, from grep '(Xt|Xm)' src/*.cc include/*.h > XtXmRefs051106.2210 (Xt* and Xm* function calls, variable or datatype uses, and comments) (grep 'X' src/*.cc > XRefs051106.2210 yields 2305 lines.) ----------------------- (4 other files only call selection() or select_XX() which are not X11 calls: src/select.cc:175:void selection(Widget w, int absx, int absy) { topobject->doselection(absx, absy); } // end selection src/graphobject.cc:816:void Ggroup::doselection (int absx, int absy) { // search list of subobjects for one at (database search) ... } --------------------- src/bendpt.cc: XFillArc(display, XtWindow(canvas), copyGC /*xorGC*/, ... XDrawLine(display,XtWindow(canvas),xorGC, ... src/bendptops.cc: selection(canvas, (int)..x, (int)..y); src/captionops.cc: topobject->select_CG(canvas,event->x,event->y); (select_CG|HN|HL procedures check mouse coordinates from Xevents) src/cursor.cc:108: XChangeWindowAttributes(XtDisplay(canvas), XtWindow(canvas),... src/display.cc: XClearArea(display, XtWindow(canvas), 0, 0, 0, 0, False); XSetLineAttributes( XtDisplay(canvas), xorGC, 0, LineOnOffDash, ... src/draw.cc: XDrawLine(display, XtWindow(canvas), gc, sx1, sy1, sx2, sy2); (many refs) XDrawString(display, XtWindow(canvas), copyGC, sx, sy, ... XDrawArc(display, XtWindow(canvas), copyGC, (int) (sx-(w/2)), .. XDrawRectangle(display, XtWindow(canvas), copyGC,... XFillPolygon(display, XtWindow(canvas), xorGC, ... src/fileio.cc:1129: XtVaGetValues( canvas, ... src/graphobject.cc (in comments only) src/graphops.cc:450: dialog = XmCreateQuestionDialog( canvas, "prompt", arg, 1 ); src/init.cc:348:Widget canvas; //DrawingArea Widget ---------------------------------------------------- src/init.cc:503: String fallbacks[] = { "bde.form*resizable: false", ... src/init.cc:516: "bde.form.scrollwindow.canvas.height: 550",... src/init.cc:517: "bde.form.scrollwindow.canvas.width: 340", ... src/init.cc:518: "bde.form.scrollwindow.canvas.background: white", ... "bde.height: 630", "bde.width: 530", NULL src/init.cc:526: }; // end String fallbacks[] -------------------------------------------------- src/init.cc:652: canvas = XtVaCreateManagedWidget( "canvas",... src/init.cc:657: XtAddCallback(canvas, XmNexposeCallback, src/init.cc:665+ XtAddEventHandler(canvas, ... src/init.cc:776: XmProcessTraversal(canvas, XmTRAVERSE_CURRENT); src/initClasses.cc:198: XtGetValues(canvas, wargs, n); src/initClasses.cc:271:void docanvasexposure(Widget cw, XtPointer ep, XmDrawingAreaCallbackStruct * p) //Callback to redisplay on exposures: // counts docanvasexposure events - RJL040708 // calls ReDraw(); //Uses: XEvent event, ((XAnyEvent*)&ep)->type, (XExposeEvent*)&ep)->count; src/initClasses.cc:297:} // end docanvasexposure src/linkops.cc: topobject->select_HN(canvas, (int)sx, (int)sy); topobject->select_HL(canvas, (int)sx, (int)sy); (select_CG|HN|HL procedures check mouse coordinates from Xevents) selection(canvas, (int)sx, (int)sy); src/menubar_cb.cc:176: docut(canvas, NULL, 0); --------------- src/edit.cc:312:void docut(Widget w, caddr_t cdata, caddr_t calldata) /// deletes database element(s) and calls ReDraw() src/edit.cc:343:} // end docut ---------------------------- src/nodeops.cc:370: topobject->select_HN(canvas, (int)sx, (int)sy); src/nodeops.cc:658: selection(canvas, (int)sx, (int)sy); src/text.cc:310: XDrawString(XtDisplay(canvas),XtWindow(canvas),xorGC,.. src/text.cc:315: XDrawString(XtDisplay(canvas),XtWindow(canvas),copyGC,.. src/text.cc:415: font = XLoadQueryFont(XtDisplay(canvas), fontname); src/text.cc:418: XSetFont(XtDisplay(canvas), gc, font->fid); src/textops.cc:361: selection(canvas, (int)sx, (int)sy); (many refs) src/textops.cc:1055+: XDrawString(XtDisplay(canvas),XtWindow(canvas),xorGC,.. ============================================== These 16 X* functions receive canvas widget as an argument above: ------------------ XFillArc XDrawLine XChangeWindowAttributes XClearArea XSetLineAttributes XDrawString XDrawArc XDrawRectangle XFillPolygon XtVaGetValues XmCreateQuestionDialog String fallbacks[] = { "bde.form...",etc>...} XtVaCreateManagedWidget XtAddCallback XtAddEventHandler XmProcessTraversal XtGetValues -------------------------- docanvasexposure(Widget cw, XtPointer ep, XmDrawingAreaCallbackStruct * p) (Uses XEvent event, ((XAnyEvent*)&ep)->type, (XExposeEvent*)&ep)->count;) ---------------------------- src/menubar_cb.cc:176: docut(canvas, NULL, 0); (Callback to redisplay on exposures; ep is to count docanvasexposure events - RJL040708) --------------- src/edit.cc:312:void docut(Widget w, caddr_t cdata, caddr_t calldata) (deletes database element(s) and calls ReDraw()) XLoadQueryFont XSetFont ------------ =======================================