// //PatternRepeat ¼öÇà½Ã.. //½ºÅ©·Ñ¹ÙÀÇ ÀÚµ¿À̵¿À» À§ÇØ µ¿½Ã¼öÇà ¾²·¹µå »ý¼º.. //--------------------------------------------------------------------------- #include #pragma hdrstop #include "Cvsthread.h" #include "FullView.h" #include "MainImage.h" #include "Palette.h" #include "PenManager.h" #include "StatusProgress.h" #include "Undo.h" #pragma package(smart_init) //--------------------------------------------------------------------------- // Important: Methods and properties of objects in VCL can only be // used in a method called using Synchronize, for example: // // Synchronize(UpdateCaption); // // where UpdateCaption could look like: // // void __fastcall Cvsthread::UpdateCaption() // { // Form1->Caption = "Updated in a thread"; // } //--------------------------------------------------------------------------- __fastcall Cvsthread::Cvsthread(int X, int Y ) : TThread(false) { //FForm = AForm; spx = X; spy = Y; } //--------------------------------------------------------------------------- void __fastcall Cvsthread::GetSource() { k = ( spx > 0 ) ? 15 : -15; j = ( spy > 0 ) ? 15 : -15; XorY = abs(spx) > abs (spy) ? true : false; } //--------------------------------------------------------------------------- void __fastcall Cvsthread::Execute() { //---- Place thread code here ---- FreeOnTerminate = true; while(!(Terminated || Application->Terminated)) { GetSource(); // ½ºÅ©·Ñ¹Ù À̵¿À» À§ÇÑ °è»ê... MainImageForm->iMainImage->Canvas->Lock(); // ĵ¹ö½ºÀÇ ¶ôÀ» °Ç´Ù. Çѹø¿¡ // ÇÑ ½º·¹µå¸¸ Çã¿ë //if( MainImageForm->sbHorz->Position <= MainImageForm->sbHorz->Max // && MainImageForm->sbHorz->Position >= MainImageForm->sbHorz->Min ) { // if(XorY) { // MainImageForm->sbHorz->Position += k; // MainImageForm->iMainImageChange(); // MainImageForm->iMainImage->PositionX = MainImageForm->sbHorz->Position; // } // } // if ( MainImageForm->sbVert->Position <= MainImageForm->sbVert->Max // && MainImageForm->sbVert->Position >= MainImageForm->sbVert->Min) { // if(!XorY) { if( MainImageForm->sbVert->Position < MainImageForm->sbVert->Max ){ MainImageForm->sbVert->Position += 3; MainImageForm->iMainImageChange(); MainImageForm->iMainImage->PositionY = MainImageForm->sbVert->Position; } // } // } MainImageForm->iMainImage->Canvas->Unlock(); // ĵ¹ö½º¿¡ ¶ôÀ» Ç®¾îÁØ´Ù. } // while block } //---------------------------------------------------------------------------