Axiom.RenderSystems.OpenGLES.IPhone.IPhoneWindow.Create C# (CSharp) Method

Create() public method

public Create ( string name, int width, int height, bool fullScreen, Collections miscParams ) : void
name string
width int
height int
fullScreen bool
miscParams Collections
return void
		public override void Create( string name, int width, int height, bool fullScreen, Collections.NamedParameterList miscParams )
		{
			string title = name;
			bool vsync = false;
			int depthBuffer = GraphicsMode.Default.Depth;
			float displayFrequency = 60f;
			string border = "resizable";

			this.Name = name;
			this.Width = width;
			this.Height = height;
			this.ColorDepth = 32;
			this.IsFullScreen = fullScreen;

			#region Parameter Handling

			if ( miscParams != null )
			{
				foreach ( var entry in miscParams )
				{
					switch ( entry.Key )
					{
						case "title":
							title = entry.Value.ToString();
							break;
						case "left":
							left = Int32.Parse( entry.Value.ToString() );
							break;
						case "top":
							top = Int32.Parse( entry.Value.ToString() );
							break;
						case "fsaa":
							FSAA = Int32.Parse( entry.Value.ToString() );
							break;
						case "colourDepth":
						case "colorDepth":
							ColorDepth = Int32.Parse( entry.Value.ToString() );
							break;
						case "vsync":
							vsync = entry.Value.ToString() == "No" ? false : true;
							break;
						case "displayFrequency":
							displayFrequency = Int32.Parse( entry.Value.ToString() );
							break;
						case "depthBuffer":
							depthBuffer = Int32.Parse( entry.Value.ToString() );
							break;
						case "border":
							border = entry.Value.ToString().ToLower();
							break;

						case "externalWindowInfo":
						    var iphoneContext = (OpenTK.Graphics.IGraphicsContext)entry.Value;
							_glContext = new IPhoneContext( iphoneContext, _glSupport );
							break;

						case "externalWindowHandle":
							object handle = entry.Value;
							IntPtr ptr = IntPtr.Zero;
							if ( handle.GetType() == typeof( IntPtr ) )
							{
								ptr = (IntPtr)handle;
							}
							else if ( handle.GetType() == typeof( System.Int32 ) )
							{
								ptr = new IntPtr( (int)handle );
							}
							_window = ptr;

							fullScreen = false;
							IsActive = true;
							break;

						case "externalWindow":
							fullScreen = false;
							IsActive = true;
							break;

						default:
							break;
					}
				}
			}

			#endregion Parameter Handling

		}