void CChromaDlg::ShowChromaPreview() { HWND hDlg = GetSafeHwnd(); RECT rMask; HWND hActiveWnd; LPIMAGE lpImage = GetImage(); hActiveWnd = m_pView->GetSafeHwnd(); if (!hActiveWnd) return; lpChromaMask->iMode = ImgGetViewMode(lpImage); ImgSetViewMode(lpImage, VM_SLIME); if (ImgGetMask(lpImage)) ImgGetMaskRect(lpImage, &rMask); else ImgGetSelObjectRect(lpImage, &rMask, NO); File2DispRect(hActiveWnd, &rMask, &rMask); if (Tool.id == IDC_CHROMA) AstralUnionRect(&rMask, &rMask, &rPreview); ImgGetMaskRect(lpImage, &rPreview); File2DispRect(hActiveWnd, &rPreview, &rPreview); SetMaskHook(hActiveWnd, (LPMASKHOOK)lpChromaMask); AstralCursor( IDC_WAIT ); ::InvalidateRect(hActiveWnd, &rMask, FALSE); AstralUpdateWindow(hActiveWnd); ControlEnable(hDlg, IDC_RESET, YES ); AstralCursor(NULL); }
void CMiscPrefPage::HandleOK() { HWND hActiveWnd; LPIMAGE lpImage = NULL; if (hActiveWnd = GetActiveDoc()) lpImage = GetImagePtr(hActiveWnd); if (lpImage && m_MaskTint != Control.MaskTint && ImgGetViewMode(lpImage) == VM_SLIME) { RECT rRect; rRect = GetDisplayPtr(hActiveWnd)->DispRect; AstralToWindowsRect(&rRect); ::InvalidateRect( hActiveWnd, &rRect, FALSE ); } if (!Control.IndependentSettings && Control.IndependentSettings != m_IndependentSettings) SetCommonSettings(); if (Control.UseTablet) { Control.UseTablet = TabletStart(); if (!Control.UseTablet) { LPSTR lp; AstralStr(IDS_NOTABLET, &lp); ::MessageBox(PictPubApp.Get_hWndAstral(), lp, szAppName, MB_ICONHAND | MB_OK | MB_TASKMODAL); } } CPPPropertyPage::HandleOK(); }