Unit idCore

Description

 

Overview

Classes, Interfaces, Objects and Records

Name Description
Record TIncludeSidecarsHelper  
Record TOperationCommandHelper  
Class TUniqueFileNameSettings  
Record TColorChannelHelper  
Record TDateTimeEditSet  
Record TTransferMethodHelper  
Record TEffectHelper  
Record TEffectGroupHelper  
Class TVariant  
Class TVariants  
Class TIDIObject  
Class TIDIClass  
Class TCustomSidecarExtension  
Class TCustomSidecarExtensionList  
Class TCustomSidecarExtensions  
Class TImageWatermark  
Class TImageWatermarks  
Class TImageWatermarkModel  
Class TResizeSettings  
Class TWebTemplateValue  
Class TWebTemplateValues  
Class THTMLTemplate  
Class THTMLTemplates  
Class TTemplateModel  
Class TIPTCTag  
Class TIPTCTags  
Class TFileNameValueItem  
Class TFileNameValuePairs  
Class TImageItem  
Class TImageItems  
Class TCollectionFilterObject  
Class TCollectionFilterObjectModel  
Class TImageCollection  
Class TImageCollections  
Class TSaveSettings  
Class TAuthorizationItem  
Class TUserAuthorization  
Class TAuthorizationObject  
Class TUserGroup  
Class TUserGroups  
Record TidUserTypeHelper  
Class TidUser  
Class TidUsers  
Class TThumbSizeSetting  
Class TThumbSizeSettings  
Class TThumbSizeSettingModel  
Class TImageGallery  
Class TImageGalleries  
Class TRedateSettings  
Class TRedateSettingsModel  
Class TRenameSettings  
Class TMoveAndRenameSettings  
Class TEffectObject  
Class TEffectObjects  
Class TImageModel  
Class TImageModels  
Class TImageModelItem  
Class TImageModelItems  
Class TBaseFramer  
Class TFramer  
Class TFramers  
Class TFrameDesign  
Class TFrameDesigns  
Class TFrameDesignModel  

Functions and Procedures

procedure idCore_initialization;
procedure idCore_finalization;
function CurrentUser: TidUser;
function CheckActiveDomainUserPassword(const APassword: WideString): Boolean;
function ImageProcessLimit: Int64;
function AutoRotate: Boolean;
function RawAutoRotate: Boolean;
function IsSupportedImageFile (const AFileName: WideString): Boolean;
function IsSupportedNonImageFile (const AFileName: WideString): Boolean;
function IsSupportedMusicFile (const AFileName: WideString): Boolean;
function IsSaveableImageFile (const AFileName: WideString): Boolean;
function BitmapSaveableFilterString: WideString;
function EnumJpegsInStream(AStream: TStream; AResult: TxomResources; AStartPos: Int64 = 0): Boolean;
procedure ReleaseBitmap (ABitmap: TBitmap);
procedure CrossImage (ABitmap: TvxBitmap; AWidth: Integer = 480; AHeight: Integer = 480; const ACaption: WideString = 'error');
function CenterText(ACanvas: TCanvas; const s: WideString; ATop: Integer; ARect: TRect): Integer;
function CenterTextOnCanvas(ACanvas: TCanvas; ASl: TxomStrings; ATop: Integer; ARect: TRect): Integer;
procedure ApplyWatermark (AGraphic: TGraphic; AText: WideString = '');
procedure AddWatermark (AGraphic: TGraphic; AWatermark: TGraphic; APosX, APosY: Integer);
function NewGraphic (const AFilename: WideString): TGraphic;
function CalculateTextLength (AWidth: Integer; AFont: TFont = nil): Integer;
procedure LogRenameRule (AStrings: TxomStrings; const ARule: WideString);
procedure RegisterNonImageFormats;
procedure UnRegisterNonImageFormats;
function SyncStateToInteger (const AState: TSyncState): Integer;
function IntegerToSyncState (AInt: Integer): TSyncState;
function StackMarkersToInteger (const AMarkers: TStackMarkers): Integer;
function IntegerToStackMarkers (AInt: Integer): TStackMarkers;
function RequestPassword (const AID: String; const ACorrectPassword: WideString; const ACaption: WideString; const ASubCaption: WideString = ''): Boolean;
function PublicOptions: TOptions;
procedure ResetToneCurve (ACurve: TToneCurve);
procedure ResetFrameDesign (AFrameDesign: TFrameDesign);
procedure ResetEffect (AEffect: TEffectObject);
function BuildThumbGUID (const AFileName: WideString; const AMediumType: TMediumType; const AMediumName: WideString; const AMediumSerial: Integer): String;
function GroupForEffect(AEffect: TEffect): TEffectGroup;
function EffectForRecipeItem (ARi: TRecipeItem): TEffect;
function GroupForRecipeItem (ARi: TRecipeItem): TEffectGroup;
function SizeForDimension (const ADim: WideString): TSize;
function EnumResourcePicture (AResource: TxomResource): TvxBitmap32Gr;
function XMPFileMethod: TXMPFileMethod;

