46static BOOL CALLBACK _dialog_proc(HWND hWnd,
UINT message,WPARAM wParam,LPARAM lParam);
59 _VoxelPalette[1] =
RGBClass(128,255,128);
64 ReleaseISpinner(LayerSpin);
74 (DLGPROC) _dialog_proc,
107 GetClientRect(ViewportHWND,&crect);
108 Bitmap =
new SimpleDIBClass(ViewportHWND,Voxel->Get_Width(),Voxel->Get_Height(),_VoxelPalette);
111 LayerSpin = SetupIntSpinner
123 SetCursor(LoadCursor (
NULL, IDC_ARROW));
135 switch (LOWORD(wParam))
140 SetCursor(LoadCursor (
NULL, IDC_WAIT));
152 case CC_SPINNER_CHANGE:
154 switch (LOWORD(wParam) )
158 CurLayer = LayerSpin->GetIVal();
173 GetClientRect(ViewportHWND,&crect);
174 ValidateRect(ViewportHWND,&crect);
183void VoxelDebugWindowClass::update_display(
void)
190 if ((Bitmap ==
NULL) || (Voxel ==
NULL)) {
201 for (j=0; j < Voxel->Get_Height(); j++) {
202 for (i=0; i < Voxel->Get_Width(); i++) {
203 if (Voxel->Is_Solid(i,j,CurLayer)) {
204 Bitmap->Set_Pixel(i,j,1);
212 HDC hdcwindow = GetDC(ViewportHWND);
213 HDC hdcdib = CreateCompatibleDC(hdcwindow);
214 HBITMAP holdbitmap = (HBITMAP)SelectObject(hdcdib, Bitmap->Get_Handle());
217 GetClientRect(ViewportHWND,&crect);
218 int cx = (crect.right - crect.left) / 2;
219 int cy = (crect.bottom - crect.top) / 2;
222 int x1 = 2 * Bitmap->Get_Width();
223 int y1 = 2 * Bitmap->Get_Height();
226 StretchBlt( hdcwindow, x0, y0, x1, y1,
227 hdcdib, 0, 0, Bitmap->Get_Width(), Bitmap->Get_Height(), SRCCOPY);
229 SelectObject(hdcdib, holdbitmap);
231 ReleaseDC(WindowHWND, hdcwindow);
236BOOL CALLBACK _dialog_proc
246 if (message == WM_INITDIALOG) {
251 return window->
Dialog_Proc(hWnd, message, wParam, lParam);
~VoxelDebugWindowClass(void)
bool Dialog_Proc(HWND hWnd, UINT message, WPARAM wParam, LPARAM)
void Display_Window(void)
VoxelDebugWindowClass(VoxelClass *vxl)