mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-14 12:40:20 +02:00
fpvectorial: Starts adding svgz support
git-svn-id: trunk@40618 -
This commit is contained in:
parent
999f5becad
commit
74bbda0e40
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -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
|
||||
|
@ -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
|
||||
|
@ -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">
|
||||
|
@ -12,7 +12,7 @@ uses
|
||||
dxfvectorialreader, epsvectorialreader, lasvectorialreader,
|
||||
lazvectorialreader, mathmlvectorialreader, odgvectorialreader,
|
||||
rawvectorialreadwrite, svgvectorialreader, svgvectorialwriter,
|
||||
LazarusPackageIntf;
|
||||
svgzvectorialreader, LazarusPackageIntf;
|
||||
|
||||
implementation
|
||||
|
||||
|
50
components/fpvectorial/svgzvectorialreader.pas
Normal file
50
components/fpvectorial/svgzvectorialreader.pas
Normal 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.
|
||||
|
Loading…
Reference in New Issue
Block a user