diff options
Diffstat (limited to 'src/bltGrMarker.C')
-rw-r--r-- | src/bltGrMarker.C | 140 |
1 files changed, 0 insertions, 140 deletions
diff --git a/src/bltGrMarker.C b/src/bltGrMarker.C index 7922e0c..83cbcbd 100644 --- a/src/bltGrMarker.C +++ b/src/bltGrMarker.C @@ -132,14 +132,6 @@ Blt_CustomOption coordsOption = ObjToCoordsProc, CoordsToObjProc, FreeCoordsProc, NULL }; -static Blt_OptionFreeProc FreeColorPairProc; -static Blt_OptionParseProc ObjToColorPairProc; -static Blt_OptionPrintProc ColorPairToObjProc; -Blt_CustomOption colorPairOption = - { - ObjToColorPairProc, ColorPairToObjProc, FreeColorPairProc, (ClientData)0 - }; - static int GetCoordinate(Tcl_Interp* interp, Tcl_Obj *objPtr, double *valuePtr) { char c; @@ -296,138 +288,6 @@ static Tcl_Obj* CoordsToObjProc(ClientData clientData, Tcl_Interp* interp, return listObjPtr; } -static int GetColorPair(Tcl_Interp* interp, Tk_Window tkwin, - Tcl_Obj *fgObjPtr, Tcl_Obj *bgObjPtr, - ColorPair *pairPtr, int allowDefault) -{ - XColor* fgColor, *bgColor; - const char* string; - - fgColor = bgColor = NULL; - if (fgObjPtr != NULL) { - int length; - - string = Tcl_GetStringFromObj(fgObjPtr, &length); - if (string[0] == '\0') { - fgColor = NULL; - } else if ((allowDefault) && (string[0] == 'd') && - (strncmp(string, "defcolor", length) == 0)) { - fgColor = COLOR_DEFAULT; - } else { - fgColor = Tk_AllocColorFromObj(interp, tkwin, fgObjPtr); - if (fgColor == NULL) { - return TCL_ERROR; - } - } - } - if (bgObjPtr != NULL) { - int length; - - string = Tcl_GetStringFromObj(bgObjPtr, &length); - if (string[0] == '\0') { - bgColor = NULL; - } else if ((allowDefault) && (string[0] == 'd') && - (strncmp(string, "defcolor", length) == 0)) { - bgColor = COLOR_DEFAULT; - } else { - bgColor = Tk_AllocColorFromObj(interp, tkwin, bgObjPtr); - if (bgColor == NULL) { - return TCL_ERROR; - } - } - } - if (pairPtr->fgColor != NULL) { - Tk_FreeColor(pairPtr->fgColor); - } - if (pairPtr->bgColor != NULL) { - Tk_FreeColor(pairPtr->bgColor); - } - pairPtr->fgColor = fgColor; - pairPtr->bgColor = bgColor; - return TCL_OK; -} - -void Blt_FreeColorPair(ColorPair *pairPtr) -{ - if ((pairPtr->bgColor != NULL) && (pairPtr->bgColor != COLOR_DEFAULT)) { - Tk_FreeColor(pairPtr->bgColor); - } - if ((pairPtr->fgColor != NULL) && (pairPtr->fgColor != COLOR_DEFAULT)) { - Tk_FreeColor(pairPtr->fgColor); - } - pairPtr->bgColor = pairPtr->fgColor = NULL; -} - -static void FreeColorPairProc(ClientData clientData, Display *display, - char* widgRec, int offset) -{ - ColorPair *pairPtr = (ColorPair *)(widgRec + offset); - Blt_FreeColorPair(pairPtr); -} - -static int ObjToColorPairProc(ClientData clientData, Tcl_Interp* interp, - Tk_Window tkwin, Tcl_Obj *objPtr, char* widgRec, - int offset, int flags) -{ - ColorPair *pairPtr = (ColorPair *)(widgRec + offset); - long longValue = (long)clientData; - int bool; - int objc; - Tcl_Obj **objv; - - if (Tcl_ListObjGetElements(interp, objPtr, &objc, &objv) != TCL_OK) { - return TCL_ERROR; - } - if (objc > 2) { - Tcl_AppendResult(interp, "too many names in colors list", - (char*)NULL); - return TCL_ERROR; - } - if (objc == 0) { - Blt_FreeColorPair(pairPtr); - return TCL_OK; - } - bool = (int)longValue; - if (objc == 1) { - if (GetColorPair(interp, tkwin, objv[0], NULL, pairPtr, bool) - != TCL_OK) { - return TCL_ERROR; - } - } else { - if (GetColorPair(interp, tkwin, objv[0], objv[1], pairPtr, bool) - != TCL_OK) { - return TCL_ERROR; - } - } - return TCL_OK; -} - -static const char* NameOfColor(XColor* colorPtr) -{ - if (colorPtr == NULL) { - return ""; - } else if (colorPtr == COLOR_DEFAULT) { - return "defcolor"; - } else { - return Tk_NameOfColor(colorPtr); - } -} - -static Tcl_Obj* ColorPairToObjProc(ClientData clientData, Tcl_Interp* interp, - Tk_Window tkwin, char* widgRec, - int offset, int flags) -{ - ColorPair *pairPtr = (ColorPair *)(widgRec + offset); - Tcl_Obj *listObjPtr; - - listObjPtr = Tcl_NewListObj(0, (Tcl_Obj **)NULL); - Tcl_ListObjAppendElement(interp, listObjPtr, - Tcl_NewStringObj(NameOfColor(pairPtr->fgColor), -1)); - Tcl_ListObjAppendElement(interp, listObjPtr, - Tcl_NewStringObj(NameOfColor(pairPtr->bgColor), -1)); - return listObjPtr; -} - static int IsElementHidden(Marker *markerPtr) { Tcl_HashEntry *hPtr; |