Types

TIncludeSidecar = (...);
TIncludeSidecars = set of TIncludeSidecar;
TAreaDetectionType = (...);
TOperationCommand = (...);
TSyncStateItem = (...);
TSyncState = set of TSyncStateItem;
TColorChannel = (...);
TColorChannels = set of TColorChannel;
TCaseSetting = (...);
TPeriod = xomPeriods.TPeriod;
TDateTimeEditType = (...);
TDateTimeEditTypes = set of TDateTimeEditType;
TDateTimeEditTypeArray = Array[TDateTimeEditType] of TDateTime;
TDateTimeEditSetArray = Array of TDateTimeEditSet;
TFrameUnit = (...);
TFramingStyle = (...);
TFramingMethod = (...);
TFrameStyle = (...);
TFrameTextureStyle = (...);
TCheckerMode = (...);
TFillStyle = (...);
TThumbUpdateLevel = (...);
TDateChangeStyle = (...);
TRecordingFormat = (...);
TTransitionEffectSetting = (...);
TCaptionType = (...);
TMailMethod = (...);
TTransferMethod = (...);
TResizeSide = (...);
TSizeUnit = (...);
TCollectionFilter = (...);
TCollectionFilters = set of TCollectionFilter;
TAuthorization = (...);
TAuthorizations = set of TAuthorization;
TEffect = (...);
TEffects = set of TEffect;
TEffectGroup = (...);
TEXEOptimize = (...);
TGalleryEvent = procedure (Sender: TObject; AGallery: TImageGallery) of object;
TCollectionEvent = procedure (Sender: TObject; ACollection: TImageCollection) of object;
TCollectionEvent2 = procedure (Sender: TObject; ACollection: TImageCollection; ASelectedOnly: Boolean) of object;
TTransferEvent = procedure (Sender: TObject; ACollection: TImageCollection; ASelectedOnly: Boolean; AMethod: TTransferMethod) of object;
TImageEvent = procedure (Sender: TObject; AImageItem: TImageItem) of object;
TCommandEvent = procedure (Sender: TObject; ACommand: String; AData: TidElement) of object;
TRequestEvent = procedure (Sender: TObject; ARequest: String; var AReply: Variant) of object;
TImageItemsEvent = procedure (Sender: TObject; AImages: TImageItems) of object;
TPixelUnit = (...);
TResizeMethod = (...);
TConvertToJPG = (...);
TDrawAreaPart = (...);
TDrawAreaParts = set of TDrawAreaPart;
TImageCollectionType = (...);
TImageCollectionTypes = set of TImageCollectionType;
TidUserType = (...);
TidUserTypes = set of TidUserType;
TCatalogSelectionBoxPosition = (...);
TFileDuplicateHandling = (...);
TOptions = idCatalogDOM.TOptions;

Constants

AdminGUID = '{6C0D41E8-8F0C-489A-8904-2741F1FB70BE}';
UninitializedRating = -9999;
SmallImageWidth = 480;
DownloaderThumbSize = 120;
FTPModelFileName = 'imb_ftpmodel.imbftp';
cDefaultExt = '.jpg';
DefaultTemplateGUID = '{370BE59A-281B-44CA-B57C-00BCD2B7EFC5}';
cmdInDelete = 'InDel';
MTPTempFileThreshold = 1024*1024*100;
AllIncludeSidecars = [iscNonSupportedImageFiles, iscSupportedImageFiles];

