Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

systray.cpp

Go to the documentation of this file.
00001 /* *************************************************************************************
00002         Writer:         Sebastien Bloc
00003         Copyright:      2003-2004
00004         eMail:          sebastien.bloc@free.fr
00005         URL:            http://mignonsoft.free.fr
00006 
00007         This program is free software; you can redistribute it and/or
00008         modify it under the terms of the GNU General Public License
00009         as published by the Free Software Foundation; either version 2
00010         of the License, or (at your option) any later version.
00011 
00012         This program is distributed in the hope that it will be useful,
00013         but WITHOUT ANY WARRANTY; without even the implied warranty of
00014         MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015         GNU General Public License for more details.
00016         http://www.gnu.org/copyleft/gpl.html
00017 ************************************************************************************* */
00018 
00019 #include <windows.h>
00020 #include "MyMenu.h"
00021 #include "resource.h"
00022 #include "systray.h"
00023 #include "valueEditor.h"
00024 #include "controlEngine.h"
00025 #include "communTools.h"
00026 
00027 extern ControlEngine ce;
00028 
00029 LRESULT WINAPI SysTrayProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
00030 {
00031         static HICON hIcon;
00032         static NOTIFYICONDATA nid;
00033 
00034         const UINT trayId = 1;
00035         const UINT WM_MYTRAY = WM_APP + 1;
00036 
00037         HMENU hMenu;
00038         static CMyMenu menu;
00039         POINT pt;
00040 
00041         switch(message)
00042         {
00043         case WM_MEASUREITEM: menu.MeasureItem((LPMEASUREITEMSTRUCT)lParam); return TRUE;
00044         case WM_DRAWITEM: menu.DrawItem((LPDRAWITEMSTRUCT)lParam); return TRUE;
00045         case WM_CREATE:
00046                 hIcon = (HICON)LoadImage(
00047                         ce.hInst,
00048                         MAKEINTRESOURCE(IDI_ICON_SYSTRAY),
00049                         IMAGE_ICON,
00050                         GetSystemMetrics(SM_CXSMICON),
00051                         GetSystemMetrics(SM_CYSMICON),
00052                         0);
00053 
00054                 if (!hIcon) { ErrorMessage(TRUE, MB_ICONSTOP, NULL); return -1; }
00055 
00056                 ZeroMemory(&nid, sizeof(NOTIFYICONDATA));
00057                 nid.cbSize = sizeof(NOTIFYICONDATA);
00058                 nid.hIcon = hIcon;
00059                 nid.hWnd = hWnd;
00060                 nid.uID = trayId;
00061                 nid.uCallbackMessage = WM_MYTRAY;
00062                 lstrcpy(nid.szTip, TEXT("3D Controls"));
00063                 nid.uFlags = NIF_MESSAGE | NIF_TIP | NIF_ICON;
00064                 Shell_NotifyIcon(NIM_ADD, &nid);
00065                 return 0;
00066 
00067         case WM_QUIT:
00068         case WM_DESTROY:
00069                 Shell_NotifyIcon(NIM_DELETE, &nid);
00070                 PostQuitMessage(0);
00071                 return 0;
00072 
00073         case WM_MYTRAY:
00074                 switch (lParam)
00075                 {
00076                 case WM_RBUTTONDOWN:
00077                         hMenu = LoadMenu(ce.hInst,MAKEINTRESOURCE(IDC_MENU));
00078 
00079                         if(hMenu)
00080                         {
00081                                 hMenu = GetSubMenu(hMenu, 0);
00082                                 menu = hMenu;
00083                                 menu.AddTitle(TITLE_NAME);
00084                                 //InsertMenu(hMenu,0, MF_BYPOSITION | MF_OWNERDRAW | MF_STRING | MF_DISABLED, 0, "ShortCutKey");
00085                                 if(hMenu)
00086                                 {
00087                                         //CheckMenuItem(hMenu,IDM_START,MF_BYCOMMAND | isCheck ? MF_CHECKED : MF_UNCHECKED);
00088                                         GetCursorPos(&pt);
00089                                         SetForegroundWindow(hWnd);
00090                                         TrackPopupMenu(
00091                                                 hMenu,
00092                                                 TPM_RIGHTALIGN | TPM_VCENTERALIGN | TPM_RIGHTBUTTON,
00093                                                 pt.x,pt.y,0,
00094                                                 hWnd,NULL);
00095                                 }
00096                         }
00097                         else ErrorMessage(TRUE, MB_ICONEXCLAMATION, NULL);
00098                         break;
00099 
00100                 case WM_LBUTTONDBLCLK:
00101                         ShowWindow(CreateDialogParam(ce.hInst,MAKEINTRESOURCE(IDD_DEBUG_STRUCT),NULL,(DLGPROC)DebugStructProc,NULL),SW_SHOW);
00102                         break;
00103                 }
00104                 return 0;
00105 
00106         case WM_COMMAND:
00107                 switch(LOWORD(wParam))
00108                 {
00109                 case ID_POPUP_DEBUGER:
00110                         ShowWindow(CreateDialogParam(ce.hInst,MAKEINTRESOURCE(IDD_DEBUG_STRUCT),NULL,(DLGPROC)DebugStructProc,NULL),SW_SHOW);
00111                         return 0;
00112 
00113                 case ID_POPUP_ABOUT:
00114                         DialogBox(ce.hInst,MAKEINTRESOURCE(IDD_ABOUT),NULL,(DLGPROC)AboutProc);
00115                         return 0;
00116 
00117                 case ID_POPUP_HELP:
00118                         MyOpenBrowser(URL_3D_CONTROLS);
00119                         return 0;
00120 
00121                 case ID_POPUP_CONFIG:
00122                         DialogBox(ce.hInst,MAKEINTRESOURCE(IDD_CONFIG),NULL,(DLGPROC)ConfigProc);
00123                         return 0;
00124 
00125                 case ID_POPUP_EXIT:
00126                         PostMessage(hWnd, WM_CLOSE, 0, 0);
00127                         return 0;
00128                 }
00129                 break;
00130         }
00131         return DefWindowProc(hWnd, message, wParam, lParam);
00132 }
00133 
00134 LRESULT WINAPI AboutProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
00135 {
00136         switch (message)
00137         {
00138         case WM_INITDIALOG:
00139                 {
00140                         MyString title;
00141                         title.Format("3D Controls v%s - Copyright 2003-2004",VERSION);
00142                         Static_SetText(GetDlgItem(hWnd,IDC_STATIC_VERSION),title);
00143                 }               
00144                 return TRUE;
00145 
00146         case WM_COMMAND:
00147                 switch (wParam)
00148                 {
00149                 case IDC_BUTTON_MAILME:
00150                         MailTo(MAIL_ADRESS);
00151                         return TRUE;
00152 
00153                 case IDC_BUTTON_URL:
00154                         MyOpenBrowser(URL_3D_CONTROLS);
00155                         return TRUE;
00156 
00157                 case IDC_BUTTON_FORUM:
00158                         MyOpenBrowser(URL_FORUM);
00159                         return TRUE;
00160 
00161                 case IDC_BUTTON_LICENCE:
00162                         MyOpenBrowser(URL_LICENCE);
00163                         return TRUE;
00164 
00165                 case IDOK:
00166                 case IDCANCEL: EndDialog(hWnd, LOWORD(wParam)); return TRUE;
00167                 }
00168         }
00169         return FALSE;
00170 }
00171 
00172 // message custom
00173 #define WM_REFRESH                      WM_USER+1973
00174 #define WM_REFRESH_EDIT         WM_USER+1974
00175 #define WM_REFRESH_SPIN         WM_USER+1975
00176 #define WM_READ_FROM_EDIT       WM_USER+1976
00177 
00178 BOOL SetSpinPos(HWND hWnd,int id,int pos)
00179 {
00180         return (BOOL)SendMessage(GetDlgItem(hWnd,id),UDM_SETPOS32,0,pos);
00181 }
00183 BOOL SetSpinRange(HWND hWnd,int id,int minPos,int maxPos,int delta)
00184 {
00185         return (BOOL)SendMessage(GetDlgItem (hWnd,id), UDM_SETRANGE32,minPos,maxPos);
00186 }
00187 
00188 int GetSpinPos(HWND hWnd)
00189 {
00190         return (BOOL)SendMessage(hWnd,UDM_GETPOS32,0,0);
00191 }
00192 
00193 LRESULT WINAPI ConfigProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
00194 {
00195         static char temp[1024];
00196         HWND hWndCtrl;
00197         /*              
00198                 enableAntiAliasing",&enableAntiAliasing
00199         */
00200         switch (message)
00201         {
00202         case WM_REFRESH_SPIN:
00203                 SetSpinPos(hDlg,IDC_SPIN_FOG_START,(int)ce.fog.start);
00204                 SetSpinPos(hDlg,IDC_SPIN_FOG_END,(int)ce.fog.end);
00205                 SetSpinPos(hDlg,IDC_SPIN_FOG_DENSITY,(int)ce.fog.density);
00206                 SetSpinPos(hDlg,IDC_SPIN_XSIZE,(int)ce.dxWin);
00207                 SetSpinPos(hDlg,IDC_SPIN_YSIZE,(int)ce.dyWin);
00208                 SetSpinPos(hDlg,IDC_SPIN_FRAMERATE,ce.refreshTime);
00209                 SetSpinPos(hDlg,IDC_SPIN_CPU,ce.cpuLimit);
00210                 return TRUE;
00211 
00212         case WM_READ_FROM_EDIT:
00213                 Edit_GetText(GetDlgItem(hDlg,IDC_RICHEDIT_FOG_START),temp,1024);
00214                 sscanf(temp,"%f",&ce.fog.start);
00215                 Edit_GetText(GetDlgItem(hDlg,IDC_RICHEDIT_FOG_END),temp,1024);
00216                 sscanf(temp,"%f",&ce.fog.end);
00217                 Edit_GetText(GetDlgItem(hDlg,IDC_RICHEDIT_FOG_DENSITY),temp,1024);
00218                 sscanf(temp,"%f",&ce.fog.density);
00219                 Edit_GetText(GetDlgItem(hDlg,IDC_RICHEDIT_FRAMERATE),temp,1024);
00220                 sscanf(temp,"%d",&ce.timerRefresh);
00221                 Edit_GetText(GetDlgItem(hDlg,IDC_RICHEDIT_CPU),temp,1024);
00222                 sscanf(temp,"%d",&ce.cpuLimit);
00223                 Edit_GetText(GetDlgItem(hDlg,IDC_RICHEDIT_XSIZE),temp,1024);
00224                 sscanf(temp,"%d",&ce.dxWin);
00225                 Edit_GetText(GetDlgItem(hDlg,IDC_RICHEDIT_YSIZE),temp,1024);
00226                 sscanf(temp,"%d",&ce.dyWin);
00227                 PostMessage(hDlg,WM_REFRESH_SPIN,NULL,NULL);
00228                 return TRUE;
00229 
00230         case WM_REFRESH_EDIT:
00231                 sprintf(temp,"%.2f",ce.fog.start);
00232                 Edit_SetText(GetDlgItem(hDlg,IDC_RICHEDIT_FOG_START),temp);
00233                 sprintf(temp,"%.2f",ce.fog.end);
00234                 Edit_SetText(GetDlgItem(hDlg,IDC_RICHEDIT_FOG_END),temp);
00235                 sprintf(temp,"%.2f",ce.fog.density);
00236                 Edit_SetText(GetDlgItem(hDlg,IDC_RICHEDIT_FOG_DENSITY),temp);
00237                 sprintf(temp,"%d",ce.timerRefresh);
00238                 Edit_SetText(GetDlgItem(hDlg,IDC_RICHEDIT_FRAMERATE),temp);
00239                 sprintf(temp,"%d",ce.cpuLimit);
00240                 Edit_SetText(GetDlgItem(hDlg,IDC_RICHEDIT_CPU),temp);
00241                 sprintf(temp,"%d",ce.dxWin);
00242                 Edit_SetText(GetDlgItem(hDlg,IDC_RICHEDIT_XSIZE),temp);
00243                 sprintf(temp,"%d",ce.dyWin);
00244                 Edit_SetText(GetDlgItem(hDlg,IDC_RICHEDIT_YSIZE),temp);
00245                 return TRUE;
00246 
00247         case WM_REFRESH:
00248                 ComboBox_SetCurSel(GetDlgItem(hDlg,IDC_COMBO_FOG_MODE),ce.fog.GetIndexMode());
00249                 ComboBox_SetCurSel(GetDlgItem(hDlg,IDC_COMBO_POLYGONE_BACK),ce.polygonMode.back);
00250                 ComboBox_SetCurSel(GetDlgItem(hDlg,IDC_COMBO_POLYGONE_FRONT),ce.polygonMode.front);
00251                 Button_SetCheck(GetDlgItem(hDlg,IDC_CHECK_LIGHT),Light::IsLighting());
00252                 Button_SetCheck(GetDlgItem(hDlg,IDC_CHECK_LIGHT0),ce.lights[0].isEnable);
00253                 Button_SetCheck(GetDlgItem(hDlg,IDC_CHECK_LIGHT1),ce.lights[1].isEnable);
00254                 Button_SetCheck(GetDlgItem(hDlg,IDC_CHECK_LIGHT2),ce.lights[2].isEnable);
00255                 Button_SetCheck(GetDlgItem(hDlg,IDC_CHECK_LIGHT0_MOVE),ce.lightsMove[0]);
00256                 Button_SetCheck(GetDlgItem(hDlg,IDC_CHECK_LIGHT1_MOVE),ce.lightsMove[1]);
00257                 Button_SetCheck(GetDlgItem(hDlg,IDC_CHECK_LIGHT2_MOVE),ce.lightsMove[2]);
00258                 Button_SetCheck(GetDlgItem(hDlg,IDC_CHECK_VIEW_BACKGROUND),ce.enableBackGround);
00259                 Button_SetCheck(GetDlgItem(hDlg,IDC_CHECK_VIEW_FPS),ce.enableFPS);
00260                 Button_SetCheck(GetDlgItem(hDlg,IDC_CHECK_VIEW_REPERE),ce.enableRepere);
00261                 Button_SetCheck(GetDlgItem(hDlg,IDC_CHECK_VIEW_INERTIA),ce.enableInertia);
00262                 Button_SetCheck(GetDlgItem(hDlg,IDC_CHECK_MONITOR),ce.monitor.enable);
00263                 Button_SetCheck(GetDlgItem(hDlg,IDC_CHECK_VIEW_LIGHT),ce.enableLightView);
00264                 Button_SetCheck(GetDlgItem(hDlg,IDC_CHECK_VIEW_REGION),ce.screenMain.region.enable);
00265                 Button_SetCheck(GetDlgItem(hDlg,IDC_CHECK_PICKING),ce.enablePicking);
00266                 Button_SetCheck(GetDlgItem(hDlg,IDC_CHECK_FOG),ce.fog.isEnable);
00267                 Button_SetCheck(GetDlgItem(hDlg,IDC_CHECK_TITLED),ce.screenMain.enableTitle);
00268                 Button_SetCheck(GetDlgItem(hDlg,IDC_CHECK_INERTIA),ce.enableViewInertia);
00269                 PostMessage(hDlg,WM_REFRESH_EDIT,NULL,NULL);
00270                 return TRUE;
00271 
00272         case WM_INITDIALOG:
00273                 ce.screenConfig.hWnd=hDlg;
00274                 // config des SPIN
00275                 SetSpinRange(hDlg,IDC_SPIN_FOG_START,-10,10,1);
00276                 SetSpinRange(hDlg,IDC_SPIN_FOG_END,-10,10,1);
00277                 SetSpinRange(hDlg,IDC_SPIN_FOG_DENSITY,-10,10,1);
00278                 SetSpinRange(hDlg,IDC_SPIN_XSIZE,50,1280,50);
00279                 SetSpinRange(hDlg,IDC_SPIN_YSIZE,50,1280,50);
00280                 SetSpinRange(hDlg,IDC_SPIN_FRAMERATE,0,200,5);
00281                 SetSpinRange(hDlg,IDC_SPIN_CPU,10,100,10);
00282 
00283                 // config des combo
00284                 ComboBox_ResetContent(GetDlgItem(hDlg,IDC_COMBO_FOG_MODE));
00285                 ComboBox_AddString(GetDlgItem(hDlg,IDC_COMBO_FOG_MODE),"linear");
00286                 ComboBox_AddString(GetDlgItem(hDlg,IDC_COMBO_FOG_MODE),"exp");
00287                 ComboBox_AddString(GetDlgItem(hDlg,IDC_COMBO_FOG_MODE),"exp˛");
00288 
00289                 ComboBox_ResetContent(GetDlgItem(hDlg,IDC_COMBO_POLYGONE_FRONT));
00290                 ComboBox_AddString(GetDlgItem(hDlg,IDC_COMBO_POLYGONE_FRONT),"fill");
00291                 ComboBox_AddString(GetDlgItem(hDlg,IDC_COMBO_POLYGONE_FRONT),"line");
00292                 ComboBox_AddString(GetDlgItem(hDlg,IDC_COMBO_POLYGONE_FRONT),"dot");
00293                 ComboBox_AddString(GetDlgItem(hDlg,IDC_COMBO_POLYGONE_FRONT),"nothing");
00294 
00295                 ComboBox_ResetContent(GetDlgItem(hDlg,IDC_COMBO_POLYGONE_BACK));
00296                 ComboBox_AddString(GetDlgItem(hDlg,IDC_COMBO_POLYGONE_BACK),"fill");
00297                 ComboBox_AddString(GetDlgItem(hDlg,IDC_COMBO_POLYGONE_BACK),"line");
00298                 ComboBox_AddString(GetDlgItem(hDlg,IDC_COMBO_POLYGONE_BACK),"dot");
00299                 ComboBox_AddString(GetDlgItem(hDlg,IDC_COMBO_POLYGONE_BACK),"nothing");
00300                 PostMessage(hDlg,WM_REFRESH,NULL,NULL);
00301                 PostMessage(hDlg,WM_REFRESH_SPIN,NULL,NULL);
00302 
00303                 return TRUE;
00304 
00305         case WM_VSCROLL: // spin vertical
00306         case WM_HSCROLL: // spin horizontal
00307                 if ((int)LOWORD(wParam) == SB_THUMBPOSITION) 
00308                 {
00309                         int num = GetSpinPos((HWND)lParam);
00310                         switch (GetDlgCtrlID((HWND)lParam))
00311                         {
00312                         case IDC_SPIN_XSIZE: ce.dxWin = num; break;
00313                         case IDC_SPIN_YSIZE: ce.dyWin = num; break;
00314                         case IDC_SPIN_FRAMERATE: ce.refreshTime = num; break;
00315                         case IDC_SPIN_CPU: ce.cpuLimit= num; break;
00316                         case IDC_SPIN_FOG_START: ce.fog.start = (float)num; break;
00317                         case IDC_SPIN_FOG_END: ce.fog.end = (float)num; break;
00318                         case IDC_SPIN_FOG_DENSITY: ce.fog.density = (float)num; break;
00319                         default: return FALSE;
00320                         }
00321                         PostMessage(hDlg,WM_REFRESH_EDIT,NULL,NULL);
00322                         return TRUE;
00323                 }
00324                 break;
00325 
00326         case WM_COMMAND:
00327                 int id;
00328                 id = LOWORD(wParam);
00329                 hWndCtrl = GetDlgItem(hDlg,id);
00330                 switch (id)
00331                 {
00332                         // LIGHT
00333                 case IDC_CHECK_LIGHT: Light::SetLighting(Button_GetCheck(hWndCtrl)); return TRUE;
00334                 case IDC_CHECK_LIGHT0: ce.lights[0].isEnable=Button_GetCheck(hWndCtrl); return TRUE;
00335                 case IDC_CHECK_LIGHT1: ce.lights[1].isEnable=Button_GetCheck(hWndCtrl); return TRUE;
00336                 case IDC_CHECK_LIGHT2: ce.lights[2].isEnable=Button_GetCheck(hWndCtrl); return TRUE;
00337                 case IDC_CHECK_LIGHT0_MOVE: ce.lightsMove[0]=Button_GetCheck(hWndCtrl); return TRUE;
00338                 case IDC_CHECK_LIGHT1_MOVE: ce.lightsMove[1]=Button_GetCheck(hWndCtrl); return TRUE;
00339                 case IDC_CHECK_LIGHT2_MOVE: ce.lightsMove[2]=Button_GetCheck(hWndCtrl); return TRUE;
00340                         // VIEW
00341                 case IDC_CHECK_VIEW_INERTIA: ce.enableViewInertia=Button_GetCheck(hWndCtrl); return TRUE;
00342                 case IDC_CHECK_VIEW_BACKGROUND: ce.enableBackGround=Button_GetCheck(hWndCtrl); return TRUE;
00343                 case IDC_CHECK_VIEW_FPS: ce.enableFPS=Button_GetCheck(hWndCtrl); return TRUE;
00344                 case IDC_CHECK_VIEW_REPERE: ce.enableRepere=Button_GetCheck(hWndCtrl); return TRUE;
00345                 case IDC_CHECK_VIEW_LIGHT: ce.enableLightView=Button_GetCheck(hWndCtrl); return TRUE;
00346                 case IDC_CHECK_VIEW_REGION: ce.screenMain.region.enable=Button_GetCheck(hWndCtrl); return TRUE;
00347                         // PICKING
00348                 case IDC_CHECK_PICKING:ce.enablePicking=Button_GetCheck(hWndCtrl); return TRUE;
00349                 //IDC_STATIC_PICKING_FULL:
00350                 //IDC_STATIC_PICKING_SELECTED:
00351                         // FOG
00352                 case IDC_CHECK_FOG: ce.fog.Enable(Button_GetCheck(hWndCtrl)); return TRUE;
00353                 case IDC_RICHEDIT_FOG_START:  
00354                 case IDC_RICHEDIT_FOG_END: 
00355                 case IDC_RICHEDIT_FOG_DENSITY: 
00356                         PostMessage(hDlg,WM_READ_FROM_EDIT,NULL,NULL); return TRUE;
00357                 case IDC_COMBO_FOG_MODE: //Edit_GetText(hWndCtrl,temp,1024); ce.fog.mode=atof(temp); return TRUE;
00358                         return TRUE;
00359                         // RENDER
00360                 case IDC_COMBO_POLYGONE_FRONT:// ce.polygonMode.front
00361                 case IDC_COMBO_POLYGONE_BACK:// ce.polygonMode.back
00362                         return TRUE;
00363                 case IDC_CHECK_TITLED: ce.screenMain.enableTitle=Button_GetCheck(hWndCtrl); ce.screenMain.Update(TRUE); return TRUE;
00364                 case IDC_RADIO_FULLSCREEN: ce.screenMain.enableFullScreen=TRUE; ce.screenMain.Update(TRUE); return TRUE;
00365                 case IDC_RADIO_CUSTOMSCREEN: ce.screenMain.enableFullScreen=FALSE; ce.screenMain.Update(TRUE); return TRUE;
00366                 case IDC_RICHEDIT_XSIZE:                                                
00367                 case IDC_RICHEDIT_YSIZE:
00368                 case IDC_RICHEDIT_FRAMERATE:
00369                 case IDC_RICHEDIT_CPU:
00370                         PostMessage(hDlg,WM_READ_FROM_EDIT,NULL,NULL); return TRUE;
00371                         return TRUE;
00372                         // TOOLS
00373                 case IDC_CHECK_INERTIA: ce.enableInertia=Button_GetCheck(hWndCtrl); return TRUE;
00374                 case IDC_CHECK_MONITOR: ce.monitor.enable=Button_GetCheck(hWndCtrl); return TRUE;
00375                         // GENERAL
00376                 case IDOK:
00377                 case IDCANCEL: 
00378                         ce.screenConfig.hWnd=NULL;
00379                         EndDialog(hDlg, LOWORD(wParam)); 
00380                         return TRUE;
00381 
00382                 case IDC_BUTTON_DEFAULT:
00383                         ce.lightsMove[0]=DEFAULT_LIGHT_MOVE0;
00384                         ce.lightsMove[1]=DEFAULT_LIGHT_MOVE1;
00385                         ce.lightsMove[2]=DEFAULT_LIGHT_MOVE2;
00386                         ce.lights[0].isEnable=DEFAULT_LIGHT_ENABLE0;
00387                         ce.lights[1].isEnable=DEFAULT_LIGHT_ENABLE1;
00388                         ce.lights[2].isEnable=DEFAULT_LIGHT_ENABLE2;
00389 
00390                         ce.fog.isEnable=DEFAULT_FOG_ENABLE;
00391                         ce.fog.start=DEFAULT_FOG_START;
00392                         ce.fog.end=DEFAULT_FOG_END;
00393                         ce.fog.density=DEFAULT_FOG_DENSITY;
00394                         ce.fog.mode=DEFAULT_FOG_MODE;
00395 
00396                         ce.enableAntiAliasing=DEFAULT_ANTIALIASING;
00397                         ce.enableRepere=DEFAULT_VIEW_REPERE;
00398                         ce.enableLightView=DEFAULT_VIEW_LIGHT;
00399                         ce.enablePicking=DEFAULT_PICKING;
00400                         ce.enableDelta=DEFAULT_DELTA;
00401                         ce.enableBackGround=DEFAULT_VIEW_BACKGROUND;
00402                         ce.enableFPS=DEFAULT_VIEW_FPS;
00403                         ce.enableInertia=DEFAULT_INERTIA;
00404                         ce.monitor.enable=DEFAULT_MONITOR;
00405                         ce.enableViewInertia=DEFAULT_VIEW_INERTIA;
00406 
00407                         ce.screenMain.enableFullScreen=DEFAULT_FULLSCREEN;
00408                         ce.screenMain.enableTitle=DEFAULT_TITLED;
00409                         ce.screenMain.region.enable=DEFAULT_VIEW_REGION;
00410 
00411                         ce.polygonMode.front=DEFAULT_POLYGON_FRONT;
00412                         ce.polygonMode.back=DEFAULT_POLYGON_BACK;
00413 
00414                         ce.dxWin=DEFAULT_XSIZE;
00415                         ce.dyWin=DEFAULT_YSIZE;
00416 
00417                         ce.refreshTime=DEFAULT_TIMER_REFRESH;
00418                         ce.cpuLimit=DEFAULT_CPU_LIMIT;
00419                         PostMessage(hDlg,WM_REFRESH,NULL,NULL);
00420                         PostMessage(hDlg,WM_REFRESH_SPIN,NULL,NULL);
00421                         return TRUE;
00422                 }
00423         }
00424         return FALSE;
00425 }

Generated on Fri Aug 20 19:19:49 2004 for 3d Controls by doxygen 1.3.6