# HG changeset patch
# User hikaen2@k03
# Date 1358416782 -32400
# Node ID 4332c25c55190db05d0a4dc0910ff3f75bd131b6
# Parent  945b06ed9b49884a74f12d4001eec7443c4d065f
implements --maximized --fullscreen

diff -r 945b06ed9b49 -r 4332c25c5519 src/w32fns.c
--- a/src/w32fns.c	Sun Oct 28 23:10:16 2012 +0900
+++ b/src/w32fns.c	Thu Jan 17 18:59:42 2013 +0900
@@ -3691,9 +3691,15 @@
 
     case WM_EMACS_SETWINDOWPOS:
       {
-	WINDOWPOS * pos = (WINDOWPOS *) wParam;
-	return SetWindowPos (hwnd, pos->hwndInsertAfter,
-			     pos->x, pos->y, pos->cx, pos->cy, pos->flags);
+	WINDOWPLACEMENT wp;
+	GetWindowPlacement (hwnd, &wp);
+	if (wp.showCmd != SW_SHOWMAXIMIZED)
+	  {
+	    WINDOWPOS * pos = (WINDOWPOS *) wParam;
+	    return SetWindowPos (hwnd, pos->hwndInsertAfter,
+				 pos->x, pos->y, pos->cx, pos->cy, pos->flags);
+	  }
+	return 0;
       }
 
     case WM_EMACS_DESTROYWINDOW:
diff -r 945b06ed9b49 -r 4332c25c5519 src/w32term.c
--- a/src/w32term.c	Sun Oct 28 23:10:16 2012 +0900
+++ b/src/w32term.c	Thu Jan 17 18:59:42 2013 +0900
@@ -5385,6 +5385,18 @@
     {
       int width, height, ign;
 
+      if (f->want_fullscreen == FULLSCREEN_MAXIMIZED)
+        {
+          /*  --maximized, -mm */
+          my_show_window (f, FRAME_W32_WINDOW (f), SW_SHOWMAXIMIZED);
+        }
+      else if (f->want_fullscreen == FULLSCREEN_BOTH)
+        {
+          /* --fullscreen, -fs */
+          SetWindowLongPtr(FRAME_W32_WINDOW (f), GWL_STYLE, GetWindowLongPtr(FRAME_W32_WINDOW (f), GWL_STYLE) & ~(WS_CAPTION | WS_BORDER | WS_THICKFRAME));
+          my_show_window(f, FRAME_W32_WINDOW (f), SW_MAXIMIZE);
+        }
+
       x_real_positions (f, &f->left_pos, &f->top_pos);
 
       x_fullscreen_adjust (f, &width, &height, &ign, &ign);