Variables

ThumbCritical: TxomCriticalSection;
RenameRulesFile: WideString;
PreviewMode: Boolean;
TravelMode: Boolean;
DoBreak: Boolean;
SupportedMusicExtensions: TxomStringList;
UnSaveableExtensions: TxomStringList;
NonImageExtensions: TxomStringList;
ActiveUser: TidUser = nil;
ActiveDomainUser: TObject = nil;
AllEffects: TEffectObjects = nil;
ImageIPTCMapping: TImageMetaMappings = nil;
ImageXMPMapping: TImageMetaMappings = nil;
PublicThumbSettings: TThumbSizeSettingModel = nil;
PublicVerifyOnCopy: Boolean;
FullSyncState: TSyncState;
ThumbInterpolation: TvxInterpolationFilter;
PasswordList: TxomStringList = nil;
WatermarksFolder: WideString;
UniqueFileNameSettings: TUniqueFileNameSettings = nil;
HackedCanonPSSupport: Boolean;
SupportedExtensions: TxomStringList = nil;
ExcludedSupportedExtensions: TxomStringList = nil;
SidecarExtensions: TCustomSidecarExtensions = nil;

Description

Functions and Procedures

procedure idCore_initialization;
 
procedure idCore_finalization;
 
function CurrentUser: TidUser;
 
function CheckActiveDomainUserPassword(const APassword: WideString): Boolean;

todo: remove this function

function ImageProcessLimit: Int64;
 
function AutoRotate: Boolean;

do not natively load images over this file size

function RawAutoRotate: Boolean;
 
function IsSupportedImageFile (const AFileName: WideString): Boolean;
 
function IsSupportedNonImageFile (const AFileName: WideString): Boolean;
 
function IsSupportedMusicFile (const AFileName: WideString): Boolean;
 
function IsSaveableImageFile (const AFileName: WideString): Boolean;
 
function BitmapSaveableFilterString: WideString;
 
function EnumJpegsInStream(AStream: TStream; AResult: TxomResources; AStartPos: Int64 = 0): Boolean;
 
procedure ReleaseBitmap (ABitmap: TBitmap);
 
procedure CrossImage (ABitmap: TvxBitmap; AWidth: Integer = 480; AHeight: Integer = 480; const ACaption: WideString = 'error');
 
function CenterText(ACanvas: TCanvas; const s: WideString; ATop: Integer; ARect: TRect): Integer;
 
function CenterTextOnCanvas(ACanvas: TCanvas; ASl: TxomStrings; ATop: Integer; ARect: TRect): Integer;
 
procedure ApplyWatermark (AGraphic: TGraphic; AText: WideString = '');
 
procedure AddWatermark (AGraphic: TGraphic; AWatermark: TGraphic; APosX, APosY: Integer);
 
function NewGraphic (const AFilename: WideString): TGraphic;

function BuildValidFileName (AFileName: WideString): WideString;

function CalculateTextLength (AWidth: Integer; AFont: TFont = nil): Integer;
 
procedure LogRenameRule (AStrings: TxomStrings; const ARule: WideString);

====procedure FindColorInBitmap (ABitmap: TBitmap; AColor: TColor; var AData: tbool2darray; PercTolerance: Integer = 0); ====procedure ReplaceColorFromBitmap (ABitmap, AReplaceBitmap: TBitmap; AData: tbool2darray);

procedure RegisterNonImageFormats;
 
procedure UnRegisterNonImageFormats;
 
function SyncStateToInteger (const AState: TSyncState): Integer;
 
function IntegerToSyncState (AInt: Integer): TSyncState;
 
function StackMarkersToInteger (const AMarkers: TStackMarkers): Integer;
 
function IntegerToStackMarkers (AInt: Integer): TStackMarkers;
 
function RequestPassword (const AID: String; const ACorrectPassword: WideString; const ACaption: WideString; const ASubCaption: WideString = ''): Boolean;
 
function PublicOptions: TOptions;
 
procedure ResetToneCurve (ACurve: TToneCurve);
 
procedure ResetFrameDesign (AFrameDesign: TFrameDesign);
 
procedure ResetEffect (AEffect: TEffectObject);
 
