allow win32 window to be resized
This commit is contained in:
		
							parent
							
								
									eb65d1006a
								
							
						
					
					
						commit
						48ee0c06d2
					
				@ -69,6 +69,10 @@ static LRESULT CALLBACK Win32_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LP
 | 
				
			|||||||
  {
 | 
					  {
 | 
				
			||||||
  case WM_CREATE:
 | 
					  case WM_CREATE:
 | 
				
			||||||
    break;
 | 
					    break;
 | 
				
			||||||
 | 
					  case WM_SIZE:
 | 
				
			||||||
 | 
					    Resize_width = LOWORD(lParam);
 | 
				
			||||||
 | 
					    Resize_height = HIWORD(lParam);
 | 
				
			||||||
 | 
					    break;
 | 
				
			||||||
  case WM_CLOSE:
 | 
					  case WM_CLOSE:
 | 
				
			||||||
    Quit_is_required = 1;
 | 
					    Quit_is_required = 1;
 | 
				
			||||||
    break;
 | 
					    break;
 | 
				
			||||||
@ -170,6 +174,7 @@ int Init_Win32(HINSTANCE hInstance, HINSTANCE hPrevInstance)
 | 
				
			|||||||
static int Video_AllocateDib(int width, int height)
 | 
					static int Video_AllocateDib(int width, int height)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	BITMAPINFO *bi;
 | 
						BITMAPINFO *bi;
 | 
				
			||||||
 | 
					  BITMAP bm;
 | 
				
			||||||
	HDC dc;
 | 
						HDC dc;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (Windows_DIB != NULL) {
 | 
						if (Windows_DIB != NULL) {
 | 
				
			||||||
@ -193,23 +198,40 @@ static int Video_AllocateDib(int width, int height)
 | 
				
			|||||||
		return -1;
 | 
							return -1;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	ReleaseDC(NULL, dc);
 | 
						ReleaseDC(NULL, dc);
 | 
				
			||||||
  Windows_DIB_width = width;
 | 
					  if (GetObject(Windows_DIB, sizeof(bm), &bm) > 0)
 | 
				
			||||||
  Windows_DIB_height = height;
 | 
					  {
 | 
				
			||||||
 | 
					    Windows_DIB_width = bm.bmWidthBytes;
 | 
				
			||||||
 | 
					    Windows_DIB_height = bm.bmHeight;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    Windows_DIB_width = width;
 | 
				
			||||||
 | 
					    Windows_DIB_height = height;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
	return 0;
 | 
						return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static void Win32_CreateWindow(int width, int height, int fullscreen)
 | 
					static void Win32_CreateWindow(int width, int height, int fullscreen)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  DWORD style;
 | 
					  DWORD style;
 | 
				
			||||||
 | 
					  RECT r;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	style = WS_CAPTION | WS_MINIMIZEBOX | WS_SYSMENU;
 | 
						style = WS_CAPTION | WS_MINIMIZEBOX | WS_SYSMENU;
 | 
				
			||||||
	/* allow window to be resized */
 | 
						/* allow window to be resized */
 | 
				
			||||||
	style |= WS_THICKFRAME;
 | 
						style |= WS_THICKFRAME;
 | 
				
			||||||
 | 
					  style |= WS_MAXIMIZEBOX;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  r.left = 0;
 | 
				
			||||||
 | 
					  r.top = 0;
 | 
				
			||||||
 | 
					  r.right = width;
 | 
				
			||||||
 | 
					  r.bottom = height;
 | 
				
			||||||
 | 
					  AdjustWindowRect(&r, style, FALSE);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	Win32_hwnd = CreateWindow(TEXT("grafx2"), TEXT("grafx2"), style, CW_USEDEFAULT, CW_USEDEFAULT,
 | 
						Win32_hwnd = CreateWindow(TEXT("grafx2"), TEXT("grafx2"), style, CW_USEDEFAULT, CW_USEDEFAULT,
 | 
				
			||||||
                            width, height, NULL, NULL,
 | 
					                            r.right - r.left, r.bottom - r.top, NULL, NULL,
 | 
				
			||||||
                            GetModuleHandle(NULL), NULL);
 | 
					                            GetModuleHandle(NULL), NULL);
 | 
				
			||||||
	if (Win32_hwnd == NULL) {
 | 
						if (Win32_hwnd == NULL)
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
		Error(ERROR_INIT);
 | 
							Error(ERROR_INIT);
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@ -219,7 +241,8 @@ static void Win32_CreateWindow(int width, int height, int fullscreen)
 | 
				
			|||||||
void GFX2_Set_mode(int *width, int *height, int fullscreen)
 | 
					void GFX2_Set_mode(int *width, int *height, int fullscreen)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  Video_AllocateDib(*width, *height);
 | 
					  Video_AllocateDib(*width, *height);
 | 
				
			||||||
  Win32_CreateWindow(*width, *height, fullscreen);
 | 
					  if (Win32_hwnd == NULL)
 | 
				
			||||||
 | 
					    Win32_CreateWindow(*width, *height, fullscreen);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
byte Get_Screen_pixel(int x, int y)
 | 
					byte Get_Screen_pixel(int x, int y)
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user