From 95be6fb452326b2fc4276e92c617f834aa9c9ef6 Mon Sep 17 00:00:00 2001
From: Rtch90 <ritchie.cunningham@protonmail.com>
Date: Thu, 5 Apr 2012 22:21:03 +0100
Subject: [PATCH] [Add] Handling Fullscreen and windowed mode.

---
 src/Main/GLWindow.cpp | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/Main/GLWindow.cpp b/src/Main/GLWindow.cpp
index 02572e8..97185f0 100644
--- a/src/Main/GLWindow.cpp
+++ b/src/Main/GLWindow.cpp
@@ -142,11 +142,16 @@ bool GLWindow::Create(int width, int height, int bpp, bool fullscreen) {
 													CWBorderPixel | CWColorMap | CWEventMask, &_XSetAttr);
 	string title = "Some GL Demo stuff..";
 	
-	// TODO;
 	if(fullscreen) {
-	  // Some code here..
+	  XWarpPointer(_display, None, _xWindow, 0, 0, 0, 0, 0, 0);
+	  XMapRaised(_display, _xWindow);
+	  XGrabKeyboard(_display, _xWindow, True, GrabModeAsync, GrabModeAsync, CurrentTime);
+	  XGrabPointer(_display, _xWindow, True, ButtonPressMask, GrabModeAsync, GrabModeAsync,
+	  								_xWindow, None, CurrenTime);
 	} else {
-		// Some more code here..
+		Atom wmDelete = XInternAtom(_display, "WM_DELETE_WINDOW", True);
+		XSetWMProtocols(_display, _xWindow, title.c_str(), None, NULL, NULL, 0, NULL);
+		XMapRaised(_display, _xWindow);
 	}
 	
 	XFree(modes);