function BuildThumbGUID (const AFileName: WideString; const AMediumType: TMediumType; const AMediumName: WideString; const AMediumSerial: Integer): String;
 
function GroupForEffect(AEffect: TEffect): TEffectGroup;
 
function EffectForRecipeItem (ARi: TRecipeItem): TEffect;
 
function GroupForRecipeItem (ARi: TRecipeItem): TEffectGroup;
 
function SizeForDimension (const ADim: WideString): TSize;
 
function EnumResourcePicture (AResource: TxomResource): TvxBitmap32Gr;
 
function XMPFileMethod: TXMPFileMethod;
 

Types

TIncludeSidecar = (...);
 
Values
  • iscNonSupportedImageFiles
  • iscSupportedImageFiles
TIncludeSidecars = set of TIncludeSidecar;
 
TAreaDetectionType = (...);
 
Values
  • adtNone
  • adtFace
  • adtObject
  • adtLandmark
  • adtText
TOperationCommand = (...);
 
Values
  • cmdUnspecified
  • cmdCopy
  • cmdCut
TSyncStateItem = (...);
 
Values
  • idcsDBXmp
  • idcsCatLabels
  • idcsVersions
TSyncState = set of TSyncStateItem;
 
TColorChannel = (...);
 
Values
  • cccUndetermined
  • cccBW
  • cccRed: primary colors
  • cccGreen
  • cccBlue
TColorChannels = set of TColorChannel;
 
TCaseSetting = (...);
 
Values
  • csAsIs
  • csUpperCase
  • csLowerCase
  • csInitCap
TPeriod = xomPeriods.TPeriod;
 
TDateTimeEditType = (...);
 
Values
  • dteBase
  • dteOriginal
  • dteDigitized
  • dteFile
TDateTimeEditTypes = set of TDateTimeEditType;
 
TDateTimeEditTypeArray = Array[TDateTimeEditType] of TDateTime;
 
TDateTimeEditSetArray = Array of TDateTimeEditSet;
 
TFrameUnit = (...);
 
Values
  • fuPixels
  • fuPercent
TFramingStyle = (...);
 
Values
  • frFit
  • frAdditive
TFramingMethod = (...);
 
Values
  • fmNormal
  • fmRatio
TFrameStyle = (...);
 
Values
  • fsRectangle
  • fsRoundedRectangle
  • fsSquare
  • fsRoundedSquare
  • fsCircle
  • fsEllipse
  • fsRedMask
  • fsOverlayMask
  • fsCustomMask
TFrameTextureStyle = (...);
 
Values
  • ftsTile
  • ftsStretch
TCheckerMode = (...);
 
Values
  • cmAdvanced
  • cmSimple
TFillStyle = (...);
 
Values
  • ffsSolid
  • ffsTexture
  • ffsEffect
  • ffsGradient
TThumbUpdateLevel = (...);
 
Values
  • tulLow
  • tulNormal
  • tulHigh
TDateChangeStyle = (...);
 
Values
  • csSingle
  • csShifted
  • csFileDate
  • csNoDateChange
TRecordingFormat = (...);
 
Values
  • rfNone
  • rfAvi
  • rfGif
  • rfSelfRunning
TTransitionEffectSetting = (...);
 
Values
  • teNone
  • teOne
  • teOneRandom
  • teRandom
TCaptionType = (...);
 
Values
  • ctFileName
  • ctCaption
  • ctDescription
  • ctCaptionDesc
  • ctXMPTitle
  • ctXMPHeadline
  • ctXMPDescription
  • ctExif
  • ctAll
  • ctNone
TMailMethod = (...);
 
Values
  • mmPop3
  • mmImap4
TTransferMethod = (...);
 
Values
  • tmMAPI
  • tmSMTP
  • tmExternal
  • tmFTP
  • tmFolder
  • tmFlickr
  • tmSmugMug
  • tmZenfolio
  • tmPicasa
  • tmFacebook
  • tmIDcloud
  • tmMacOS
  • tmChoose
TResizeSide = (...);
 
Values
  • rsAuto
  • rsWidth
  • rsHeight
TSizeUnit = (...);
 
Values
  • suInch
  • suCm
  • suPixel
  • suPercentage
