// Borland C++ Builder
// Copyright (c) 1995, 1999 by Borland International
// All rights reserved

// (DO NOT EDIT: machine generated header) 'ImageEn.pas' rev: 5.00

#ifndef ImageEnHPP
#define ImageEnHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <iefft.hpp>	// Pascal unit
#include <hyiedefs.hpp>	// Pascal unit
#include <ImageEnIO.hpp>	// Pascal unit
#include <ImageEnProc.hpp>	// Pascal unit
#include <ImageEnView.hpp>	// Pascal unit
#include <StdCtrls.hpp>	// Pascal unit
#include <Clipbrd.hpp>	// Pascal unit
#include <ExtCtrls.hpp>	// Pascal unit
#include <Dialogs.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Imageen
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TImageEn;
class PASCALIMPLEMENTATION TImageEn : public Imageenview::TImageEnView 
{
	typedef Imageenview::TImageEnView inherited;
	
private:
	void __fastcall SetAutoUndo(bool v);
	bool __fastcall GetAutoUndo(void);
	void __fastcall SetOnProgress(Hyiedefs::TIEProgressEvent v);
	Hyiedefs::TIEProgressEvent __fastcall GetOnProgress(void);
	Imageenproc::TPRPreviewsParams __fastcall GetProcPreviewsParams(void);
	void __fastcall SetProcPreviewsParams(Imageenproc::TPRPreviewsParams v);
	Imageenio::TIOPreviewsParams __fastcall GetIOPreviewsParams(void);
	void __fastcall SetIOPreviewsParams(Imageenio::TIOPreviewsParams v);
	Imageenio::TIOParamsVals* __fastcall GetIOParams(void);
	void __fastcall SetPreviewFont(Graphics::TFont* f);
	Graphics::TFont* __fastcall GetPreviewFont(void);
	Hyiedefs::TMsgLanguage __fastcall GetMsgLanguage(void);
	void __fastcall SetMsgLanguage(Hyiedefs::TMsgLanguage v);
	void __fastcall SetStreamHeaders(bool v);
	bool __fastcall GetStreamHeaders(void);
	void __fastcall SetAborting(bool v);
	bool __fastcall GetAborting(void);
	bool __fastcall GetCanUndo(void);
	Imageenio::TIETWainParams* __fastcall GetTWainParams(void);
	void __fastcall SetOnPreview(Imageenproc::TIEPreviewEvent v);
	Imageenproc::TIEPreviewEvent __fastcall GetOnPreview(void);
	void __fastcall SetOnIOPreview(Imageenio::TIEIOPreviewEvent v);
	Imageenio::TIEIOPreviewEvent __fastcall GetOnIOPreview(void);
	
protected:
	Imageenproc::TImageEnProc* fImageEnProc;
	Imageenio::TImageEnIO* fImageEnIO;
	
public:
	__fastcall virtual TImageEn(Classes::TComponent* Owner);
	__fastcall virtual ~TImageEn(void);
	virtual void __fastcall Assign(Classes::TPersistent* Source);
	void __fastcall AssignIOParams(System::TObject* Source);
	void __fastcall LoadFromStream(Classes::TStream* Stream);
	void __fastcall LoadFromFileFormat(const AnsiString nf, int FileFormat);
	void __fastcall LoadFromStreamFormat(Classes::TStream* Stream, int FileFormat);
	void __fastcall SaveToStream(Classes::TStream* Stream, int FileType);
	void __fastcall SaveToFileJpeg(const AnsiString nf);
	void __fastcall LoadFromFileJpeg(const AnsiString nf);
	int __fastcall LoadFromFileGif(const AnsiString nf);
	void __fastcall SaveToFileGif(const AnsiString nf);
	int __fastcall InsertToFileGif(const AnsiString nf);
	DYNAMIC void __fastcall LoadFromFile(const AnsiString nf);
	DYNAMIC void __fastcall SaveToFile(const AnsiString nf);
	void __fastcall SaveToStreamJpeg(Classes::TStream* Stream);
	void __fastcall LoadFromStreamJpeg(Classes::TStream* Stream);
	int __fastcall LoadFromStreamGif(Classes::TStream* Stream);
	void __fastcall SaveToStreamGif(Classes::TStream* Stream);
	void __fastcall SaveToStreamPCX(Classes::TStream* Stream);
	void __fastcall LoadFromStreamPCX(Classes::TStream* Stream);
	int __fastcall LoadFromFileTIFF(const AnsiString nf);
	int __fastcall LoadFromStreamTIFF(Classes::TStream* Stream);
	void __fastcall SaveToStreamBMP(Classes::TStream* Stream);
	void __fastcall LoadFromStreamBMP(Classes::TStream* Stream);
	void __fastcall SaveToFileBMP(const AnsiString nf);
	void __fastcall LoadFromFileBMP(const AnsiString nf);
	void __fastcall LoadFromFilePCX(const AnsiString nf);
	void __fastcall SaveToFilePCX(const AnsiString nf);
	void __fastcall SaveToStreamTIFF(Classes::TStream* Stream);
	void __fastcall SaveToFileTIFF(const AnsiString nf);
	void __fastcall LoadFromFileICO(const AnsiString nf);
	void __fastcall LoadFromStreamICO(Classes::TStream* Stream);
	void __fastcall LoadFromFileCUR(const AnsiString nf);
	void __fastcall LoadFromStreamCUR(Classes::TStream* Stream);
	void __fastcall LoadFromFilePNG(const AnsiString nf);
	void __fastcall LoadFromStreamPNG(Classes::TStream* Stream);
	void __fastcall SaveToFilePNG(const AnsiString nf);
	void __fastcall SaveToStreamPNG(Classes::TStream* Stream);
	void __fastcall ImportMetafile(const AnsiString nf, int Width, int Height);
	int __fastcall InsertToFileTIFF(const AnsiString nf);
	__property Imageenio::TIOParamsVals* IOParams = {read=GetIOParams};
	__property bool Aborting = {read=GetAborting, write=SetAborting, nodefault};
	DYNAMIC void __fastcall ParamsFromFile(const AnsiString nf);
	DYNAMIC void __fastcall ParamsFromStream(Classes::TStream* Stream);
	DYNAMIC void __fastcall ParamsFromFileFormat(const AnsiString nf, int format);
	DYNAMIC void __fastcall ParamsFromStreamFormat(Classes::TStream* Stream, int format);
	void __fastcall LoadFromFileTGA(const AnsiString nf);
	void __fastcall LoadFromStreamTGA(Classes::TStream* Stream);
	void __fastcall SaveToFileTGA(const AnsiString nf);
	void __fastcall SaveToStreamTGA(Classes::TStream* Stream);
	AnsiString __fastcall ExecuteOpenDialog(AnsiString InitialDir, AnsiString InitialFileName, bool AlwaysAnimate
		);
	AnsiString __fastcall ExecuteSaveDialog(AnsiString InitialDir, AnsiString InitialFileName, bool AlwaysAnimate
		);
	void __fastcall LoadFromFilePXM(const AnsiString nf);
	void __fastcall LoadFromStreamPXM(Classes::TStream* Stream);
	void __fastcall SaveToFilePXM(const AnsiString nf);
	void __fastcall SaveToStreamPXM(Classes::TStream* Stream);
	bool __fastcall Acquire(void);
	void __fastcall SelectAcquireSource(void);
	__property Imageenio::TIETWainParams* TWainParams = {read=GetTWainParams};
	void __fastcall Negative(void);
	void __fastcall HSLvar(int oHue, int oSat, int oLum);
	void __fastcall HSVvar(int oHue, int oSat, int oVal);
	void __fastcall IntensityRGBall(int r, int g, int b);
	void __fastcall Contrast(int vv);
	void __fastcall ApplyFilter(const Imageenproc::TGraphFilter &filter);
	void __fastcall ApplyFilterPreset(Imageenproc::TIEFilterPresets filter);
	void __fastcall ConvertToGray(void);
	void __fastcall ConvertTo(int NumColors);
	void __fastcall CropSel(void);
	void __fastcall CastColorRange(Hyiedefs::TRGB BeginColor, Hyiedefs::TRGB EndColor, Hyiedefs::TRGB CastColor
		);
	void __fastcall Rotate(int fangle, bool antialias);
	void __fastcall Flip(Imageenproc::TFlipDir dir);
	void __fastcall ImageResize(int newWidth, int newHeight);
	void __fastcall Resample(int NewWidth, int NewHeight, Hyiedefs::TResampleFilter FilterType);
	bool __fastcall DoPreviews(Imageenproc::TPreviewEffects pe);
	bool __fastcall DoIOPreviews(Imageenio::TPreviewParams pp);
	HIDESBASE void __fastcall Clear(void);
	void __fastcall ClearSel(void);
	void __fastcall Merge(Graphics::TBitmap* DBitmap, int pcf);
	void __fastcall Threshold(Hyiedefs::TRGB DownLimit, Hyiedefs::TRGB UpLimit, Hyiedefs::TRGB DownVal, 
		Hyiedefs::TRGB UpVal);
	void __fastcall HistEqualize(Hyiedefs::TRGB LoThresh, Hyiedefs::TRGB HiThresh);
	void __fastcall HistAutoEqualize(void);
	void __fastcall BumpMapping(int LightX, int LightY, int LampX, int LampY, int pcf, Hyiedefs::TRGB Color
		);
	void __fastcall Lens(int cx, int cy, int Width, int Height, double Refraction);
	void __fastcall Wave(int amplitude, int wavelength, int phase, bool reflective);
	int __fastcall WriteHiddenText(AnsiString text);
	int __fastcall WriteHiddenData(char * data, int count);
	void __fastcall Maximum(int WindowSize);
	void __fastcall Minimum(int WindowSize);
	void __fastcall Opening(int WindowSize);
	void __fastcall Closing(int WindowSize);
	void __fastcall GetHistogram(Imageenproc::THistogramItem * Hist);
	void __fastcall CalcImagePalette(Hyiedefs::TRGB * Palette, const int Palette_Size, int MaxCol);
	int __fastcall CalcImageNumColors(void);
	Graphics::TBitmap* __fastcall GetHSVChannel(int ch);
	void __fastcall GetHSVChannelAll(Graphics::TBitmap* BitmapH, Graphics::TBitmap* BitmapS, Graphics::TBitmap* 
		BitmapV);
	Graphics::TBitmap* __fastcall GetRGBChannel(int ch);
	void __fastcall GetRGBChannelAll(Graphics::TBitmap* BitmapR, Graphics::TBitmap* BitmapG, Graphics::TBitmap* 
		BitmapB);
	void __fastcall ConvertToBWOrdered(void);
	void __fastcall ConvertToBWThreshold(int Threshold);
	void __fastcall ConvertTo24Bit(void);
	AnsiString __fastcall ReadHiddenText(void);
	int __fastcall ReadHiddenData(char * data, int maxlen);
	int __fastcall GetHiddenDataSpace(void);
	Iefft::TIEFtImage* __fastcall FTCreateImage(Iefft::TIEFtImageType ImageType, int NewWidth, int NewHeight
		);
	void __fastcall FTConvertFrom(Iefft::TIEFtImage* ft);
	void __fastcall FTDisplayFrom(Iefft::TIEFtImage* ft);
	void __fastcall SaveUndo(void);
	void __fastcall ClearUndo(void);
	void __fastcall Undo(void);
	__property bool CanUndo = {read=GetCanUndo, nodefault};
	void __fastcall SelCopyToClip(void);
	void __fastcall CopyToClipboard(void);
	void __fastcall SelPasteFromClipStretch(void);
	void __fastcall PasteFromClipboard(void);
	void __fastcall PointPasteFromClip(int x1, int y1);
	void __fastcall SelCutToClip(void);
	__property Imageenproc::TImageEnProc* ImageEnProc = {read=fImageEnProc};
	__property Imageenio::TImageEnIO* ImageEnIO = {read=fImageEnIO};
	
__published:
	__property bool AutoUndo = {read=GetAutoUndo, write=SetAutoUndo, default=1};
	__property Hyiedefs::TIEProgressEvent OnProgress = {read=GetOnProgress, write=SetOnProgress};
	__property Hyiedefs::TMsgLanguage MsgLanguage = {read=GetMsgLanguage, write=SetMsgLanguage, default=0
		};
	__property Imageenproc::TPRPreviewsParams ProcPreviewsParams = {read=GetProcPreviewsParams, write=SetProcPreviewsParams
		, default=0};
	__property Imageenio::TIOPreviewsParams IOPreviewsParams = {read=GetIOPreviewsParams, write=SetIOPreviewsParams
		, default=0};
	__property Graphics::TFont* PreviewFont = {read=GetPreviewFont, write=SetPreviewFont};
	__property bool StreamHeaders = {read=GetStreamHeaders, write=SetStreamHeaders, default=0};
	__property Imageenproc::TIEPreviewEvent OnPreview = {read=GetOnPreview, write=SetOnPreview};
	__property Imageenio::TIEIOPreviewEvent OnIOPreview = {read=GetOnIOPreview, write=SetOnIOPreview};
public:
		
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TImageEn(HWND ParentWindow) : Imageenview::TImageEnView(
		ParentWindow) { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------

}	/* namespace Imageen */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Imageen;
#endif
#pragma option pop	// -w-
#pragma option pop	// -Vx

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// ImageEn
