www.pudn.com > PtOpenGuiSourceCode.zip > PTx.h
/* This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /*------------------------------------------------------------*/ //--------------------------------------------------------------------------- #ifndef PTxH #define PTxH //--------------------------------------------------------------------------- #include#include #include #include #include #include #include #include #include #include #include #include // Delphi code for WinProg #include "WinProgUnit.hpp" #include #include "UnitPositionSearch.h" typedef struct { double Left; double Top; bool showLastClick; int clickX; int clickY; bool zoomDisplacedAfterClick; // } TFineTuneDiffRect; typedef struct { double Left; double Top; double Right; double Bottom; int angle; // 0 not rotated, 90 } TMainImageRect; class TStr : public TObject { public: AnsiString str; }; typedef int * pint; typedef TCheckBox * pTCheckBox; typedef pTCheckBox * ppTCheckBox; typedef ppTCheckBox * pppTCheckBox; typedef TEdit * pTEdit; typedef pTEdit * ppTEdit; typedef TButton * pTButton; typedef pTButton * ppTButton; const int MaxOptBoxParamCount = 12; enum { Param_invalid = -1, Param_y = 0, Param_p, Param_r, Param_v, Param_a, Param_b, Param_c, Param_d, Param_e, Param_g, Param_t, Param_enable, Param_MAX }; // texts for control point alignment #define Align_BOTH "H+V" #define Align_VER "Ver" #define Align_HOR "Hor" #define Align_LINE "Line" #define Align_L 'L' // short for Line //typedef char * pchar; //--------------------------------------------------------------------------- class TFormMain : public TForm { __published: // IDE-managed Components TTabbedNotebook *TabbedNotebook1; TStringGrid *ImageFiles; TMainMenu *MainMenu1; TMenuItem *File1; TMenuItem *NewProject; TMenuItem *Open1; TMenuItem *CloseProject; TMenuItem *Exit1; TMenuItem *Help1; TPanel *PanelLeft; TPanel *PanelRight; TImage *ImageLeft; TPanel *PanelControlBottom; TOpenDialog *OpenDialogImage; TOpenDialog *OpenDialogProject; TComboBox *ComboBoxLensType; TLabel *LabelLensType; TRadioGroup *RadioGroupHFOV; TGroupBox *GroupBox1; TLabel *Label6; TLabel *Label7; TEdit *EditFoc; TLabel *Label8; TEdit *EditSca; TLabel *Label9; TLabel *Label10; TComboBox *ComboBoxOri; TEdit *EditDeg; TGroupBox *GroupBox2; TLabel *Label1; TLabel *Label2; TLabel *Label3; TEdit *EditA; TEdit *EditB; TEdit *EditC; TGroupBox *GroupBoxShift; TLabel *Label4; TLabel *Label5; TEdit *EditD; TEdit *EditE; TGroupBox *GroupBoxPreview; TImage *ImagePreviewFile; TScrollBar *ScrollBarLH; TScrollBar *ScrollBarLV; TScrollBar *ScrollBarRV; TScrollBar *ScrollBarRH; TImage *ImageRight; TMenuItem *Saveproject1; TTabControl *TabControlL; TTabControl *TabControlR; TStatusBar *StatusBar1; TGroupBox *GroupBoxFiles; TButton *ButtonAddFile; TButton *ButtonRemoveFile; TMemo *MemoProject; TLabel *LabelMemoProject; TSaveDialog *SaveDialogProject; TButton *ButtonReadChangedProject; TButton *ButtonUpdateProjectMemo; TButton *ButtonShowCurrentData; TStringGrid *StringGridCP; TEdit *EditLX; TEdit *EditLY; TEdit *EditRX; TEdit *EditRY; TButton *ButtonAddCP; TButton *ButtonDeleteCP; TImage *ImageLZ; TLabel *LabelLX; TLabel *LabelLY; TLabel *LabelRX; TLabel *LabelRY; TImage *ImageRZ; TLabel *LabelLZ; TLabel *Label14; TLabel *Label15; TButton *ButtonUpdateCP; TComboBox *ComboBoxT; TButton *ButtonOptimize; TButton *ButtonWriteOptimizeScript; TMemo *MemoOptimize; TButton *ButtonReadOptimizeScript; TButton *ButtonSetOptimizedToProject; TLabel *Label19; TMenuItem *Optimize1; TMenuItem *Run1; TMenuItem *Accept1; TButton *ButtonScrollOldData; TButton *ButtonShowEditCoord; TComboBox *ComboBoxZoomSmall; TLabel *Label21; TLabel *LabelRZ; TPopupMenu *PopupMenuOpt; TLabel *Label22; TComboBox *ComboBoxImSelect; TCheckBox *CheckBoxChangeSingleOnly; TButton *ButtonStitch; TMemo *MemoStitchScript; TButton *ButtonWriteStitchScript; TEdit *EditOutputName; TLabel *Label23; TMenuItem *Edit1; TMenuItem *Projectintextformat1; TLabel *Label11; TEdit *EditComment; TMenuItem *About1; TMenuItem *SaveprojectAs1; TMenuItem *View1; TMenuItem *Controlpointtable1; TMenuItem *Optimizationresult1; TTimer *TimerOpt; TCheckBox *CheckBoxBGOpt; TLabel *Label32; TLabel *Label33; TStringGrid *StringGridImageInfo; TPanel *Panel1; TMenuItem *OptimizePop; TMenuItem *LinkPop; TMenuItem *PresetPop; TLabel *Label13; TMenuItem *Equalize1; TLabel *Label31; TComboBox *ComboBoxSetOptimizationParameters; TLabel *Label34; TPanel *Panel2; TLabel *Label35; TLabel *Label36; TGroupBox *GroupBox3; TEdit *EditPH; TLabel *Label27; TEdit *EditPW; TLabel *Label26; TLabel *Label38; TComboBox *ComboBoxPanoFileType; TEdit *EditJpegQ; TLabel *Label39; TCheckBox *CheckBoxProgressiveJpeg; TGroupBox *GroupBox4; TGroupBox *GroupBox5; TLabel *Label28; TEdit *EditPU; TLabel *Label29; TEdit *EditPG; TLabel *Label30; TComboBox *ComboBoxPI; TGroupBox *GroupBox6; TLabel *Label24; TComboBox *ComboBoxPF; TLabel *Label25; TEdit *EditPV; TButton *ButtonGetFovFromOptimization; TMenuItem *Settozero1; TButton *ButtonRunPreviewStitch; TMemo *MemoPreviewScript; TTimer *TimerPreview; TCheckBox *CheckBoxAutoPreviewUpdate; TPanel *Panel3; TComboBox *ComboBoxZoomMain; TGroupBox *GroupBox7; TLabel *Label37; TEdit *EditPreWidth; TLabel *Label40; TEdit *EditPreHeight; TCheckBox *CheckBoxPreHeightPropotional; TGroupBox *GroupBox8; TComboBox *ComboBoxPreInterpolator; TLabel *Label41; TMenuItem *Lastpreviewstitch1; TButton *ButtonEditPreviewScript; TGroupBox *GroupBox9; TLabel *Label42; TEdit *EditExportScale; TButton *ButtonExport; TMenuItem *Hidestatusbar1; TButton *ButtonImageUp; TButton *ButtonImageDown; TLabel *Label44; TEdit *EditImageData; TButton *ButtonUpdateImageData; TButton *ButtonSliceOptimization; TButton *ButtonLoopRun; TEdit *EditLoopChange; TLabel *Label45; TTimer *TimerLoopRun; TLabel *Label46; TEdit *EditMaxLoopTime; TMenuItem *Preview1; TMenuItem *Options1; TMenuItem *AutoOptimize1; TPopupMenu *PopupMenuImage; TMenuItem *Settoeditcoordinates1; TMenuItem *Finetune1; TTimer *TimerMouseMoveInterpolate; TMenuItem *OtherOptions1; TCheckBox *CheckBoxColorCorrectionInUse; TLabel *Label48; TLabel *Label49; TComboBox *ComboBoxColorRef; TComboBox *ComboBoxColorCorrectType; TLabel *Label12; TButton *Button1; TMenuItem *optimizeRow1; TMenuItem *optimizeColumn1; TMenuItem *linkRow1; TMenuItem *linkColumn1; TMenuItem *presetRow1; TMenuItem *presetColumn1; TMenuItem *Finetunecontrolpoint1; TCheckBox *CheckBoxExportRound; TButton *ButtonHideStitchScript; TGroupBox *GroupBoxStitchImageSelection; TMenuItem *Addcontrolpoint1; TMenuItem *Updatecontrolpoint1; TButton *ButtonHideOptimizationScript; TButton *ButtonShowOptimizationScript; TScrollBox *ScrollBoxOptY; TCheckBox *CheckBoxOpt; TScrollBox *ScrollBoxOptP; TScrollBox *ScrollBoxOptR; TScrollBox *ScrollBoxOptA; TScrollBox *ScrollBoxOptB; TScrollBox *ScrollBoxOptC; TScrollBox *ScrollBoxOptV; TScrollBox *ScrollBoxOptD; TScrollBox *ScrollBoxOptE; TScrollBox *ScrollBoxOptG; TScrollBox *ScrollBoxOptT; TCheckBox *CheckBoxLink; TEdit *EditLink; TLabel *Label18; TLabel *Label20; TLabel *Label50; TLabel *Label51; TLabel *Label52; TLabel *Label53; TLabel *Label54; TLabel *Label55; TLabel *Label56; TLabel *Label57; TLabel *Label58; TLabel *Label17; TLabel *Label47; TEdit *EditG; TLabel *Label59; TEdit *EditT; TLabel *Label60; TLabel *Label61; TScrollBox *ScrollBoxUse; TButton *ButtonSetOpt; TButton *ButtonClrOpt; TButton *ButtonSetLink; TButton *ButtonClrLink; TComboBox *ComboBoxSelectReferenceImage; TLabel *Label62; TMenuItem *Preferences1; TCheckBox *CheckBoxEna; TButton *ButtonSetUse; TButton *ButtonClrUse; TLabel *Label63; TGroupBox *GroupBoxActiveStitchImages; TScrollBox *ScrollBoxPreviewImages; TCheckBox *CheckBoxPreviewImage; TScrollBox *ScrollBoxFinalStitchImages; TCheckBox *CheckBoxActiveStitchImage; TLabel *Label64; TLabel *Label65; TButton *ButtonStopLoop; TCheckBox *CheckBoxUseWritten; TCheckBox *CheckBoxPreFeather; TRadioGroup *RadioGroupLineType; TLabel *Label66; TButton *ButtonFineTune; TMenuItem *N1; TMenuItem *Originalangle1; TMenuItem *Rotateleft1; TMenuItem *Rotateright1; TMenuItem *Flip1; TGroupBox *GroupBox10; TButton *ButtonSetOptValZero; TButton *ButtonSetToMemory; TButton *ButtonTakeValuesBack; TButton *ButtonSwapSettings; TButton *ButtonStitchSeparately; void __fastcall FormShow(TObject *Sender); void __fastcall ButtonAddFileClick(TObject *Sender); void __fastcall Exit1Click(TObject *Sender); void __fastcall ScrollBarLHChange(TObject *Sender); void __fastcall ScrollBarLHKeyDown(TObject *Sender, WORD &Key, TShiftState Shift); void __fastcall TabControlLChange(TObject *Sender); void __fastcall Open1Click(TObject *Sender); void __fastcall Saveproject1Click(TObject *Sender); void __fastcall CloseProjectClick(TObject *Sender); void __fastcall FormResize(TObject *Sender); void __fastcall RadioGroupHFOVClick(TObject *Sender); void __fastcall EditDegChange(TObject *Sender); void __fastcall FormCreate(TObject *Sender); void __fastcall FormClose(TObject *Sender, TCloseAction &Action); void __fastcall ButtonRemoveFileClick(TObject *Sender); void __fastcall ButtonReadChangedProjectClick(TObject *Sender); void __fastcall ButtonUpdateProjectMemoClick(TObject *Sender); void __fastcall ButtonShowCurrentDataClick(TObject *Sender); void __fastcall ImageFilesEnter(TObject *Sender); void __fastcall NewProjectClick(TObject *Sender); void __fastcall ImageLeftMouseMove(TObject *Sender, TShiftState Shift, int X, int Y); void __fastcall ImageLeftMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); void __fastcall ImageLZMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); void __fastcall StringGridCPSelectCell(TObject *Sender, int ACol, int ARow, bool &CanSelect); void __fastcall StringGridCPClick(TObject *Sender); void __fastcall StringGridCPDblClick(TObject *Sender); void __fastcall StringGridCPEnter(TObject *Sender); void __fastcall ButtonAddCPClick(TObject *Sender); void __fastcall ComboBoxTExit(TObject *Sender); void __fastcall ButtonOptimizeClick(TObject *Sender); bool __fastcall RunOptimize(TObject *Sender); void __fastcall ButtonWriteOptimizeScriptClick(TObject *Sender); void __fastcall ButtonReadOptimizeScriptClick(TObject *Sender); void __fastcall ButtonSetOptimizedToProjectClick(TObject *Sender); void __fastcall TabbedNotebook1Change(TObject *Sender, int NewTab, bool &AllowChange); void __fastcall Run1Click(TObject *Sender); void __fastcall Accept1Click(TObject *Sender); void __fastcall ImageFilesSelectCell(TObject *Sender, int ACol, int ARow, bool &CanSelect); void __fastcall ButtonScrollOldDataClick(TObject *Sender); void __fastcall ButtonShowEditCoordClick(TObject *Sender); void __fastcall ComboBoxZoomSmallChange(TObject *Sender); void __fastcall ImageLZMouseMove(TObject *Sender, TShiftState Shift, int X, int Y); void __fastcall ComboBoxImSelectEnter(TObject *Sender); void __fastcall ComboBoxImSelectChange(TObject *Sender); void __fastcall EditDegEnter(TObject *Sender); void __fastcall EditFocEnter(TObject *Sender); void __fastcall ComboBoxOriEnter(TObject *Sender); void __fastcall EditScaEnter(TObject *Sender); void __fastcall EditScaExit(TObject *Sender); void __fastcall ComboBoxLensTypeChange(TObject *Sender); void __fastcall ComboBoxLensTypeEnter(TObject *Sender); void __fastcall EditAEnter(TObject *Sender); void __fastcall EditLensEnter(TObject *Sender,bool direct); void __fastcall EditAExit(TObject *Sender); void __fastcall CheckBoxChangeSingleOnlyEnter(TObject *Sender); void __fastcall CheckBoxChangeSingleOnlyClick(TObject *Sender); void __fastcall RadioGroupHFOVEnter(TObject *Sender); void __fastcall ButtonStitchClick(TObject *Sender); void __fastcall ButtonWriteStitchScriptClick(TObject *Sender); void __fastcall EditOutputNameExit(TObject *Sender); void __fastcall EditOutputNameEnter(TObject *Sender); void __fastcall MemoProjectEnter(TObject *Sender); void __fastcall Projectintextformat1Click(TObject *Sender); void __fastcall FormPaint(TObject *Sender); void __fastcall Button1Click(TObject *Sender); void __fastcall About1Click(TObject *Sender); void __fastcall SaveprojectAs1Click(TObject *Sender); void __fastcall ButtonGetFovFromOptimizationClick(TObject *Sender); void __fastcall EditPVChange(TObject *Sender); void __fastcall EditPVEnter(TObject *Sender); void __fastcall ComboBoxPFChange(TObject *Sender); void __fastcall ComboBoxPFEnter(TObject *Sender); void __fastcall Optimizationresult1Click(TObject *Sender); void __fastcall Controlpointtable1Click(TObject *Sender); void __fastcall TimerOptTimer(TObject *Sender); void __fastcall FormCloseQuery(TObject *Sender, bool &CanClose); void __fastcall StringGridImageInfoEnter(TObject *Sender); void __fastcall StringGridImageInfoSelectCell(TObject *Sender, int ACol, int ARow, bool &CanSelect); void __fastcall OptimizePopClick(TObject *Sender); void __fastcall LinkPopClick(TObject *Sender); void __fastcall PresetPopClick(TObject *Sender); void __fastcall Equalize1Click(TObject *Sender); void __fastcall ComboBoxSetOptimizationParametersChange(TObject *Sender); void __fastcall ComboBoxSetOptimizationParametersEnter(TObject *Sender); void __fastcall CheckBoxBGOptEnter(TObject *Sender); void __fastcall CheckBoxBGOptClick(TObject *Sender); void __fastcall ComboBoxPanoFileTypeEnter(TObject *Sender); void __fastcall ComboBoxPanoFileTypeChange(TObject *Sender); void __fastcall EditJpegQEnter(TObject *Sender); void __fastcall EditJpegQChange(TObject *Sender); void __fastcall CheckBoxProgressiveJpegEnter(TObject *Sender); void __fastcall CheckBoxProgressiveJpegClick(TObject *Sender); void __fastcall Settozero1Click(TObject *Sender); void __fastcall ButtonRunPreviewStitchClick(TObject *Sender); void __fastcall TimerPreviewTimer(TObject *Sender); void __fastcall EditPreWidthEnter(TObject *Sender); void __fastcall EditPreWidthExit(TObject *Sender); void __fastcall Lastpreviewstitch1Click(TObject *Sender); void __fastcall ButtonEditPreviewScriptClick(TObject *Sender); void __fastcall EditExportScaleExit(TObject *Sender); void __fastcall EditExportScaleEnter(TObject *Sender); void __fastcall ButtonExportClick(TObject *Sender); void __fastcall ImagePreviewFileProgress(TObject *Sender, TProgressStage Stage, BYTE PercentDone, bool RedrawNow, const TRect &R, const AnsiString Msg); void __fastcall Hidestatusbar1Click(TObject *Sender); void __fastcall ButtonImageUpClick(TObject *Sender); void __fastcall ButtonImageDownClick(TObject *Sender); void __fastcall EditImageDataEnter(TObject *Sender); void __fastcall EditImageDataExit(TObject *Sender); void __fastcall ButtonUpdateImageDataClick(TObject *Sender); void __fastcall EditImageDataChange(TObject *Sender); void __fastcall GroupBoxPreviewClick(TObject *Sender); void __fastcall ButtonSliceOptimizationClick(TObject *Sender); void __fastcall EditLoopChangeExit(TObject *Sender); void __fastcall ButtonLoopRunClick(TObject *Sender); void __fastcall TimerLoopRunTimer(TObject *Sender); void __fastcall EditMaxLoopTimeExit(TObject *Sender); void __fastcall AutoOptimize1Click(TObject *Sender); void __fastcall Settoeditcoordinates1Click(TObject *Sender); void __fastcall Finetune1Click(TObject *Sender); void __fastcall EditLXChange(TObject *Sender); void __fastcall EditLYChange(TObject *Sender); void __fastcall EditRXChange(TObject *Sender); void __fastcall EditRYChange(TObject *Sender); void __fastcall EditCommentChange(TObject *Sender); void __fastcall EditPreWidthChange(TObject *Sender); void __fastcall TimerMouseMoveInterpolateTimer(TObject *Sender); void __fastcall OtherOptions1Click(TObject *Sender); void __fastcall CheckBoxColorCorrectionInUseClick(TObject *Sender); void __fastcall ComboBoxColorRefChange(TObject *Sender); void __fastcall ComboBoxColorRefEnter(TObject *Sender); void __fastcall ComboBoxColorRefExit(TObject *Sender); void __fastcall ComboBoxColorCorrectTypeChange(TObject *Sender); void __fastcall ComboBoxColorCorrectTypeEnter(TObject *Sender); void __fastcall ComboBoxColorCorrectTypeExit(TObject *Sender); void __fastcall CheckBoxColorCorrectionInUseEnter(TObject *Sender); void __fastcall EditLoopChangeEnter(TObject *Sender); void __fastcall optimizeRow1Click(TObject *Sender); void __fastcall optimizeColumn1Click(TObject *Sender); void __fastcall linkRow1Click(TObject *Sender); void __fastcall linkColumn1Click(TObject *Sender); void __fastcall presetRow1Click(TObject *Sender); void __fastcall presetColumn1Click(TObject *Sender); void __fastcall Finetunecontrolpoint1Click(TObject *Sender); void __fastcall ButtonHideStitchScriptClick(TObject *Sender); void __fastcall Addcontrolpoint1Click(TObject *Sender); void __fastcall Updatecontrolpoint1Click(TObject *Sender); void __fastcall ComboBoxZoomMainEnter(TObject *Sender); void __fastcall ButtonHideOptimizationScriptClick(TObject *Sender); void __fastcall ButtonShowOptimizationScriptClick(TObject *Sender); void __fastcall ScrollBoxOptYEnter(TObject *Sender); void __fastcall CheckBoxOptClick(TObject *Sender); void __fastcall FormDestroy(TObject *Sender); void __fastcall CheckBoxOptEnter(TObject *Sender); void __fastcall CheckBoxLinkClick(TObject *Sender); void __fastcall CheckBoxLinkEnter(TObject *Sender); void __fastcall EditLinkChange(TObject *Sender); void __fastcall EditLinkEnter(TObject *Sender); void __fastcall ImageFilesExit(TObject *Sender); void __fastcall ButtonSetOptClick(TObject *Sender); void __fastcall ButtonClrOptClick(TObject *Sender); void __fastcall ButtonSetLinkClick(TObject *Sender); void __fastcall ButtonClrLinkClick(TObject *Sender); void __fastcall ComboBoxSelectReferenceImageEnter(TObject *Sender); void __fastcall ComboBoxSelectReferenceImageChange(TObject *Sender); void __fastcall ComboBoxSelectReferenceImageExit(TObject *Sender); void __fastcall Preferences1Click(TObject *Sender); void __fastcall ButtonSetUseClick(TObject *Sender); void __fastcall ButtonClrUseClick(TObject *Sender); void __fastcall GroupBoxActiveStitchImagesEnter(TObject *Sender); void __fastcall CheckBoxPreviewImageClick(TObject *Sender); void __fastcall ScrollBoxPreviewImagesEnter(TObject *Sender); void __fastcall CheckBoxActiveStitchImageClick(TObject *Sender); void __fastcall ButtonStopLoopClick(TObject *Sender); void __fastcall MemoOptimizeChange(TObject *Sender); void __fastcall StringGridImageInfoGetEditText(TObject *Sender, int ACol, int ARow, AnsiString &Value); void __fastcall StringGridImageInfoSetEditText(TObject *Sender, int ACol, int ARow, const AnsiString Value); void __fastcall RadioGroupLineTypeClick(TObject *Sender); void __fastcall ComboBoxTEnter(TObject *Sender); void __fastcall ImageLeftMouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); void __fastcall ButtonFineTuneClick(TObject *Sender); void __fastcall ScrollBarLHScroll(TObject *Sender, TScrollCode ScrollCode, int &ScrollPos); void __fastcall Originalangle1Click(TObject *Sender); void __fastcall EditPVExit(TObject *Sender); void __fastcall ButtonSetOptValZeroClick(TObject *Sender); void __fastcall ButtonSetToMemoryClick(TObject *Sender); void __fastcall ButtonTakeValuesBackClick(TObject *Sender); void __fastcall ButtonSwapSettingsClick(TObject *Sender); void __fastcall ButtonStitchSeparatelyClick(TObject *Sender); private: // User declarations GuiAlignInfo Fainf; // this contains project information GuiAlignInfo Faopt, // optional, used in optimization Fapre, // preview Fadef; // default settings double FExportScale; TWinProg *FWinProg,*FWinStitchProg,*FWinPreviewProg; int FLastControlPointNrClick; int FLastControlPointRow; GuiControlPoint FEditCpt; int FLastImageInfoCol; int FLastImageInfoRow; int FLastImageClickNr; TRect FLZRect; // small zoom images TRect FRZRect; double FSmallImageZoomRatio,FMainImageZoomRatio; TFineTuneDiffRect FLFineRect, FRFineRect; // used for "trick" when virtual click is made for main images with preset coordinates TMainImageRect FLMIRect, FRMIRect; //TRect FLIRect; // big zoom images //TRect FRIRect; double Faverage_distance,Flast_avg_dist,Fepsilon; int Faverage_sums_count,Floops,FLoopI,FLoopTimeCount; Graphics::TBitmap *FLZmembitmap, *FRZmembitmap; // memory bitmaps Graphics::TBitmap *FLIpbitmap, *FRIpbitmap; // pointers to bitmaps AnsiString FLastNameForOptimizitation; AnsiString FLastNameForPreview; //TCheckBox **FOptY; ppTCheckBox FOpt[MaxOptBoxParamCount]; // all possible parameters ppTCheckBox FLink[MaxOptBoxParamCount]; // all possible parameters ppTEdit FEdit[MaxOptBoxParamCount]; // all possible parameters pTButton FSetOpt[MaxOptBoxParamCount]; // all possible parameters pTButton FClrOpt[MaxOptBoxParamCount]; // all possible parameters pTButton FSetLink[MaxOptBoxParamCount]; // all possible parameters pTButton FClrLink[MaxOptBoxParamCount]; // all possible parameters // stitched images and checkboxes for them int FStitchBoxCount; ppTCheckBox FPreviewStitchBox; ppTCheckBox FFinalStitchBox; //TCheckBox *FOptY[50]; //int *FOptY[50]; //pint FOptY[50]; int FnumImY;//,FRefImNr; // Image reading options bool FOpenImageAtStart; bool FAutoAddEnabled,FAutoUpdateEnabled; void __fastcall WriteOptimizeScriptClick(GuiAlignInfo *ainf); void __fastcall SaveOptimizationScriptClick(GuiAlignInfo *ainf); bool __fastcall SliceOptimization(int i); void __fastcall SetImageToClickCoord(TObject *Sender,TImage* image); bool __fastcall OpenProject(AnsiString projectName); DelayedInterpolateCommandData FDelayedInterpolate[2]; int getCheckBoxParamNr(TWinControl *Sender); TCheckBox *__fastcall getOptBox(int imNr,int paramNr); TCheckBox *__fastcall getLinkBox(int imNr,int paramNr); TEdit *__fastcall getEditBox(int imNr,int paramNr); int __fastcall getOptParamValue(int imNr,int paramNr); void __fastcall setOptParamValue(int imNr,int paramNr,int value); double __fastcall getParamData(int imNr,int paramNr); void __fastcall setParamData(int imNr,int paramNr,double value); AnsiString __fastcall getParamName(int ParamNr); bool __fastcall OpenImageFileInList(int nr); int __fastcall GetCountOfCPLineNr(int lineNr); // Used in ButtonAddCPClick int __fastcall GetNewCPLineNr(void); // Used in ButtonAddCPClick //int __fastcall listCompare(void *a, void *b); public: // User declarations __fastcall TFormMain(TComponent* Owner); void __fastcall DisplayHint(TObject *Sender); // add this line }; //--------------------------------------------------------------------------- extern PACKAGE TFormMain *FormMain; //--------------------------------------------------------------------------- #endif