2019-01-26 00:15:13 +00:00
|
|
|
unit fpeMakerNoteEpson;
|
|
|
|
|
2020-02-17 18:52:45 +00:00
|
|
|
{$IFDEF FPC}
|
|
|
|
{$MODE DELPHI}
|
|
|
|
//{$mode objfpc}{$H+}
|
|
|
|
{$ENDIF}
|
2019-01-26 00:15:13 +00:00
|
|
|
|
|
|
|
interface
|
|
|
|
|
|
|
|
uses
|
|
|
|
Classes, SysUtils,
|
|
|
|
fpeTags, fpeExifReadWrite;
|
|
|
|
|
|
|
|
type
|
|
|
|
TEpsonMakerNoteReader = class(TMakerNoteReader)
|
|
|
|
protected
|
|
|
|
procedure GetTagDefs({%H-}AStream: TStream); override;
|
|
|
|
end;
|
|
|
|
|
|
|
|
implementation
|
|
|
|
|
|
|
|
procedure BuildEpsonTagDefs(AList: TTagDefList);
|
|
|
|
const
|
2020-02-17 18:52:45 +00:00
|
|
|
// M = DWord(TAGPARENT_MAKERNOTE);
|
|
|
|
M = LongWord(TAGPARENT_MAKERNOTE);
|
2019-01-26 00:15:13 +00:00
|
|
|
begin
|
|
|
|
Assert(AList <> nil);
|
|
|
|
with AList do begin
|
|
|
|
AddUShortTag(M+$0200, 'SpecialMode');
|
|
|
|
AddUShortTag(M+$0201, 'JpegQuality');
|
|
|
|
AddUShortTag(M+$0202, 'Macro');
|
|
|
|
AddUShortTag(M+$0204, 'DigitalZoom');
|
|
|
|
AddUShortTag(M+$0209, 'CameraID');
|
|
|
|
AddStringTag(M+$020A, 'Comments');
|
|
|
|
AddUShortTag(M+$020B, 'Width');
|
|
|
|
AddUShortTag(M+$020C, 'Height');
|
|
|
|
AddUShortTag(M+$020D, 'SoftRelease');
|
|
|
|
end;
|
|
|
|
end;
|
|
|
|
|
|
|
|
//==============================================================================
|
|
|
|
// TEpsonMakerNoteReader
|
|
|
|
//==============================================================================
|
|
|
|
|
|
|
|
procedure TEpsonMakerNoteReader.GetTagDefs(AStream: TStream);
|
|
|
|
begin
|
|
|
|
BuildEpsonTagDefs(FTagDefs);
|
|
|
|
end;
|
|
|
|
|
|
|
|
initialization
|
|
|
|
RegisterMakerNoteReader(TEpsonMakerNoteReader, 'Epson', '');
|
|
|
|
|
|
|
|
end.
|
|
|
|
|