TCollectionFilter = (...);
 
Values
  • cfNone
  • cfScript
  • cfCatLabel
  • cfCatGroup
  • cfJPGFile
  • cfTIFFile
  • cfRAWFile
  • cfOtherFile
  • cfNoLabel
  • cfAnyLabel
  • cfRedLabel
  • cfYellowLabel
  • cfGreenLabel
  • cfBlueLabel
  • cfPurpleLabel
  • cfNoRating
  • cfAnyRating
  • cf1Rating
  • cf2Rating
  • cf3Rating
  • cf4Rating
  • cf5Rating
  • cfXMPSynced
  • cfNotXMPSynced
  • cfBookmarked
  • cfNotBookmarked
  • cfOnline
  • cfOffline
  • cfCataloged
  • cfNotCataloged
TCollectionFilters = set of TCollectionFilter;
 
TAuthorization = (...);
 
Values
  • auOwner
  • auRead
  • auWrite
  • auDelete
TAuthorizations = set of TAuthorization;
 
TEffect = (...);
 
Values
  • efNone
  • efBrightness
  • efContrast
  • efTones
  • efGamma
  • efHue
  • efHueShift
  • efLighten
  • efFillFlash
  • efDarkenBackground
  • efAutoColorCorrection
  • efEnrichShadow
  • efHighKey
  • efGlamour
  • efEnhContrast
  • efRotateRight
  • efRotateLeft
  • efRotateFree
  • efStraighten
  • efQuickRotateLeft
  • efQuickRotateRight
  • efScript
  • efFlipHorizontal
  • efFlipVertical
  • efCrop
  • efResize
  • efSharpen
  • efDynamicSharpen
  • efAdvancedSharpen
  • efOilPainting
  • efCanvasSize
  • efCanvasSizeRelative
  • efResizeRelative
  • efSmooth
  • efGaussianBlur
  • efGray
  • efSepia
  • efAlphaChannelRemoval
  • efBW
  • efHighlightShadow
  • efSpotHealing
  • efRecipe
  • efRecipeFile
  • efFlattenRecipe
  • efWhiteBalance
  • efWhitePoint
  • efGrayPoint
  • efBlackPoint
  • efDuotone
  • efColorCorrection
  • efICSColors
  • efFrame
  • efCaption
  • efTitle
  • efWatermark
  • efRedEye
  • efCropToRatio
  • efCropToRatio2_3
  • efCropToRatio3_4
  • efCropToRatio9_16
  • efCropToRatio1_1
  • efCropToRatio4_5
  • efCropToRatio5_7
  • efCropToRatioISO
  • efCropToExistingRatio
  • efSaturate
  • efAutoFix
  • efEmboss
  • efPolarize
  • efNegative
  • efAutoLevels
  • efRename
  • efRedate
  • efDetectFaces
  • efDetectObjects
  • efStack
  • efUnstack
  • efOpenAI_Metadata
  • efAIVision_DetectLabels
  • efAIVision_DetectObjects
  • efAIVision_DetectLandmarks
  • efAIVision_DetectText
  • efAIVision_DetectFaces
  • efGEOTag
  • efGEOForwardLookup
  • efGEOReverseLookup
  • efGEOLookupAltitude
  • efGEORemove
  • efGEOGPXTag
  • efIPTC
  • efImportXMP
  • efExportXMP
  • efConvertMetaToXMP
  • efRemoveExif
  • efUpdateExifThumb
  • efConvertFile
  • efSave
  • efLoad
  • efDynamicRange
  • efSoftFocus
  • efAddNoise
  • efFilmGrain
  • efColorFilter
  • efHueMixer
  • efApplyAreas
  • efClarity
  • efExposure
  • efHSL
TEffects = set of TEffect;
 
TEffectGroup = (...);
 
Values
  • egNone
  • egCrop
  • egScale
  • egRotate
  • egStraighten
  • egFlip
  • egFrame
  • egCaptions
  • egTitle
  • egWatermarks
  • egLuminance
  • egColors
  • egToneCurve
  • egSharpen
  • egNoise
  • egHealing
  • egEffects
  • egPresets
  • egRedEye
TEXEOptimize = (...);
 
Values
  • eoSize
  • eoSpeed
