Thank you kindly, StrawberryFride, for a patch that:

Adds a test to see if the first option on osDynamicTextureData is "AltDelim", 
then picks up the first character after the whitespace and uses as a delimiter 
instead of ;. If this string does not appear at the start of the data, the 
default ; will be used, hence this should not break existing code.
0.6.5-rc1
Charles Krinke 2009-04-18 17:05:51 +00:00
parent 8e08dd20dc
commit aa86305a41
1 changed files with 10 additions and 5 deletions

View File

@ -152,6 +152,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender
int height = 256;
int alpha = 255; // 0 is transparent
Color bgColour = Color.White; // Default background color
char altDataDelim = ';';
char[] paramDelimiter = { ',' };
char[] nvpDelimiter = { ':' };
@ -249,6 +250,9 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender
bgColour = Color.FromName(value);
}
break;
case "altdatadelim":
altDataDelim = value.ToCharArray()[0];
break;
case "":
// blank string has been passed do nothing just use defaults
break;
@ -311,7 +315,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender
}
}
GDIDraw(data, graph);
GDIDraw(data, graph, altDataDelim);
byte[] imageJ2000 = new byte[0];
@ -382,7 +386,7 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender
}
*/
private void GDIDraw(string data, Graphics graph)
private void GDIDraw(string data, Graphics graph, char dataDelim)
{
Point startPoint = new Point(0, 0);
Point endPoint = new Point(0, 0);
@ -391,7 +395,8 @@ namespace OpenSim.Region.CoreModules.Scripting.VectorRender
float fontSize = 14;
Font myFont = new Font(fontName, fontSize);
SolidBrush myBrush = new SolidBrush(Color.Black);
char[] lineDelimiter = {';'};
char[] lineDelimiter = {dataDelim};
char[] partsDelimiter = {','};
string[] lines = data.Split(lineDelimiter);