From: <and...@us...> - 2008-08-19 19:26:38
|
Revision: 8681 http://plplot.svn.sourceforge.net/plplot/?rev=8681&view=rev Author: andrewross Date: 2008-08-19 19:26:48 +0000 (Tue, 19 Aug 2008) Log Message: ----------- Add tcl support for plgfci, plsfci, plgfont, plsfont, plrandd, plseed, plmtex3 and plptex3. Currently these are untested, but now examples 23, 29 and 30 can be implemented. Modified Paths: -------------- trunk/bindings/tcl/plapi.tpl trunk/bindings/tcl/pltclgen trunk/bindings/tcl/pltclgen.tcl Modified: trunk/bindings/tcl/plapi.tpl =================================================================== --- trunk/bindings/tcl/plapi.tpl 2008-08-19 16:13:34 UTC (rev 8680) +++ trunk/bindings/tcl/plapi.tpl 2008-08-19 19:26:48 UTC (rev 8681) @@ -237,11 +237,23 @@ num PLINT& bmax PLINT& +# Get the (FCI) font characterisation integer + +pltclcmd plgfci void +fci PLUNICODE& + # Get the output file name. pltclcmd plgfnam void fnam char * +# Get the current font family, style and weight + +pltclcmd plgfont void +family PLINT& +style PLINT& +weight PLINT& + # Get the current run level. pltclcmd plglevel void @@ -392,6 +404,15 @@ just PLFLT text const char * +# Prints out "text" at specified position relative to viewport (3D). + +pltclcmd plmtex3 void +side const char * +disp PLFLT +pos PLFLT +just PLFLT +text const char * + # Set fill pattern directly. pltclcmd plpat void @@ -449,6 +470,26 @@ just PLFLT text const char * +# Prints out "text" at world cooordinate (x,y,z). + +pltclcmd plptex3 void +wx PLFLT +wy PLFLT +wz PLFLT +dx PLFLT +dy PLFLT +dz PLFLT +sx PLFLT +sy PLFLT +sz PLFLT +just PLFLT +text const char * + +# Random number generator based on Mersenne Twister. +# Obtain real random number in range [0,1]. + +pltclcmd plrandd PLFLT + # Replays contents of plot buffer to current device/file. pltclcmd plreplot void @@ -586,6 +627,12 @@ xmax PLFLT ymax PLFLT +# Set seed for internal random number generator + +pltclcmd plseed void +s unsigned int + + # Set the escape character for text strings. pltclcmd plsesc void @@ -598,11 +645,23 @@ num PLINT bmax PLINT +# Set FCI (font characterization integer) + +pltclcmd plsfci void +fci PLUNICODE + # Set the output file name. pltclcmd plsfnam void fnam const char * +# Set the current font family, style and weight + +pltclcmd plsfont void +family PLINT +style PLINT +weight PLINT + # Set up lengths of major tick marks. pltclcmd plsmaj void Modified: trunk/bindings/tcl/pltclgen =================================================================== --- trunk/bindings/tcl/pltclgen 2008-08-19 16:13:34 UTC (rev 8680) +++ trunk/bindings/tcl/pltclgen 2008-08-19 19:26:48 UTC (rev 8681) @@ -156,6 +156,10 @@ print GENFILE " PLINT $argname[$i];\n"; last argdecl; }; + /PLUNICODE&/ && do { + print GENFILE " PLUNICODE $argname[$i];\n"; + last argdecl; + }; /PLFLT&/ && do { print GENFILE " PLFLT $argname[$i];\n"; last argdecl; @@ -169,6 +173,11 @@ print GENFILE " tclMatrix *mat$argname[$i];\n"; last argdecl; }; + /PLUNICODE \*/ && do { + print GENFILE " PLUNICODE *$argname[$i];\n"; + print GENFILE " tclMatrix *mat$argname[$i];\n"; + last argdecl; + }; /PLFLT \*/ && do { print GENFILE " PLFLT *$argname[$i];\n"; print GENFILE " tclMatrix *mat$argname[$i];\n"; @@ -213,6 +222,12 @@ print GENFILE " $argname[$i] = mat$argname[$i]-\>idata;\n"; last getarg; }; + /PLUNICODE \*/ && do { + print GENFILE " mat$argname[$i] = Tcl_GetMatrixPtr( interp, argv[1+$i] );\n"; + print GENFILE " if (mat$argname[$i] == NULL) return TCL_ERROR;\n"; + print GENFILE " $argname[$i] = mat$argname[$i]-\>idata;\n"; + last getarg; + }; /PLFLT \*/ && do { print GENFILE " mat$argname[$i] = Tcl_GetMatrixPtr( interp, argv[1+$i] );\n"; print GENFILE " if (mat$argname[$i] == NULL) return TCL_ERROR;\n"; @@ -223,6 +238,10 @@ print GENFILE " $argname[$i] = atoi(argv[1+$i]);\n"; last getarg; }; + /PLUNICODE/ && do { + print GENFILE " $argname[$i] = strtoul(argv[1+$i],NULL,10);\n"; + last getarg; + }; /PLFLT/ && do { print GENFILE " $argname[$i] = atof(argv[1+$i]);\n"; last getarg; @@ -290,6 +309,15 @@ last fetch; }; + /PLUNICODE&/ && do { + print GENFILE " sprintf( buf, \"%u\", $argname[$i] );\n"; + print GENFILE " if (argc > 1)\n"; + print GENFILE " Tcl_SetVar( interp, argv[1+$i], buf, 0 );\n"; + print GENFILE " else\n"; + print GENFILE " Tcl_AppendResult( interp, buf, (char *) NULL );\n"; + last fetch; + }; + /char \*/ && do { print GENFILE " if (argc > 1)\n"; print GENFILE " Tcl_SetVar( interp, argv[1+$i], $argname[$i], 0 );\n"; Modified: trunk/bindings/tcl/pltclgen.tcl =================================================================== --- trunk/bindings/tcl/pltclgen.tcl 2008-08-19 16:13:34 UTC (rev 8680) +++ trunk/bindings/tcl/pltclgen.tcl 2008-08-19 19:26:48 UTC (rev 8681) @@ -117,6 +117,9 @@ "PLINT&" { puts $GENFILE " PLINT $argname($i);" } + "PLUNICODE&" { + puts $GENFILE " PLUNICODE $argname($i);" + } "PLFLT&" { puts $GENFILE " PLFLT $argname($i);" } @@ -127,6 +130,10 @@ puts $GENFILE " PLINT *$argname($i);" puts $GENFILE " tclMatrix *mat$argname($i);" } + "PLUNICODE *" { + puts $GENFILE " PLUNICODE *$argname($i);" + puts $GENFILE " tclMatrix *mat$argname($i);" + } "PLFLT *" { puts $GENFILE " PLFLT *$argname($i);" puts $GENFILE " tclMatrix *mat$argname($i);" @@ -166,6 +173,11 @@ puts $GENFILE " if (mat$argname($i) == NULL) return TCL_ERROR;" puts $GENFILE " $argname($i) = mat$argname($i)-\>idata;" } + "PLUNICODE *" { + puts $GENFILE " mat$argname($i) = Tcl_GetMatrixPtr( interp, argv\[1+$i\] );" + puts $GENFILE " if (mat$argname($i) == NULL) return TCL_ERROR;" + puts $GENFILE " $argname($i) = mat$argname($i)-\>idata;" + } "PLFLT \*" { puts $GENFILE " mat$argname($i) = Tcl_GetMatrixPtr( interp, argv\[1+$i\] );" puts $GENFILE " if (mat$argname($i) == NULL) return TCL_ERROR;" @@ -174,6 +186,12 @@ "PLINT" { puts $GENFILE " $argname($i) = atoi(argv\[1+$i\]);" } + "PLUNICODE" { + puts $GENFILE " $argname($i) = strtoul(argv\[1+$i\],NULL,10);" + } + "unsigned int" { + puts $GENFILE " $argname($i) = (unsigned int) strtoul(argv\[1+$i\],NULL,10);" + } "PLFLT" { puts $GENFILE " $argname($i) = atof(argv\[1+$i\]);" } @@ -236,6 +254,14 @@ puts $GENFILE " Tcl_AppendResult( interp, buf, (char *) NULL );" } + "PLUNICODE&" { + puts $GENFILE " sprintf( buf, \"%u\", $argname($i) );" + puts $GENFILE " if (argc > 1)" + puts $GENFILE " Tcl_SetVar( interp, argv\[1+$i\], buf, 0 );" + puts $GENFILE " else" + puts $GENFILE " Tcl_AppendResult( interp, buf, (char *) NULL );" + } + "char *" { puts $GENFILE " if (argc > 1)" puts $GENFILE " Tcl_SetVar( interp, argv\[1+$i\], $argname($i), 0 );" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |