static void SaveColorFile(HWND hWnd,TSTR &name) { MaxSDK::Util::TextFile::Writer file; Interface14 *iface = GetCOREInterface14(); UINT codepage = iface-> DefaultTextSaveCodePage(true); //dll\PaintLayerMod\ColorPaletteTool.cpp :: SaveColorFile, UTF8 allowed, keep to same. if(!file.Open(fname, false, MaxSDK::Util::TextFile::Writer::WRITE_BOM | codepage )){ TSTR buf2 = GetString(IDS_RB_COLORCLIPBOARD); TSTR buf1; buf1.printf(GetString(IDS_RB_CANTOPENFILE),fname); MessageBox(hWnd,buf1,buf2,MB_ICONEXCLAMATION); return; } for (int i=0; i<12; i++) { int r, g, b; IColorSwatch *cs = GetIColorSwatch(GetDlgItem(hWnd,csIDs[i])); COLORREF col = cs->GetColor(); ReleaseIColorSwatch(cs); r = GetRValue(col); g = GetGValue(col); b = GetBValue(col); file.Printf(_T("%d %d %d\n"), r, g, b); } for (int i=0; i<12; i++) { IColorSwatch *cs = GetIColorSwatch(GetDlgItem(hWnd,csIDs[i])); AColor col = cs->GetAColor(); ReleaseIColorSwatch(cs); file.Printf(_T("%f %f %f %f\n"), col.r, col.g, col.b, col.a); } SetupTitle(hWnd,name); file.Close(); }
OrenNayarShaderDlg::~OrenNayarShaderDlg() { HDC hdc = GetDC(hRollup); GetGPort()->RestorePalette(hdc, hOldPal); ReleaseDC(hRollup, hdc); if( pShader ) pShader->SetParamDlg(NULL,0); for (long i=0; i < NMBUTS; i++ ){ ReleaseICustButton( texMBut[i] ); texMBut[i] = NULL; } for (i=0; i<NCOLBOX; i++) if (cs[i]) ReleaseIColorSwatch(cs[i]); // mjm - 5.10.99 ReleaseISpinner(shSpin); ReleaseISpinner(ssSpin); ReleaseISpinner(softSpin); ReleaseISpinner(siSpin); ReleaseISpinner(dlevSpin); ReleaseISpinner(roughSpin); ReleaseISpinner(trSpin); SetWindowLongPtr(hRollup, GWLP_USERDATA, NULL); SetWindowLongPtr(hwHilite, GWLP_USERDATA, NULL); hwHilite = hRollup = NULL; }
StraussShaderDlg::~StraussShaderDlg() { HDC hdc = GetDC(hRollup); GetGPort()->RestorePalette(hdc, hOldPal); ReleaseDC(hRollup, hdc); if( pShader ) pShader->SetParamDlg(NULL,0); for (long i=0; i < NMBUTS; i++ ){ ReleaseICustButton( texMBut[i] ); texMBut[i] = NULL; } for (long i=0; i<STRAUSS_NCOLBOX; i++) if (cs[i]) ReleaseIColorSwatch(cs[i]); // mjm - 5.10.99 ReleaseISpinner(glSpin); ReleaseISpinner(mtSpin); ReleaseISpinner(trSpin); DLSetWindowLongPtr(hRollup, NULL); DLSetWindowLongPtr(hwHilite, NULL); if(pShader){ IRollupWindow* pRollup = pMtlPar->GetMtlEditorRollup(); pShader->SetPanelOpen(pRollup->IsPanelOpen(pRollup->GetPanelIndex(hRollup))); } hwHilite = hRollup = NULL; }
void ColorClip::Destroy(HWND hWnd) { for (int i=0; i<NUM_COLORS; i++) { ReleaseIColorSwatch(cs[i]); cs[i] = NULL; } }
void VertexPaint::InitPalettes() { IColorSwatch* c; for (int i=0; i<NUMPALETTES; i++) { c = GetIColorSwatch(hPaletteWnd[i]); c->SetColor(palColors[i]); ReleaseIColorSwatch(c); } }
void VertexPaint::SavePalettes() { IColorSwatch* c; for (int i=0; i<NUMPALETTES; i++) { c = GetIColorSwatch(hPaletteWnd[i]); palColors[i] = c->GetColor(); ReleaseIColorSwatch(c); } // Save Gradient Palettes. lastGradientColor[0]= iColorGradient[0]->GetColor(); lastGradientColor[1]= iColorGradient[1]->GetColor(); }
// ***************************************************************** void VertexPaint::setEditionType(int editMode) { if(editMode<0) editMode= 0; if(editMode>2) editMode= 2; // backup current Color according to editMode backupCurrentColor(); _EditType= editMode; NotifyDependents(FOREVER, PART_VERTCOLOR, REFMSG_CHANGE); ip->RedrawViews(ip->GetTime()); // Change Color Swatch according to editMode. IColorSwatch* c; for (int i=0; i<NUMPALETTES; i++) { // Change palColors[i]. int val; if(editMode==0) val= i*255 / (4-1); // 0, 85, 170, 255 else val= (i*256+128) / 4; // 32, 96, 160, 224 // Change Addditional Palette colors. if(i>=4) { if(editMode==0) val= 42 + (i-4)*255 / (4-1); // 42, 127, 212 else val= 0; // Phase not used } // Setup Color palColors[i]= RGB(val, val, val); c = GetIColorSwatch(hPaletteWnd[i]); c->SetColor(palColors[i]); ReleaseIColorSwatch(c); } // change current Color according to editMode reloadBkupColor(); }
BOOL ImageFilter_Glow::Control(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam) { switch (message) { case WM_INITDIALOG: CenterWindow(hWnd,GetParent(hWnd)); SetCursor(LoadCursor(NULL,IDC_ARROW)); CheckRadioButton( hWnd, IDC_MTLID_BUTT, IDC_NODEID_BUTT, data.type ); CheckRadioButton( hWnd, IDC_MTLCOLOR_BUTT, IDC_USERCOLOR_BUTT, data.colorsrc ); colorSwatch = GetIColorSwatch( GetDlgItem(hWnd, IDC_COLOR_SWATCH), RGB(data.color.r>>8,data.color.g>>8,data.color.b>>8), GetString(IDS_DB_GLOW_COLOR)); mtlspin = GetISpinner(GetDlgItem(hWnd, IDC_MTLID_SPIN)); mtlspin->LinkToEdit( GetDlgItem(hWnd,IDC_MTLID_EDIT), EDITTYPE_INT ); mtlspin->SetLimits( 0,15, FALSE ); mtlspin->SetValue(data.mtl,FALSE); nodspin = GetISpinner(GetDlgItem(hWnd, IDC_NODEID_SPIN)); nodspin->LinkToEdit( GetDlgItem(hWnd,IDC_NODEID_EDIT), EDITTYPE_INT ); nodspin->SetLimits( 1,65535, FALSE ); nodspin->SetValue(data.node,FALSE); sizespin = GetISpinner(GetDlgItem(hWnd, IDC_SIZE_SPIN)); sizespin->LinkToEdit( GetDlgItem(hWnd,IDC_SIZE_EDIT), EDITTYPE_INT ); sizespin->SetLimits( 1,100, FALSE ); sizespin->SetValue(data.size,FALSE); HandleInputs(hWnd); return 1; case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_MTLID_BUTT: case IDC_NODEID_BUTT: case IDC_MTLCOLOR_BUTT: case IDC_USERCOLOR_BUTT: HandleInputs(hWnd); break; case IDOK: data.type= (IsDlgButtonChecked(hWnd,IDC_MTLID_BUTT) ? IDC_MTLID_BUTT : IDC_NODEID_BUTT); data.mtl= mtlspin->GetIVal(); data.node= nodspin->GetIVal(); data.size= sizespin->GetIVal(); data.colorsrc= (IsDlgButtonChecked(hWnd, IDC_MTLCOLOR_BUTT) ? IDC_MTLCOLOR_BUTT : IDC_USERCOLOR_BUTT); colorref = colorSwatch->GetColor(); data.color.r = GetRValue(colorref)<<8|0xFF; data.color.g = GetGValue(colorref)<<8|0xFF; data.color.b = GetBValue(colorref)<<8|0xFF; EndDialog(hWnd,1); break; case IDCANCEL: EndDialog(hWnd,0); break; } return 1; case WM_DESTROY: if (mtlspin) { ReleaseISpinner(mtlspin); mtlspin = NULL; } if (nodspin) { ReleaseISpinner(nodspin); nodspin = NULL; } if (sizespin) { ReleaseISpinner(sizespin); sizespin = NULL; } if (colorSwatch) { ReleaseIColorSwatch(colorSwatch); colorSwatch = NULL; } break; } return 0; }
void SCPUtility::Destroy(HWND hWnd) { ReleaseIColorSwatch(cs); cs = NULL; }
static INT_PTR CALLBACK ColorClipFloaterDlgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_INITDIALOG: { SetWindowContextHelpId(hWnd, idh_colorclip_floater); CenterWindow(hWnd,GetParent(hWnd)); Color color(0.5f,0.5f,0.5f); for (int i=0; i<NUM_FLOAT_COLORS; i++) { TSTR name; name.printf(GetString(IDS_RB_COLORNUM),i); IColorSwatch *cs = GetIColorSwatch( GetDlgItem(hWnd,csIDs[i]),color,name); cs->SetUseAlpha(TRUE); ReleaseIColorSwatch(cs); } break; } case WM_SYSCOMMAND: if ((wParam & 0xfff0) == SC_CONTEXTHELP) { MaxSDK::IHelpSystem::GetInstance()->ShowProductHelpForTopic(idh_colorclip_floater); } return FALSE; case WM_DESTROY: { TSTR *fileName = DLGetWindowLongPtr<TSTR*>(hWnd); delete fileName; break; } case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_COLOR_LOAD: LoadColorFile(hWnd); break; case IDC_COLOR_SAVE: { TSTR *fileName = DLGetWindowLongPtr<TSTR*>(hWnd); if (fileName) SaveColorFile(hWnd,*fileName); else SaveAsColorFile(hWnd); break; } case IDC_COLOR_SAVEAS: SaveAsColorFile(hWnd); break; case IDOK: case IDCANCEL: DestroyWindow(hWnd); break; } break; default: return FALSE; } return TRUE; }
static void LoadColorFile(HWND hWnd) { // RB 10/15/2000: Init directory string if (fdir[0]==_T('\0')) { _tcscpy(fdir, GetCOREInterface()->GetDir(APP_IMAGE_DIR)); } OPENFILENAME ofn; memset(&ofn,0,sizeof(ofn)); FilterList fl; fl.Append(GetString(IDS_RB_COLORCLIPFILES)); fl.Append(_T("*.ccb")); TSTR title = GetString(IDS_RB_LOADCOLOR); ofn.lStructSize = sizeof(OPENFILENAME); // No OFN_ENABLEHOOK ofn.hwndOwner = hWnd; ofn.lpstrFilter = fl; ofn.lpstrFile = fname; ofn.nMaxFile = 256; ofn.lpstrInitialDir = fdir; ofn.Flags = OFN_HIDEREADONLY|OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST; ofn.FlagsEx = OFN_EX_NOPLACESBAR; ofn.lpstrDefExt = _T("ccb"); ofn.lpstrTitle = title; if (GetOpenFileName(&ofn)) { MaxSDK::Util::TextFile::Reader file; if(!file.Open(fname)) { TSTR buf2 = GetString(IDS_RB_COLORCLIPBOARD); TSTR buf1; buf1.printf(GetString(IDS_RB_CANTOPENFILE),fname); MessageBox(hWnd,buf1,buf2,MB_ICONEXCLAMATION); return; } TSTR colorLine; // pre-R6 for (int i=0; i<12; i++) { int r, g, b; colorLine = file.ReadLine(); if(EOF == _stscanf(colorLine, _T("%d %d %d\n"), &r, &g, &b)) break; Color color(float(r)/255.0f,float(g)/255.0f,float(b)/255.0f); TSTR name; name.printf(GetString(IDS_RB_COLORNUM),i); IColorSwatch *cs = GetIColorSwatch(GetDlgItem(hWnd,csIDs[i]),color,name); ReleaseIColorSwatch(cs); } // post-R6 for (int i=0; i<12; i++) { float r, g, b, a; colorLine = file.ReadLine(); if(EOF == _stscanf(colorLine, _T("%f %f %f %f\n"),&r, &g, &b, &a)) break; AColor color(r,g,b,a); TSTR name; name.printf(GetString(IDS_RB_COLORNUM),i); IColorSwatch *cs = GetIColorSwatch(GetDlgItem(hWnd,csIDs[i]),color,name); ReleaseIColorSwatch(cs); } file.Close(); TSTR *fileName = DLGetWindowLongPtr<TSTR*>(hWnd); delete fileName; fileName = new TSTR(fname); DLSetWindowLongPtr(hWnd, fileName); SetupTitle(hWnd,*fileName); } }