Example #1
0
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();
   }
Example #2
0
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;
}
Example #3
0
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;
}
Example #4
0
void ColorClip::Destroy(HWND hWnd)
   {
   for (int i=0; i<NUM_COLORS; i++) {
      ReleaseIColorSwatch(cs[i]);
      cs[i] = NULL;
      }
   }
Example #5
0
void VertexPaint::InitPalettes()
	{
	IColorSwatch* c;
	for (int i=0; i<NUMPALETTES; i++) {
		c = GetIColorSwatch(hPaletteWnd[i]);
		c->SetColor(palColors[i]);
		ReleaseIColorSwatch(c);
		}
	}
Example #6
0
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();
	}
Example #7
0
// *****************************************************************
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();
}
Example #8
0
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;

}
Example #9
0
void SCPUtility::Destroy(HWND hWnd)
{
	ReleaseIColorSwatch(cs);
	cs = NULL;
}
Example #10
0
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;
   }
Example #11
0
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);
      }  
   }