fpvectorial: Starts adding svgz support

git-svn-id: trunk@40618 -
This commit is contained in:
sekelsenmat 2013-03-22 10:34:19 +00:00
parent 999f5becad
commit 74bbda0e40
5 changed files with 60 additions and 3 deletions

1
.gitattributes vendored
View File

@ -1237,6 +1237,7 @@ components/fpvectorial/pdfvrsintatico.pas svneol=native#text/plain
components/fpvectorial/rawvectorialreadwrite.pas svneol=native#text/plain
components/fpvectorial/svgvectorialreader.pas svneol=native#text/plain
components/fpvectorial/svgvectorialwriter.pas svneol=native#text/plain
components/fpvectorial/svgzvectorialreader.pas svneol=native#text/pascal
components/fpvectorial/tools/laszip/laszip.lpi svneol=native#text/plain
components/fpvectorial/tools/laszip/laszip.pas svneol=native#text/plain
components/fpweb/README.txt svneol=native#text/plain

View File

@ -40,7 +40,7 @@ uses
type
TvVectorialFormat = (
{ Multi-purpose document formats }
vfPDF, vfSVG, vfCorelDrawCDR, vfWindowsMetafileWMF, vfODG,
vfPDF, vfSVG, vfSVGZ, vfCorelDrawCDR, vfWindowsMetafileWMF, vfODG,
{ CAD formats }
vfDXF,
{ Geospatial formats }
@ -71,6 +71,7 @@ const
STR_PDF_EXTENSION = '.pdf';
STR_POSTSCRIPT_EXTENSION = '.ps';
STR_SVG_EXTENSION = '.svg';
STR_SVGZ_EXTENSION = '.svgz';
STR_CORELDRAW_EXTENSION = '.cdr';
STR_WINMETAFILE_EXTENSION = '.wmf';
STR_AUTOCAD_EXCHANGE_EXTENSION = '.dxf';
@ -4068,6 +4069,7 @@ begin
if AnsiCompareText(lExt, STR_PDF_EXTENSION) = 0 then Result := vfPDF
else if AnsiCompareText(lExt, STR_POSTSCRIPT_EXTENSION) = 0 then Result := vfPostScript
else if AnsiCompareText(lExt, STR_SVG_EXTENSION) = 0 then Result := vfSVG
else if AnsiCompareText(lExt, STR_SVGZ_EXTENSION) = 0 then Result := vfSVGZ
else if AnsiCompareText(lExt, STR_CORELDRAW_EXTENSION) = 0 then Result := vfCorelDrawCDR
else if AnsiCompareText(lExt, STR_WINMETAFILE_EXTENSION) = 0 then Result := vfWindowsMetafileWMF
else if AnsiCompareText(lExt, STR_AUTOCAD_EXCHANGE_EXTENSION) = 0 then Result := vfDXF

View File

@ -12,7 +12,7 @@
<CompilerPath Value="$(CompPath)"/>
</Other>
</CompilerOptions>
<Files Count="17">
<Files Count="18">
<Item1>
<Filename Value="fpvectorial.pas"/>
<UnitName Value="fpvectorial"/>
@ -81,6 +81,10 @@
<Filename Value="svgvectorialwriter.pas"/>
<UnitName Value="svgvectorialwriter"/>
</Item17>
<Item18>
<Filename Value="svgzvectorialreader.pas"/>
<UnitName Value="svgzvectorialreader"/>
</Item18>
</Files>
<Type Value="RunAndDesignTime"/>
<RequiredPkgs Count="2">

View File

@ -12,7 +12,7 @@ uses
dxfvectorialreader, epsvectorialreader, lasvectorialreader,
lazvectorialreader, mathmlvectorialreader, odgvectorialreader,
rawvectorialreadwrite, svgvectorialreader, svgvectorialwriter,
LazarusPackageIntf;
svgzvectorialreader, LazarusPackageIntf;
implementation

View File

@ -0,0 +1,50 @@
unit svgzvectorialreader;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils,
zstream,
svgvectorialreader, fpvectorial, fpvutils, lazutf8;
type
{ TvSVGZVectorialReader }
TvSVGZVectorialReader = class(TvSVGVectorialReader)
public
{ General reading methods }
procedure ReadFromFile(AFileName: string; AData: TvVectorialDocument); virtual;
procedure ReadFromStream(AStream: TStream; AData: TvVectorialDocument); override;
end;
implementation
{ TvSVGZVectorialReader }
procedure TvSVGZVectorialReader.ReadFromFile(AFileName: string;
AData: TvVectorialDocument);
var
FileStream: TGZFileStream;
begin
FileStream := TGZFileStream.Create(AFileName, gzopenread);
try
ReadFromStream(FileStream, AData);
finally
FileStream.Free;
end;
end;
procedure TvSVGZVectorialReader.ReadFromStream(AStream: TStream;
AData: TvVectorialDocument);
begin
inherited ReadFromStream(AStream, AData);
end;
initialization
RegisterVectorialReader(TvSVGZVectorialReader, vfSVGZ);
end.