//--------------------------------------------------------------------- #include "all.h" #include "About.h" //--------------------------------------------------------------------- #pragma resource "*.dfm" TMainForm *MainForm; //--------------------------------------------------------------------- __fastcall TMainForm::TMainForm(TComponent *Owner): TForm(Owner) { m_EnablePreview = TRUE; m_nAutoPalette = 0; m_nOrderedDither = 0; m_nBitonalScaling = 0; m_bPaintWhileLoad = FALSE; m_bTwainStarted = FALSE; m_bIsiStarted = FALSE; m_bLoadCompressed = FALSE ; m_bLoadRotated = FALSE ; m_bPrefPictLoadall = TRUE ; m_bPrefPictLoadall = TRUE ; m_bPrefPictResample = TRUE ; m_bPrefPictResize = FALSE; } //--------------------------------------------------------------------- void __fastcall TMainForm::FormCreate(TObject *Sender) { Application->OnHint = ShowHint; m_LUserBitmap.Twain()->SetWindow(Application->Handle); m_LUserBitmap.Isis()->SetWindow(Application->Handle); m_bTwainAvailable=m_LUserBitmap.Twain()->IsAvailable(); if(m_bTwainAvailable) { APPLICATIONDATA AppData; AppData.hWnd = Application->Handle; AppData.uStructSize = sizeof(AppData); strcpy(AppData.szManufacturerName, ("LEAD Technologies, Inc.")); strcpy(AppData.szAppProductFamily, ("LEAD Test Applications")); strcpy(AppData.szVersionInfo, ("Version 1.0")); strcpy(AppData.szAppName, ("TWAIN Test Application")); m_LUserBitmap.Twain()->InitSession(&AppData); } m_bIsisAvailable =m_LUserBitmap.Isis()->IsAvailable(); LDialogBase::Initialize(DLG_INIT_COLOR); } //--------------------------------------------------------------------- void __fastcall TMainForm::ShowHint(TObject *Sender) { TMDIChild* pActiveMDIChild=(TMDIChild*)ActiveMDIChild; L_CHAR szBuffer[200]; L_UINT uTemp; if(pActiveMDIChild&&((Application->Hint=="MDIChild")||(Application->Hint==""))) { StatusBar->SimplePanel=FALSE; //File Name StatusBar->Panels->Items[0]->Text=pActiveMDIChild->m_LAniWnd.File()->GetFileName(); //W x H, Color Order memset(szBuffer,0,sizeof(szBuffer)); uTemp=(L_UINT)pActiveMDIChild->m_LAniWnd.GetViewPerspective(); wsprintf( szBuffer,"%d X %d, %s", pActiveMDIChild->m_LAniWnd.GetWidth(), pActiveMDIChild->m_LAniWnd.GetHeight(), (LPSTR)(uTemp==TOP_LEFT ? "TOP_LEFT" : uTemp==TOP_RIGHT ? "TOP_RIGHT" : uTemp==BOTTOM_RIGHT ? "BOTTOM_RIGHT" : uTemp==TOP_LEFT90 ? "TOP_LEFT90" : uTemp==TOP_LEFT270 ? "TOP_LEFT270" : "BOTTOM_LEFT") ); StatusBar->Panels->Items[1]->Text=szBuffer; //BPP memset(szBuffer,0,sizeof(szBuffer)); wsprintf(szBuffer,"%d BPP",pActiveMDIChild->m_LAniWnd.GetBitsPerPixel()); StatusBar->Panels->Items[2]->Text=szBuffer; //Zoom memset(szBuffer,0,sizeof(szBuffer)); uTemp=pActiveMDIChild->m_LAniWnd.GetZoomMode(); switch(uTemp) { case ZOOM_NORMAL: wsprintf(szBuffer,"Normal Size"); break ; case ZOOM_FIT: wsprintf(szBuffer,"Fit To Window"); break ; default: wsprintf(szBuffer,"%u%%",pActiveMDIChild->m_LAniWnd.GetZoomPercent()); break; } StatusBar->Panels->Items[3]->Text=szBuffer; //Mem Size memset(szBuffer,0,sizeof(szBuffer)) ; wsprintf(szBuffer,"%lu bytes, MEMORY",pActiveMDIChild->m_LAniWnd.GetMemSize()); StatusBar->Panels->Items[4]->Text=szBuffer; //Caps Lock Key StatusBar->Panels->Items[5]->Text=(::GetKeyState(VK_CAPITAL)&0x01)? "CAPS":""; //Inser Key StatusBar->Panels->Items[6]->Text=(::GetKeyState(VK_INSERT) &0x01)? "INS":""; //Num Lock Key StatusBar->Panels->Items[7]->Text=(::GetKeyState(VK_NUMLOCK)&0x01)? "NUM":""; } else { StatusBar->SimplePanel=TRUE; StatusBar->SimpleText=Application->Hint; } } //--------------------------------------------------------------------- void __fastcall TMainForm::CreateNewWindow(L_CHAR * pCaption,L_INT CreateWindowMode,LBitmap* pLBitmap) { OPENDLGPARAMS FOParm ; OPENFILENAME OpenFileName; m_nCreateWindowMode = CreateWindowMode; switch(m_nCreateWindowMode) { case BITMAP_MODE : memset(m_szFileName,0,sizeof(m_szFileName)); strcpy(m_szFileName,pCaption); m_LUserBitmap.SetHandle(pLBitmap->GetHandle()); break; case NORMAL_MODE : if(!m_LUserBitmap.IsAllocated()) return ; memset(m_szFileName,0,sizeof(m_szFileName)); strcpy(m_szFileName,pCaption); break; case OPEN_MODE: memset ( &FOParm, 0, sizeof(OPENDLGPARAMS)) ; memset ( &OpenFileName, 0, sizeof(OPENFILENAME)) ; OpenFileName.lStructSize = sizeof(OPENFILENAME); OpenFileName.lpstrInitialDir = NULL; OpenFileName.Flags = OFN_EXPLORER; FOParm.uStructSize = sizeof(OPENDLGPARAMS); FOParm.uDlgFlags = DLG_OPEN_ENABLESIZING | DLG_OPEN_SHOW_PROGRESSIVE | DLG_OPEN_USEFILESTAMP | DLG_OPEN_SHOW_MULTIPAGE | DLG_OPEN_SHOW_LOADROTATED | DLG_OPEN_SHOW_LOADCOMPRESSED | DLG_OPEN_SHOW_DELPAGE | DLG_OPEN_SHOW_LOADOPTIONS | DLG_OPEN_SHOW_FILEINFO | DLG_OPEN_SHOW_PDFOPTIONS | DLG_OPEN_SHOW_RASTEROPTIONS | DLG_OPEN_SHOW_VECTOROPTIONS | DLG_OPEN_VIEWTOTALPAGES ; FOParm.bPreviewEnabled = TRUE; m_LUserBitmap.DialogFile()->SetOpenParams(&FOParm) ; m_LUserBitmap.DialogFile()->EnablePreview(m_EnablePreview); m_LUserBitmap.DialogFile()->SetOpenFileName(&OpenFileName) ; m_LUserBitmap.DialogFile()->EnableAutoProcess(TRUE); m_LUserBitmap.DialogFile()->EnableCallBack(FALSE); L_INT nRetCode = m_LUserBitmap.DialogFile()->DoModalOpen(Handle); if(nRetCode!=SUCCESS_DLG_OK) return ; L_UINT uSize=sizeof(m_szFileName); memset(m_szFileName,0,uSize); m_LUserBitmap.GetFileName(m_szFileName,&uSize); break; } //--- create a new MDI child window ---- new TMDIChild(Application); } void __fastcall TMainForm::CreateBitmapListWindow(LPSTR lpCaption,LBitmapList *pLBitmapListSrc) { m_nCreateWindowMode = BITMAPLIST_MODE; m_LBitmapList.SetBitmapList(pLBitmapListSrc); new TMDIChild(Application); } //--------------------------------------------------------------------- //--------------------------------------------------------------------- void __fastcall TMainForm::FileCloseItemClick(TObject *Sender) { if (ActiveMDIChild) ActiveMDIChild->Close(); } //--------------------------------------------------------------------- void __fastcall TMainForm::FileSaveItemClick(TObject *Sender) { //---- save current file (ActiveMDIChild points to the window) ---- } //--------------------------------------------------------------------- void __fastcall TMainForm::FileSaveAsItemClick(TObject *Sender) { //---- save current file under new name ---- } //--------------------------------------------------------------------- void __fastcall TMainForm::FileExitItemClick(TObject *Sender) { Close(); } //--------------------------------------------------------------------- void __fastcall TMainForm::CutItemClick(TObject *Sender) { //---- cut selection to clipboard ---- } //--------------------------------------------------------------------- void __fastcall TMainForm::CopyItemClick(TObject *Sender) { //---- copy selection to clipboard ---- } //--------------------------------------------------------------------- void __fastcall TMainForm::PasteItemClick(TObject *Sender) { //---- paste from clipboard ---- } //--------------------------------------------------------------------- void __fastcall TMainForm::WindowCascadeItemClick(TObject *Sender) { Cascade(); } //--------------------------------------------------------------------- void __fastcall TMainForm::WindowTileItemClick(TObject *Sender) { Tile(); } //--------------------------------------------------------------------- void __fastcall TMainForm::WindowArrangeItemClick(TObject *Sender) { ArrangeIcons(); } //--------------------------------------------------------------------- void __fastcall TMainForm::WindowMinimizeItemClick(TObject *Sender) { int i; //---- Must be done backwards through the MDIChildren array ---- for (i=MDIChildCount-1; i >= 0; i--) MDIChildren[i]->WindowState = wsMinimized; } //--------------------------------------------------------------------- void __fastcall TMainForm::FormDestroy(TObject *Sender) { Screen->OnActiveFormChange = NULL; } //--------------------------------------------------------------------------- void __fastcall TMainForm::HelpAboutItemClick(TObject *Sender) { AboutBox->ShowModal(); } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnOpen(TObject *Sender) { CreateNewWindow(NULL,OPEN_MODE); } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnCaptureScreen(TObject *Sender) { LUserScrCapture* pLUserScreenCapture=(LUserScrCapture*)m_LUserBitmap.ScreenCapture(); pLUserScreenCapture->m_nCaptureType = CAPTURE_FULLSCREEN; pLUserScreenCapture->m_nCaptureNo=0; pLUserScreenCapture->EnableImmediateCapture(TRUE); m_LUserBitmap.ScreenCapture()->CaptureFullScreen(); pLUserScreenCapture->EnableImmediateCapture(FALSE); pLUserScreenCapture->m_nCaptureType=CAPTURE_NONE; } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnCaptureActiveclient(TObject *Sender) { LUserScrCapture* pLUserScreenCapture=(LUserScrCapture*)m_LUserBitmap.ScreenCapture(); pLUserScreenCapture->m_nCaptureType = CAPTURE_ACTIVECLIENT; pLUserScreenCapture->m_nCaptureNo=0; pLUserScreenCapture->EnableImmediateCapture(TRUE); pLUserScreenCapture->CaptureActiveClient(); pLUserScreenCapture->EnableImmediateCapture(FALSE); pLUserScreenCapture->m_nCaptureType=CAPTURE_NONE; } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnCaptureActivewin(TObject *Sender) { LUserScrCapture* pLUserScreenCapture=(LUserScrCapture*)m_LUserBitmap.ScreenCapture(); pLUserScreenCapture->m_nCaptureType = CAPTURE_ACTIVEWINDOW; pLUserScreenCapture->m_nCaptureNo=0; pLUserScreenCapture->EnableImmediateCapture(TRUE); m_LUserBitmap.ScreenCapture()->CaptureActiveWindow(); pLUserScreenCapture->EnableImmediateCapture(FALSE); pLUserScreenCapture->m_nCaptureType=CAPTURE_NONE; } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnCaptureWinundercursor(TObject *Sender) { LUserScrCapture* pLUserScreenCapture=(LUserScrCapture*)m_LUserBitmap.ScreenCapture(); pLUserScreenCapture->m_nCaptureType = CAPTURE_WINDOWUNDERCURSOR; pLUserScreenCapture->m_nCaptureNo=0; pLUserScreenCapture->EnableImmediateCapture(TRUE); m_LUserBitmap.ScreenCapture()->CaptureWindowUnderCursor(); pLUserScreenCapture->EnableImmediateCapture(FALSE); pLUserScreenCapture->m_nCaptureType=CAPTURE_NONE; } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnCaptureMenu(TObject *Sender) { LUserScrCapture* pLUserScreenCapture=(LUserScrCapture*)m_LUserBitmap.ScreenCapture(); pLUserScreenCapture->m_nCaptureType = CAPTURE_MENUUNDERCURSOR; pLUserScreenCapture->m_nCaptureNo=0; pLUserScreenCapture->EnableImmediateCapture(TRUE); m_LUserBitmap.ScreenCapture()->CaptureMenuUnderCursor(); pLUserScreenCapture->EnableImmediateCapture(FALSE); pLUserScreenCapture->m_nCaptureType=CAPTURE_NONE; } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnCaptureObject(TObject *Sender) { LUserScrCapture* pLUserScreenCapture=(LUserScrCapture*)m_LUserBitmap.ScreenCapture(); pLUserScreenCapture->m_nCaptureType = CAPTURE_SELECTEDOBJECT; pLUserScreenCapture->m_nCaptureNo=0; pLUserScreenCapture->EnableImmediateCapture(TRUE); m_LUserBitmap.ScreenCapture()->CaptureSelectedObject(); pLUserScreenCapture->EnableImmediateCapture(FALSE); pLUserScreenCapture->m_nCaptureType=CAPTURE_NONE; } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnCaptureArea(TObject *Sender) { LUserScrCapture* pLUserScreenCapture=(LUserScrCapture*)m_LUserBitmap.ScreenCapture(); pLUserScreenCapture->m_nCaptureType = CAPTURE_SELECTEDAREA; pLUserScreenCapture->m_nCaptureNo=0; pLUserScreenCapture->EnableImmediateCapture(TRUE); pLUserScreenCapture->CaptureArea(); pLUserScreenCapture->EnableImmediateCapture(FALSE); pLUserScreenCapture->m_nCaptureType=CAPTURE_NONE; } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnCaptureMousecursor(TObject *Sender) { LUserScrCapture* pLUserScreenCapture=(LUserScrCapture*)m_LUserBitmap.ScreenCapture(); pLUserScreenCapture->m_nCaptureType = CAPTURE_MOUSECURSOR; pLUserScreenCapture->m_nCaptureNo=0; pLUserScreenCapture->EnableImmediateCapture(TRUE); m_LUserBitmap.ScreenCapture()->CaptureMouseCursor(); pLUserScreenCapture->EnableImmediateCapture(FALSE); pLUserScreenCapture->m_nCaptureType=CAPTURE_NONE; } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnCaptureWallpaper(TObject *Sender) { LUserScrCapture* pLUserScreenCapture=(LUserScrCapture*)m_LUserBitmap.ScreenCapture(); pLUserScreenCapture->m_nCaptureType = CAPTURE_WALLPAPER; pLUserScreenCapture->m_nCaptureNo=0; pLUserScreenCapture->EnableImmediateCapture(TRUE); m_LUserBitmap.ScreenCapture()->CaptureWallpaper(); pLUserScreenCapture->EnableImmediateCapture(FALSE); pLUserScreenCapture->m_nCaptureType=CAPTURE_NONE; } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnCaptureExetree(TObject *Sender) { COLORREF TransparentColor = RGB(0,0,0); LUserScrCapture* pLUserScreenCapture=(LUserScrCapture*)m_LUserBitmap.ScreenCapture(); pLUserScreenCapture->m_nCaptureType = CAPTURE_FROMEXEDLGTREE; pLUserScreenCapture->m_nCaptureNo=0; pLUserScreenCapture->EnableImmediateCapture(TRUE); m_LUserBitmap.ScreenCapture()->CaptureFromEXEDlg(0,&TransparentColor, RESTYPE_BITMAP|RESTYPE_ICON|RESTYPE_CURSOR, LTCAPDLG_TREEVIEW); pLUserScreenCapture->EnableImmediateCapture(FALSE); pLUserScreenCapture->m_nCaptureType=CAPTURE_NONE; } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnCaptureExetabbed(TObject *Sender) { COLORREF TransparentColor = RGB(0,0,0); LUserScrCapture* pLUserScreenCapture=(LUserScrCapture*)m_LUserBitmap.ScreenCapture(); pLUserScreenCapture->m_nCaptureType = CAPTURE_FROMEXEDLGTABBEDVIEW; pLUserScreenCapture->m_nCaptureNo=0; pLUserScreenCapture->EnableImmediateCapture(TRUE); m_LUserBitmap.ScreenCapture()->CaptureFromEXEDlg(0,&TransparentColor, RESTYPE_BITMAP|RESTYPE_ICON|RESTYPE_CURSOR, LTCAPDLG_TABVIEW); pLUserScreenCapture->EnableImmediateCapture(FALSE); pLUserScreenCapture->m_nCaptureType=CAPTURE_NONE; } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnCaptureImmediate(TObject *Sender) { LUserScrCapture* pLUserScreenCapture=(LUserScrCapture*)m_LUserBitmap.ScreenCapture(); pLUserScreenCapture->m_bImmediateCapture = !pLUserScreenCapture->m_bImmediateCapture; } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnCaptureCaptop(TObject *Sender) { m_LUserBitmap.ScreenCapture()->SetCaptureOptionDlg(Handle,0); } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnCaptureAreaop(TObject *Sender) { m_LUserBitmap.ScreenCapture()->CaptureAreaOptionDlg(Handle,0); } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnCaptureObjectop(TObject *Sender) { m_LUserBitmap.ScreenCapture()->CaptureObjectOptionDlg(Handle,0); } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnCaptureStop(TObject *Sender) { LUserScrCapture* pLUserScreenCapture=(LUserScrCapture*)m_LUserBitmap.ScreenCapture(); pLUserScreenCapture->m_nCaptureType=CAPTURE_NONE; m_LUserBitmap.ScreenCapture()->StopCapture(); } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnFileAllError(TObject *Sender) { LBase::DisplayErrorList(Handle); } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnFileLastError(TObject *Sender) { LBase::DisplayErrorFromList(Handle); } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnTwainSelsource(TObject *Sender) { m_LUserBitmap.Twain()->SelectSource(NULL); } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnTwainAcquire(TObject *Sender) { BITMAPHANDLE TwainBtm; m_bTwainStarted = TRUE; memset(&TwainBtm,0,sizeof(BITMAPHANDLE)); m_LUserBitmap.Twain()->EnableCallBack(FALSE); if(m_LUserBitmap.Twain()->Acquire(&TwainBtm, sizeof(BITMAPHANDLE), LTWAIN_SHOW_USER_INTERFACE,NULL)!=SUCCESS) m_LUserBitmap.DisplayErrorFromList(Handle,LEAD_LAST_ERROR); else { m_LUserBitmap.SetHandle(&TwainBtm); CreateNewWindow(" Scan from Twain ",NORMAL_MODE); } m_bTwainStarted = FALSE; } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnIsisSelsource(TObject *Sender) { char szCurScanDriver[255]; memset(szCurScanDriver,0,sizeof(szCurScanDriver)); m_LUserBitmap.Isis()->Select(szCurScanDriver); } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnIsisAcquire(TObject *Sender) { m_bIsiStarted = TRUE; if(m_LUserBitmap.Isis()->Acquire()==SUCCESS) CreateNewWindow(" Scan from Isis ",NORMAL_MODE); else m_LUserBitmap.DisplayErrorFromList(Handle,LEAD_LAST_ERROR); m_bIsiStarted = FALSE; }//--------------------------------------------------------------------------- void __fastcall TMainForm::OnIsisAcquiremulti(TObject *Sender) { LDialogFile dlg; L_CHAR szFileName[255]; OPENDLGPARAMS FOParm ; OPENFILENAME OpenFileName; memset(szFileName,0,sizeof(szFileName)); memset ( &FOParm, 0, sizeof(OPENDLGPARAMS)) ; memset ( &OpenFileName, 0, sizeof(OPENFILENAME)) ; OpenFileName.lStructSize = sizeof(OPENFILENAME); OpenFileName.lpstrInitialDir = NULL; OpenFileName.Flags = OFN_EXPLORER; FOParm.uStructSize = sizeof(OPENDLGPARAMS); FOParm.uDlgFlags = DLG_OPEN_SHOW_MULTIPAGE; FOParm.bPreviewEnabled = TRUE; m_LUserBitmap.DialogFile()->SetOpenParams(&FOParm) ; m_LUserBitmap.DialogFile()->EnablePreview(m_EnablePreview); m_LUserBitmap.DialogFile()->SetOpenFileName(&OpenFileName) ; m_LUserBitmap.DialogFile()->EnableCallBack(FALSE); L_INT nRetCode = m_LUserBitmap.DialogFile()->DoModalOpen(Handle); if(nRetCode!=SUCCESS_DLG_OK) return; dlg.GetFileName(szFileName,sizeof(szFileName)); m_LUserBitmap.Isis()->AcquireMulti(szFileName); } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnEditPaste(TObject *Sender) { if(m_LUserBitmap.IsClipboardReady()) { if(m_LUserBitmap.CopyFromClipboard(Handle)==SUCCESS) CreateNewWindow("Paste",NORMAL_MODE); } } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnPrefPalauto(TObject *Sender) { m_nAutoPalette = 0; LBitmapSettings::SetDisplayMode(DISPLAYMODE_FIXEDPALETTE| DISPLAYMODE_NETSCAPEPALETTE,0); } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnPrefPalfixed(TObject *Sender) { m_nAutoPalette = DISPLAYMODE_FIXEDPALETTE; LBitmapSettings::SetDisplayMode(DISPLAYMODE_FIXEDPALETTE|DISPLAYMODE_NETSCAPEPALETTE, DISPLAYMODE_FIXEDPALETTE); } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnPrefPalnetscape(TObject *Sender) { m_nAutoPalette = DISPLAYMODE_NETSCAPEPALETTE; LBitmapSettings::SetDisplayMode(DISPLAYMODE_FIXEDPALETTE|DISPLAYMODE_NETSCAPEPALETTE, DISPLAYMODE_FIXEDPALETTE|DISPLAYMODE_NETSCAPEPALETTE); } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnPrefDithrordered(TObject *Sender) { m_nOrderedDither = DISPLAYMODE_ORDEREDDITHER; LBitmapSettings::SetDisplayMode(DISPLAYMODE_ORDEREDDITHER,DISPLAYMODE_ORDEREDDITHER); } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnPrefDithrerrdiff(TObject *Sender) { m_nOrderedDither = 0; LBitmapSettings::SetDisplayMode(DISPLAYMODE_ORDEREDDITHER,0); } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnPrefBitnormal(TObject *Sender) { m_nBitonalScaling = 0; LBitmapSettings::SetDisplayMode(DISPLAYMODE_FAVORBLACK|DISPLAYMODE_SCALETOGRAY,0); } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnPrefBitfavor(TObject *Sender) { m_nBitonalScaling = DISPLAYMODE_FAVORBLACK; LBitmapSettings::SetDisplayMode(DISPLAYMODE_FAVORBLACK|DISPLAYMODE_SCALETOGRAY, DISPLAYMODE_FAVORBLACK); } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnPrefBitscalegray(TObject *Sender) { m_nBitonalScaling = DISPLAYMODE_SCALETOGRAY; LBitmapSettings::SetDisplayMode(DISPLAYMODE_SCALETOGRAY|DISPLAYMODE_FAVORBLACK, DISPLAYMODE_SCALETOGRAY); } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnPrefPaintwhileloadNew(TObject *Sender) { m_bPaintWhileLoad = !m_bPaintWhileLoad; } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnPrefLoadcompressed(TObject *Sender) { m_bLoadCompressed = !m_bLoadCompressed ; } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnPrefLoadrotated(TObject *Sender) { m_bLoadRotated = !m_bLoadRotated; } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnPrefPictloadall(TObject *Sender) { m_bPrefPictLoadall = !m_bPrefPictLoadall ; if (m_bPrefPictLoadall) m_uPicturizeFlag |= PICTURIZE_LOADALL ; else m_uPicturizeFlag &= ~PICTURIZE_LOADALL ; } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnPrefPictresize(TObject *Sender) { m_bPrefPictResize = !m_bPrefPictResize ; if (m_bPrefPictResize) m_uPicturizeFlag |= PICTURIZE_RESIZE ; else m_uPicturizeFlag &= ~PICTURIZE_RESIZE ; } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnPrefPictresample(TObject *Sender) { m_bPrefPictResample = !m_bPrefPictResample ; if (m_bPrefPictResample) m_uPicturizeFlag |= PICTURIZE_RESAMPLE ; else m_uPicturizeFlag &= ~PICTURIZE_RESAMPLE ; } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnPrefPreview(TObject *Sender) { m_EnablePreview = !m_EnablePreview; } //--------------------------------------------------------------------------- void __fastcall TMainForm::onUpdateFileShow(TObject *Sender) { MainMenu_ShowAllErrors->Enabled = LBase::GetErrorsNumber(); MainMenu_ShowLastError->Enabled = LBase::GetErrorsNumber(); MainMenu_TWAINSelectsource->Enabled = m_bTwainAvailable; MainMenu_TWAINAcquireMulti->Enabled = (m_bTwainAvailable&&!m_bTwainStarted); MainMenu_ISISSelectSource->Enabled = m_bIsisAvailable; MainMenu_ISISAcquire->Enabled = (m_bIsisAvailable&&!m_bIsiStarted); MainMenu_ISISAcquireMulti->Enabled = (m_bIsisAvailable&&!m_bIsiStarted); // MDIChildCount > 0; // PasteBtn->Enabled = MDIChildCount > 0; } //--------------------------------------------------------------------------- void __fastcall TMainForm::onUpdateEdit(TObject *Sender) { MainMenu_Paste->Enabled = m_LUserBitmap.IsClipboardReady(); } //--------------------------------------------------------------------------- void __fastcall TMainForm::onUpdateCapture(TObject *Sender) { LUserScrCapture* pLUserScreenCapture; pLUserScreenCapture = (LUserScrCapture*)m_LUserBitmap.ScreenCapture(); L_BOOL bIsCaptureActive = pLUserScreenCapture->IsCaptureActive(); MainMenu_FullScreen->Enabled = !bIsCaptureActive; MainMenu_FullScreen->Checked = (pLUserScreenCapture->m_nCaptureType==CAPTURE_FULLSCREEN); MainMenu_ActiveClient->Enabled = !bIsCaptureActive; MainMenu_ActiveClient->Checked = (pLUserScreenCapture->m_nCaptureType==CAPTURE_ACTIVECLIENT); MainMenu_ActiveWindow->Enabled = !bIsCaptureActive; MainMenu_ActiveWindow->Checked = (pLUserScreenCapture->m_nCaptureType==CAPTURE_ACTIVEWINDOW); MainMenu_WindowUnderCursor->Enabled = !bIsCaptureActive; MainMenu_WindowUnderCursor->Checked = (pLUserScreenCapture->m_nCaptureType==CAPTURE_WINDOWUNDERCURSOR); MainMenu_MenuUnderCursor->Enabled = !bIsCaptureActive; MainMenu_MenuUnderCursor->Checked = (pLUserScreenCapture->m_nCaptureType==CAPTURE_MENUUNDERCURSOR); MainMenu_SelectedObject->Enabled = !bIsCaptureActive; MainMenu_SelectedObject->Checked = (pLUserScreenCapture->m_nCaptureType==CAPTURE_SELECTEDOBJECT); MainMenu_SelectedArea->Enabled = !bIsCaptureActive; MainMenu_SelectedArea->Checked = (pLUserScreenCapture->m_nCaptureType==CAPTURE_SELECTEDAREA); MainMenu_MouseCursor->Enabled = !bIsCaptureActive; MainMenu_MouseCursor->Checked = (pLUserScreenCapture->m_nCaptureType==CAPTURE_MOUSECURSOR); MainMenu_Wallpaper->Enabled = !bIsCaptureActive; MainMenu_Wallpaper->Checked = (pLUserScreenCapture->m_nCaptureType==CAPTURE_WALLPAPER); MainMenu_FromExeDialogTree->Enabled = !bIsCaptureActive; MainMenu_FromExeDialogTree->Checked = (pLUserScreenCapture->m_nCaptureType==CAPTURE_FROMEXEDLGTREE); MainMenu_FromExeDialogTabbedView->Enabled = !bIsCaptureActive; MainMenu_FromExeDialogTabbedView->Checked = (pLUserScreenCapture->m_nCaptureType==CAPTURE_FROMEXEDLGTABBEDVIEW); MainMenu_ImmediateCapture->Checked = pLUserScreenCapture->m_bImmediateCapture; MainMenu_CaptureOptions->Enabled = !bIsCaptureActive; MainMenu_AreaOptions->Enabled = !bIsCaptureActive; MainMenu_ObjectOptions->Enabled = !bIsCaptureActive; MainMenu_StopCapture->Enabled = bIsCaptureActive; } //--------------------------------------------------------------------------- void __fastcall TMainForm::onUpdatePreferences(TObject *Sender) { MainMenu_Auto->Checked = (m_nAutoPalette==0); MainMenu_Fixed->Checked = (m_nAutoPalette==DISPLAYMODE_FIXEDPALETTE); MainMenu_UseNetscape->Checked = (m_nAutoPalette==DISPLAYMODE_NETSCAPEPALETTE); MainMenu_Ordered->Checked = (m_nOrderedDither!=0); MainMenu_ErrorDiffusion->Checked = (m_nOrderedDither==0); MainMenu_Normal->Checked = (m_nBitonalScaling==0); MainMenu_FavorBlack->Checked = (m_nBitonalScaling==DISPLAYMODE_FAVORBLACK); MainMenu_ScaleToGray->Checked = (m_nBitonalScaling==DISPLAYMODE_SCALETOGRAY); MainMenu_ForNewWindow->Checked = (m_bPaintWhileLoad!=0); MainMenu_1BitCompressed->Checked = (m_bLoadCompressed!=0); MainMenu_Rotated->Checked = (m_bLoadRotated!=0); MainMenu_LoadAll->Checked = (m_bPrefPictLoadall!=0); MainMenu_Resize->Checked = (m_bPrefPictResize!=0); MainMenu_ShowOpenPreview->Checked = (m_EnablePreview!=0); } //--------------------------------------------------------------------------- void __fastcall TMainForm::OnFileColorMerge(TObject *Sender) { if(ColorMerg->ShowModal()== mrOk) { LBitmap Planes[4]; for(L_INT i = 0; i < 4; i++) { if(ColorMerg->Wnd[i]!=NULL) Planes[i].Copy(ColorMerg->Wnd[i]->m_LAniWnd); } L_INT nRet = m_LUserBitmap.ColorMerge(Planes,sizeof(BITMAPHANDLE),ColorMerg->dwFlags); if(nRet==SUCCESS) CreateNewWindow(" Color Merge ",NORMAL_MODE); } } //--------------------------------------------------------------------------- void __fastcall TMainForm::ToolbarClick(TObject *Sender) { SpeedPanel->Visible=!SpeedPanel->Visible; } //--------------------------------------------------------------------------- void __fastcall TMainForm::StatusBarClick(TObject *Sender) { StatusBar->Visible=!StatusBar->Visible; } //--------------------------------------------------------------------------- void __fastcall TMainForm::MainMenu_ViewClick(TObject *Sender) { MainMenu_Toolbar->Checked=SpeedPanel->Visible; MainMenu_StatusBar->Checked=StatusBar->Visible; } //---------------------------------------------------------------------------