X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/micropolis/blobdiff_plain/f1d92a2564f181cebcabbd0f8c04fe8966bc17ff..HEAD:/src/tk/tkcanvas.c?ds=inline diff --git a/src/tk/tkcanvas.c b/src/tk/tkcanvas.c index 90a9619..f1c4af5 100644 --- a/src/tk/tkcanvas.c +++ b/src/tk/tkcanvas.c @@ -252,12 +252,13 @@ Tk_CustomOption tkCanvasTagsOption = { */ int -Tk_CanvasCmd(clientData, interp, argc, argv) - ClientData clientData; /* Main window associated with +Tk_CanvasCmd( + ClientData clientData, /* Main window associated with * interpreter. */ - Tcl_Interp *interp; /* Current interpreter. */ - int argc; /* Number of arguments. */ - char **argv; /* Argument strings. */ + Tcl_Interp *interp, /* Current interpreter. */ + int argc, /* Number of arguments. */ + char **argv /* Argument strings. */ +) { Tk_Window tkwin = (Tk_Window) clientData; register Tk_Canvas *canvasPtr; @@ -326,7 +327,7 @@ Tk_CanvasCmd(clientData, interp, argc, argv) Tk_CreateSelHandler(canvasPtr->tkwin, XA_STRING, CanvasFetchSelection, (ClientData) canvasPtr, XA_STRING); Tcl_CreateCommand(interp, Tk_PathName(canvasPtr->tkwin), CanvasWidgetCmd, - (ClientData) canvasPtr, (void (*)()) NULL); + (ClientData) canvasPtr, (void (*)(int *)) NULL); if (ConfigureCanvas(interp, canvasPtr, argc-2, argv+2, 0) != TCL_OK) { goto error; } @@ -360,12 +361,13 @@ Tk_CanvasCmd(clientData, interp, argc, argv) */ static int -CanvasWidgetCmd(clientData, interp, argc, argv) - ClientData clientData; /* Information about canvas +CanvasWidgetCmd( + ClientData clientData, /* Information about canvas * widget. */ - Tcl_Interp *interp; /* Current interpreter. */ - int argc; /* Number of arguments. */ - char **argv; /* Argument strings. */ + Tcl_Interp *interp, /* Current interpreter. */ + int argc, /* Number of arguments. */ + char **argv /* Argument strings. */ +) { register Tk_Canvas *canvasPtr = (Tk_Canvas *) clientData; int length, result; @@ -1311,8 +1313,9 @@ CanvasWidgetCmd(clientData, interp, argc, argv) */ static void -DestroyCanvas(clientData) - ClientData clientData; /* Info about canvas widget. */ +DestroyCanvas( + ClientData clientData /* Info about canvas widget. */ +) { register Tk_Canvas *canvasPtr = (Tk_Canvas *) clientData; register Tk_Item *itemPtr; @@ -1386,13 +1389,14 @@ DestroyCanvas(clientData) */ static int -ConfigureCanvas(interp, canvasPtr, argc, argv, flags) - Tcl_Interp *interp; /* Used for error reporting. */ - register Tk_Canvas *canvasPtr; /* Information about widget; may or may +ConfigureCanvas( + Tcl_Interp *interp, /* Used for error reporting. */ + register Tk_Canvas *canvasPtr, /* Information about widget; may or may * not already have values for some fields. */ - int argc; /* Number of valid entries in argv. */ - char **argv; /* Arguments. */ - int flags; /* Flags to pass to Tk_ConfigureWidget. */ + int argc, /* Number of valid entries in argv. */ + char **argv, /* Arguments. */ + int flags /* Flags to pass to Tk_ConfigureWidget. */ +) { XGCValues gcValues; GC new; @@ -1507,14 +1511,15 @@ ConfigureCanvas(interp, canvasPtr, argc, argv, flags) */ static int -SaveCanvas(interp, canvasPtr, fileName, x, y, width, height) - Tcl_Interp *interp; /* Used for error reporting. */ - register Tk_Canvas *canvasPtr; /* Information about widget */ - char *fileName; /* the output file name. */ - int x; /* upper left x coordinate. */ - int y; /* upper left y coordinate. */ - unsigned int width; /* width of pixmap area to save. */ - unsigned int height; /* height of pixmap area to save. */ +SaveCanvas( + Tcl_Interp *interp, /* Used for error reporting. */ + register Tk_Canvas *canvasPtr, /* Information about widget */ + char *fileName, /* the output file name. */ + int x, /* upper left x coordinate. */ + int y, /* upper left y coordinate. */ + unsigned int width, /* width of pixmap area to save. */ + unsigned int height /* height of pixmap area to save. */ +) { register Tk_Window tkwin = canvasPtr->tkwin; register Tk_Item *itemPtr; @@ -1701,8 +1706,9 @@ SaveCanvas(interp, canvasPtr, fileName, x, y, width, height) */ static void -DisplayCanvas(clientData) - ClientData clientData; /* Information about widget. */ +DisplayCanvas( + ClientData clientData /* Information about widget. */ +) { register Tk_Canvas *canvasPtr = (Tk_Canvas *) clientData; register Tk_Window tkwin = canvasPtr->tkwin; @@ -1890,9 +1896,10 @@ DisplayCanvas(clientData) */ static void -CanvasEventProc(clientData, eventPtr) - ClientData clientData; /* Information about window. */ - XEvent *eventPtr; /* Information about event. */ +CanvasEventProc( + ClientData clientData, /* Information about window. */ + XEvent *eventPtr /* Information about event. */ +) { Tk_Canvas *canvasPtr = (Tk_Canvas *) clientData; @@ -1947,15 +1954,18 @@ CanvasEventProc(clientData, eventPtr) *-------------------------------------------------------------- */ -static void -EventuallyRedrawArea(canvasPtr, x1, y1, x2, y2) - register Tk_Canvas *canvasPtr; /* Information about widget. */ - int x1, y1; /* Upper left corner of area to +static void +EventuallyRedrawArea ( + register Tk_Canvas *canvasPtr, /* Information about widget. */ + int x1, + int y1, /* Upper left corner of area to * redraw. Pixels on edge are * redrawn. */ - int x2, y2; /* Lower right corner of area to + int x2, + int y2 /* Lower right corner of area to * redraw. Pixels on edge are * not redrawn. */ +) { if ((canvasPtr->tkwin == NULL) || !Tk_IsMapped(canvasPtr->tkwin)) { return; @@ -2012,11 +2022,12 @@ EventuallyRedrawArea(canvasPtr, x1, y1, x2, y2) *-------------------------------------------------------------- */ -void -Tk_CreateItemType(typePtr) - Tk_ItemType *typePtr; /* Information about item type; +void +Tk_CreateItemType ( + Tk_ItemType *typePtr /* Information about item type; * storage must be statically * allocated (must live forever). */ +) { if (typeList == NULL) { InitCanvas(); @@ -2043,8 +2054,8 @@ Tk_CreateItemType(typePtr) *-------------------------------------------------------------- */ -static void -InitCanvas() +static void +InitCanvas (void) { if (typeList != NULL) { return; @@ -2088,12 +2099,13 @@ InitCanvas() */ static Tk_Item * -StartTagSearch(canvasPtr, tag, searchPtr) - Tk_Canvas *canvasPtr; /* Canvas whose items are to be +StartTagSearch ( + Tk_Canvas *canvasPtr, /* Canvas whose items are to be * searched. */ - char *tag; /* String giving tag value. */ - TagSearch *searchPtr; /* Record describing tag search; + char *tag, /* String giving tag value. */ + TagSearch *searchPtr /* Record describing tag search; * will be initialized here. */ +) { int id; register Tk_Item *itemPtr, *prevPtr; @@ -2197,9 +2209,10 @@ StartTagSearch(canvasPtr, tag, searchPtr) */ static Tk_Item * -NextItem(searchPtr) - TagSearch *searchPtr; /* Record describing search in +NextItem ( + TagSearch *searchPtr /* Record describing search in * progress. */ +) { register Tk_Item *itemPtr, *prevPtr; register int count; @@ -2285,12 +2298,13 @@ NextItem(searchPtr) */ static void -DoItem(interp, itemPtr, tag) - Tcl_Interp *interp; /* Interpreter in which to (possibly) +DoItem( + Tcl_Interp *interp, /* Interpreter in which to (possibly) * record item id. */ - register Tk_Item *itemPtr; /* Item to (possibly) modify. */ - Tk_Uid tag; /* Tag to add to those already + register Tk_Item *itemPtr, /* Item to (possibly) modify. */ + Tk_Uid tag /* Tag to add to those already * present for item, or NULL. */ +) { register Tk_Uid *tagPtr; register int count; @@ -2367,24 +2381,25 @@ DoItem(interp, itemPtr, tag) */ static int -FindItems(interp, canvasPtr, argc, argv, newTag, cmdName, option) - Tcl_Interp *interp; /* Interpreter for error reporting. */ - Tk_Canvas *canvasPtr; /* Canvas whose items are to be +FindItems( + Tcl_Interp *interp, /* Interpreter for error reporting. */ + Tk_Canvas *canvasPtr, /* Canvas whose items are to be * searched. */ - int argc; /* Number of entries in argv. Must be + int argc, /* Number of entries in argv. Must be * greater than zero. */ - char **argv; /* Arguments that describe what items + char **argv, /* Arguments that describe what items * to search for (see user doc on * "find" and "addtag" options). */ - char *newTag; /* If non-NULL, gives new tag to set - * on all found items; if NULL, then + char *newTag, /* If non-NULL, gives new tag to set + * on all found items, if NULL, then * ids of found items are returned * in interp->result. */ - char *cmdName; /* Name of original Tcl command, for + char *cmdName, /* Name of original Tcl command, for * use in error messages. */ - char *option; /* For error messages: gives option + char *option /* For error messages: gives option * from Tcl command and other stuff * up to what's in argc/argv. */ +) { char c; int length; @@ -2598,21 +2613,22 @@ FindItems(interp, canvasPtr, argc, argv, newTag, cmdName, option) */ static int -FindArea(interp, canvasPtr, argv, uid, enclosed) - Tcl_Interp *interp; /* Interpreter for error reporting +FindArea( + Tcl_Interp *interp, /* Interpreter for error reporting * and result storing. */ - Tk_Canvas *canvasPtr; /* Canvas whose items are to be + Tk_Canvas *canvasPtr, /* Canvas whose items are to be * searched. */ - char **argv; /* Array of four arguments that + char **argv, /* Array of four arguments that * give the coordinates of the * rectangular area to search. */ - Tk_Uid uid; /* If non-NULL, gives new tag to set - * on all found items; if NULL, then + Tk_Uid uid, /* If non-NULL, gives new tag to set + * on all found items, if NULL, then * ids of found items are returned * in interp->result. */ - int enclosed; /* 0 means overlapping or enclosed + int enclosed /* 0 means overlapping or enclosed * items are OK, 1 means only enclosed * items are OK. */ +) { double rect[4], tmp; int x1, y1, x2, y2; @@ -2674,14 +2690,15 @@ FindArea(interp, canvasPtr, argv, uid, enclosed) *-------------------------------------------------------------- */ -static void -RelinkItems(canvasPtr, tag, prevPtr) - Tk_Canvas *canvasPtr; /* Canvas to be modified. */ - char *tag; /* Tag identifying items to be moved +static void +RelinkItems ( + Tk_Canvas *canvasPtr, /* Canvas to be modified. */ + char *tag, /* Tag identifying items to be moved * in the redisplay list. */ - Tk_Item *prevPtr; /* Reposition the items so that they + Tk_Item *prevPtr /* Reposition the items so that they * go just after this item (NULL means * put at beginning of list). */ +) { register Tk_Item *itemPtr; TagSearch search; @@ -2762,10 +2779,11 @@ RelinkItems(canvasPtr, tag, prevPtr) */ static void -CanvasBindProc(clientData, eventPtr) - ClientData clientData; /* Pointer to canvas structure. */ - XEvent *eventPtr; /* Pointer to X event that just +CanvasBindProc( + ClientData clientData, /* Pointer to canvas structure. */ + XEvent *eventPtr /* Pointer to X event that just * happened. */ +) { Tk_Canvas *canvasPtr = (Tk_Canvas *) clientData; int repick = 0; @@ -2853,14 +2871,15 @@ CanvasBindProc(clientData, eventPtr) *-------------------------------------------------------------- */ -static void -PickCurrentItem(canvasPtr, eventPtr) - register Tk_Canvas *canvasPtr; /* Canvas pointer in which to select +static void +PickCurrentItem ( + register Tk_Canvas *canvasPtr, /* Canvas pointer in which to select * current item. */ - XEvent *eventPtr; /* Event describing location of + XEvent *eventPtr /* Event describing location of * mouse cursor. Must be EnterWindow, * LeaveWindow, ButtonRelease, or * MotionNotify. */ +) { Tk_Item *closestPtr = NULL; @@ -2998,12 +3017,13 @@ PickCurrentItem(canvasPtr, eventPtr) *-------------------------------------------------------------- */ -static void -CanvasDoEvent(canvasPtr, eventPtr) - Tk_Canvas *canvasPtr; /* Canvas widget in which event +static void +CanvasDoEvent ( + Tk_Canvas *canvasPtr, /* Canvas widget in which event * occurred. */ - XEvent *eventPtr; /* Real or simulated X event that + XEvent *eventPtr /* Real or simulated X event that * is to be processed. */ +) { #define NUM_STATIC 3 ClientData staticObjects[NUM_STATIC]; @@ -3075,8 +3095,9 @@ CanvasDoEvent(canvasPtr, eventPtr) */ static void -CanvasBlinkProc(clientData) - ClientData clientData; /* Pointer to record describing entry. */ +CanvasBlinkProc( + ClientData clientData /* Pointer to record describing entry. */ +) { register Tk_Canvas *canvasPtr = (Tk_Canvas *) clientData; @@ -3120,10 +3141,11 @@ CanvasBlinkProc(clientData) */ static void -CanvasFocusProc(clientData, gotFocus) - ClientData clientData; /* Pointer to structure describing entry. */ - int gotFocus; /* 1 means window is getting focus, 0 means +CanvasFocusProc( + ClientData clientData, /* Pointer to structure describing entry. */ + int gotFocus /* 1 means window is getting focus, 0 means * it's losing it. */ +) { register Tk_Canvas *canvasPtr = (Tk_Canvas *) clientData; @@ -3163,13 +3185,14 @@ CanvasFocusProc(clientData, gotFocus) *---------------------------------------------------------------------- */ -static void -CanvasSelectTo(canvasPtr, itemPtr, index) - register Tk_Canvas *canvasPtr; /* Information about widget. */ - register Tk_Item *itemPtr; /* Item that is to hold selection. */ - int index; /* Index of element that is to +static void +CanvasSelectTo ( + register Tk_Canvas *canvasPtr, /* Information about widget. */ + register Tk_Item *itemPtr, /* Item that is to hold selection. */ + int index /* Index of element that is to * become the "other" end of the * selection. */ +) { int oldFirst, oldLast; Tk_Item *oldSelPtr; @@ -3233,15 +3256,16 @@ CanvasSelectTo(canvasPtr, itemPtr, index) */ static int -CanvasFetchSelection(clientData, offset, buffer, maxBytes) - ClientData clientData; /* Information about canvas widget. */ - int offset; /* Offset within selection of first +CanvasFetchSelection( + ClientData clientData, /* Information about canvas widget. */ + int offset, /* Offset within selection of first * character to be returned. */ - char *buffer; /* Location in which to place + char *buffer, /* Location in which to place * selection. */ - int maxBytes; /* Maximum number of bytes to place + int maxBytes /* Maximum number of bytes to place * at buffer, not including terminating * NULL character. */ +) { register Tk_Canvas *canvasPtr = (Tk_Canvas *) clientData; @@ -3274,8 +3298,9 @@ CanvasFetchSelection(clientData, offset, buffer, maxBytes) */ static void -CanvasLostSelection(clientData) - ClientData clientData; /* Information about entry widget. */ +CanvasLostSelection( + ClientData clientData /* Information about entry widget. */ +) { Tk_Canvas *canvasPtr = (Tk_Canvas *) clientData; @@ -3308,12 +3333,13 @@ CanvasLostSelection(clientData) *-------------------------------------------------------------- */ -int -TkGetCanvasCoord(canvasPtr, string, doublePtr) - Tk_Canvas *canvasPtr; /* Canvas to which coordinate applies. */ - char *string; /* Describes coordinate (any screen +int +TkGetCanvasCoord ( + Tk_Canvas *canvasPtr, /* Canvas to which coordinate applies. */ + char *string, /* Describes coordinate (any screen * coordinate form may be used here). */ - double *doublePtr; /* Place to store converted coordinate. */ + double *doublePtr /* Place to store converted coordinate. */ +) { if (Tk_GetScreenMM(canvasPtr->interp, canvasPtr->tkwin, string, doublePtr) != TCL_OK) { @@ -3342,11 +3368,12 @@ TkGetCanvasCoord(canvasPtr, string, doublePtr) *-------------------------------------------------------------- */ -static double -GridAlign(coord, spacing) - double coord; /* Coordinate to grid-align. */ - double spacing; /* Spacing between grid lines. If <= 0 +static double +GridAlign ( + double coord, /* Coordinate to grid-align. */ + double spacing /* Spacing between grid lines. If <= 0 * then no alignment is done. */ +) { if (spacing <= 0.0) { return coord; @@ -3378,9 +3405,10 @@ GridAlign(coord, spacing) *-------------------------------------------------------------- */ -static void -CanvasUpdateScrollbars(canvasPtr) - register Tk_Canvas *canvasPtr; /* Information about canvas. */ +static void +CanvasUpdateScrollbars ( + register Tk_Canvas *canvasPtr /* Information about canvas. */ +) { int result, size, first, last, page; char args[200]; @@ -3458,15 +3486,16 @@ CanvasUpdateScrollbars(canvasPtr) *-------------------------------------------------------------- */ -static void -CanvasSetOrigin(canvasPtr, xOrigin, yOrigin) - register Tk_Canvas *canvasPtr; /* Information about canvas. */ - int xOrigin; /* New X origin for canvas (canvas +static void +CanvasSetOrigin ( + register Tk_Canvas *canvasPtr, /* Information about canvas. */ + int xOrigin, /* New X origin for canvas (canvas * x-coord corresponding to left edge * of canvas window). */ - int yOrigin; /* New Y origin for canvas (canvas + int yOrigin /* New Y origin for canvas (canvas * y-coord corresponding to top edge * of canvas window). */ +) { /* * Adjust the origin if necessary to keep as much as possible of the @@ -3539,14 +3568,15 @@ CanvasSetOrigin(canvasPtr, xOrigin, yOrigin) /* ARGSUSED */ static int -CanvasTagsParseProc(clientData, interp, tkwin, value, widgRec, offset) - ClientData clientData; /* Not used.*/ - Tcl_Interp *interp; /* Used for reporting errors. */ - Tk_Window tkwin; /* Window containing canvas widget. */ - char *value; /* Value of option (list of tag +CanvasTagsParseProc( + ClientData clientData, /* Not used.*/ + Tcl_Interp *interp, /* Used for reporting errors. */ + Tk_Window tkwin, /* Window containing canvas widget. */ + char *value, /* Value of option (list of tag * names). */ - char *widgRec; /* Pointer to record for item. */ - int offset; /* Offset into item (ignored). */ + char *widgRec, /* Pointer to record for item. */ + int offset /* Offset into item (ignored). */ +) { register Tk_Item *itemPtr = (Tk_Item *) widgRec; int argc, i; @@ -3609,14 +3639,15 @@ CanvasTagsParseProc(clientData, interp, tkwin, value, widgRec, offset) /* ARGSUSED */ static char * -CanvasTagsPrintProc(clientData, tkwin, widgRec, offset, freeProcPtr) - ClientData clientData; /* Ignored. */ - Tk_Window tkwin; /* Window containing canvas widget. */ - char *widgRec; /* Pointer to record for item. */ - int offset; /* Ignored. */ - Tcl_FreeProc **freeProcPtr; /* Pointer to variable to fill in with +CanvasTagsPrintProc( + ClientData clientData, /* Ignored. */ + Tk_Window tkwin, /* Window containing canvas widget. */ + char *widgRec, /* Pointer to record for item. */ + int offset, /* Ignored. */ + Tcl_FreeProc **freeProcPtr /* Pointer to variable to fill in with * information about how to reclaim * storage for return string. */ +) { register Tk_Item *itemPtr = (Tk_Item *) widgRec;