|
@@ -136,7 +136,7 @@ begin
|
|
Result := '';
|
|
Result := '';
|
|
vars := TVariableSet.Create('');
|
|
vars := TVariableSet.Create('');
|
|
for i:=0 to Count-1 do
|
|
for i:=0 to Count-1 do
|
|
- vars.Strings[FKeyPrefix+Keys[i].ToString] := BGRAToStr(Data[i]);
|
|
|
|
|
|
+ vars.Pixels[FKeyPrefix+Keys[i].ToString] := Data[i];
|
|
result := vars.VariablesAsString;
|
|
result := vars.VariablesAsString;
|
|
vars.Free;
|
|
vars.Free;
|
|
end;
|
|
end;
|
|
@@ -144,10 +144,8 @@ end;
|
|
procedure TBGRAPixelBinding.LoadContentFromString(const aContent: string; FTransparentPalette: boolean);
|
|
procedure TBGRAPixelBinding.LoadContentFromString(const aContent: string; FTransparentPalette: boolean);
|
|
var vars: TVariableSet;
|
|
var vars: TVariableSet;
|
|
varName, strDigit: string;
|
|
varName, strDigit: string;
|
|
- colorValue: TBGRAPixel;
|
|
|
|
i, digit: Integer;
|
|
i, digit: Integer;
|
|
v: TScriptVariableReference;
|
|
v: TScriptVariableReference;
|
|
- missingValues, err: boolean;
|
|
|
|
begin
|
|
begin
|
|
if aContent = '' then exit;
|
|
if aContent = '' then exit;
|
|
vars := TVariableSet.Create('');
|
|
vars := TVariableSet.Create('');
|
|
@@ -159,18 +157,11 @@ begin
|
|
begin
|
|
begin
|
|
varName := vars.VariableName[i];
|
|
varName := vars.VariableName[i];
|
|
v := vars.GetVariable(varName);
|
|
v := vars.GetVariable(varName);
|
|
- if (Pos(FKeyPrefix,varName) = 1) and (Length(varName) > Length(FKeyPrefix)) and (v.variableType = svtString) then
|
|
|
|
|
|
+ if varName.StartsWith(FKeyPrefix) and (Length(varName) > Length(FKeyPrefix)) and (v.variableType = svtPixel) then
|
|
begin
|
|
begin
|
|
strDigit := Copy(varName, Length(FKeyPrefix)+1, Length(varName)-Length(FKeyPrefix));
|
|
strDigit := Copy(varName, Length(FKeyPrefix)+1, Length(varName)-Length(FKeyPrefix));
|
|
if TryStrToInt(strDigit, digit) and (digit in [0..9]) then
|
|
if TryStrToInt(strDigit, digit) and (digit in [0..9]) then
|
|
- begin
|
|
|
|
- TryStrToBGRA(vars.Strings[varName], colorValue, missingValues, err);
|
|
|
|
- if not missingValues and not err then
|
|
|
|
- begin
|
|
|
|
- if not FTransparentPalette then colorValue.alpha := 255;
|
|
|
|
- AddOrSetData(digit, colorValue);
|
|
|
|
- end;
|
|
|
|
- end;
|
|
|
|
|
|
+ AddOrSetData(digit, vars.Pixels[varName]);
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|