public override void Initialize()
        {
            var gameBounds = Game.GraphicsDevice.PresentationParameters.Bounds;

            if (string.IsNullOrEmpty(mBaseDir) || Directory.Exists(mBaseDir) == false)
            {
                mBaseDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName);
            }

            System.Diagnostics.Debug.WriteLine("Current bounds: {0}", gameBounds);
            mAwesomium.Initialize(Game.GraphicsDevice, gameBounds.Width, gameBounds.Height, mBaseDir);

            InputSystem.Initialize(Game.Window);
            InputSystem.CharEntered    += OnAwesomiumCharEnteredHandler;
            InputSystem.KeyUp          += OnAwesomiumKeyUpHandler;
            InputSystem.FullKeyHandler += OnAwesomiumFullKeyHandler;
            InputSystem.MouseMove      += OnAwesomiumMouseMoveHandler;
            InputSystem.MouseDown      += OnAwesomiumMouseDownHandler;
            InputSystem.MouseUp        += OnAwesomiumMouseUpHandler;

            // We have to update our render surface to the new bounds
            Game.Window.ClientSizeChanged += delegate(object sender, EventArgs args) {
                gameBounds = Game.GraphicsDevice.PresentationParameters.Bounds;
                // EDIT: Failed.. try to recreate it

                mAwesomium = new AwesomiumComponent(mLogger);
                mAwesomium.Initialize(Game.GraphicsDevice, gameBounds.Width, gameBounds.Height, mBaseDir);

                System.Diagnostics.Debug.WriteLine("New bounds: {0}", gameBounds);
            };

            base.Initialize();
        }
		public override void Initialize() {
			var gameBounds = Game.GraphicsDevice.PresentationParameters.Bounds;
			if (string.IsNullOrEmpty(mBaseDir) || Directory.Exists(mBaseDir) == false) {
				mBaseDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName);
			}

			System.Diagnostics.Debug.WriteLine("Current bounds: {0}", gameBounds);
			mAwesomium.Initialize(Game.GraphicsDevice, gameBounds.Width, gameBounds.Height, mBaseDir);

			InputSystem.Initialize(Game.Window);
			InputSystem.CharEntered += OnAwesomiumCharEnteredHandler;
			InputSystem.KeyUp += OnAwesomiumKeyUpHandler;
			InputSystem.FullKeyHandler += OnAwesomiumFullKeyHandler;
			InputSystem.MouseMove += OnAwesomiumMouseMoveHandler;
			InputSystem.MouseDown += OnAwesomiumMouseDownHandler;
			InputSystem.MouseUp += OnAwesomiumMouseUpHandler;

			// We have to update our render surface to the new bounds
			Game.Window.ClientSizeChanged += delegate(object sender, EventArgs args) {
				gameBounds = Game.GraphicsDevice.PresentationParameters.Bounds;
				// EDIT: Failed.. try to recreate it

				mAwesomium = new AwesomiumComponent(mLogger);
				mAwesomium.Initialize(Game.GraphicsDevice, gameBounds.Width, gameBounds.Height, mBaseDir);
				
				System.Diagnostics.Debug.WriteLine("New bounds: {0}", gameBounds);
			};

			base.Initialize();
		}
 public AwesomiumGameComponent(Game game, string baseDir, log4net.ILog logger)
     : base(game)
 {
     mBaseDir   = baseDir;
     mLogger    = logger;
     mAwesomium = new AwesomiumComponent(logger);
 }
		public AwesomiumGameComponent(Game game, string baseDir, log4net.ILog logger)
			: base(game) {
			mBaseDir = baseDir;
			mLogger = logger;
			mAwesomium = new AwesomiumComponent(logger);
		}