TGalleryEvent = procedure (Sender: TObject; AGallery: TImageGallery) of object;
 
TCollectionEvent = procedure (Sender: TObject; ACollection: TImageCollection) of object;
 
TCollectionEvent2 = procedure (Sender: TObject; ACollection: TImageCollection; ASelectedOnly: Boolean) of object;
 
TTransferEvent = procedure (Sender: TObject; ACollection: TImageCollection; ASelectedOnly: Boolean; AMethod: TTransferMethod) of object;
 
TImageEvent = procedure (Sender: TObject; AImageItem: TImageItem) of object;
 
TCommandEvent = procedure (Sender: TObject; ACommand: String; AData: TidElement) of object;
 
TRequestEvent = procedure (Sender: TObject; ARequest: String; var AReply: Variant) of object;
 
TImageItemsEvent = procedure (Sender: TObject; AImages: TImageItems) of object;
 
TPixelUnit = (...);
 
Values
  • puPixel
  • puMegaPixel
TResizeMethod = (...);
 
Values
  • rmLongestSide
  • rmShortestSide
  • rmWidthHeight
  • rmFramed
  • rmMegaPixels
  • rmResolution
  • rmOriginalSize
  • rmCalculate
TConvertToJPG = (...);
 
Values
  • ctjYes
  • ctjNo
  • ctjWhenNeeded
TDrawAreaPart = (...);
 
Values
  • dapFrame
  • dapCaption
  • dapBlurred
TDrawAreaParts = set of TDrawAreaPart;
 
TImageCollectionType = (...);
 
Values
  • ictStandard
  • ictDynamic
TImageCollectionTypes = set of TImageCollectionType;
 
TidUserType = (...);
 
Values
  • utAdmin
  • utUser
  • utActiveDirectory
TidUserTypes = set of TidUserType;
 
TCatalogSelectionBoxPosition = (...);
 
Values
  • csbpInline
  • csbpLeft
TFileDuplicateHandling = (...);
 
Values
  • ddSkip
  • ddOverwrite
  • ddMakeUnique
TOptions = idCatalogDOM.TOptions;
 

Constants

AdminGUID = '{6C0D41E8-8F0C-489A-8904-2741F1FB70BE}';

vxEIPbitmap, vxAvifBitmap, // not working yet for TWindDirection

UninitializedRating = -9999;
 
SmallImageWidth = 480;
 
DownloaderThumbSize = 120;
 
FTPModelFileName = 'imb_ftpmodel.imbftp';
 
cDefaultExt = '.jpg';
 
DefaultTemplateGUID = '{370BE59A-281B-44CA-B57C-00BCD2B7EFC5}';
 
cmdInDelete = 'InDel';
 
MTPTempFileThreshold = 1024*1024*100;
 
AllIncludeSidecars = [iscNonSupportedImageFiles, iscSupportedImageFiles];
 

Variables

ThumbCritical: TxomCriticalSection;

100MB

RenameRulesFile: WideString;
 
PreviewMode: Boolean;
 
TravelMode: Boolean;
 
DoBreak: Boolean;
 
SupportedMusicExtensions: TxomStringList;
 
UnSaveableExtensions: TxomStringList;
 
NonImageExtensions: TxomStringList;
 
ActiveUser: TidUser = nil;
 
ActiveDomainUser: TObject = nil;
 
AllEffects: TEffectObjects = nil;
 
ImageIPTCMapping: TImageMetaMappings = nil;
 
ImageXMPMapping: TImageMetaMappings = nil;
 
PublicThumbSettings: TThumbSizeSettingModel = nil;
 
PublicVerifyOnCopy: Boolean;
 
FullSyncState: TSyncState;
 
ThumbInterpolation: TvxInterpolationFilter;
 
PasswordList: TxomStringList = nil;
 
WatermarksFolder: WideString;
 
UniqueFileNameSettings: TUniqueFileNameSettings = nil;
 
HackedCanonPSSupport: Boolean;
 
SupportedExtensions: TxomStringList = nil;
 
ExcludedSupportedExtensions: TxomStringList = nil;
 
SidecarExtensions: TCustomSidecarExtensions = nil;
 

Generated by PasDoc 0.15.0.