diff options
Diffstat (limited to 'docs/Xamarin.Forms.Core/Xamarin.Forms/OpenGLView.xml')
-rw-r--r-- | docs/Xamarin.Forms.Core/Xamarin.Forms/OpenGLView.xml | 221 |
1 files changed, 221 insertions, 0 deletions
diff --git a/docs/Xamarin.Forms.Core/Xamarin.Forms/OpenGLView.xml b/docs/Xamarin.Forms.Core/Xamarin.Forms/OpenGLView.xml new file mode 100644 index 00000000..303a1565 --- /dev/null +++ b/docs/Xamarin.Forms.Core/Xamarin.Forms/OpenGLView.xml @@ -0,0 +1,221 @@ +<Type Name="OpenGLView" FullName="Xamarin.Forms.OpenGLView"> + <TypeSignature Language="C#" Value="public sealed class OpenGLView : Xamarin.Forms.View, Xamarin.Forms.IOpenGLViewController" /> + <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed beforefieldinit OpenGLView extends Xamarin.Forms.View implements class Xamarin.Forms.IElementController, class Xamarin.Forms.IOpenGLViewController, class Xamarin.Forms.IViewController, class Xamarin.Forms.IVisualElementController" /> + <AssemblyInfo> + <AssemblyName>Xamarin.Forms.Core</AssemblyName> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + <AssemblyVersion>1.1.0.0</AssemblyVersion> + <AssemblyVersion>1.2.0.0</AssemblyVersion> + <AssemblyVersion>1.3.0.0</AssemblyVersion> + <AssemblyVersion>1.4.0.0</AssemblyVersion> + <AssemblyVersion>1.5.0.0</AssemblyVersion> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>Xamarin.Forms.View</BaseTypeName> + </Base> + <Interfaces> + <Interface> + <InterfaceName>Xamarin.Forms.IOpenGLViewController</InterfaceName> + </Interface> + </Interfaces> + <Attributes> + <Attribute> + <AttributeName>Xamarin.Forms.RenderWith(typeof(Xamarin.Forms.Platform._OpenGLViewRenderer))</AttributeName> + </Attribute> + </Attributes> + <Docs> + <summary>A <see cref="T:Xamarin.Forms.View" /> that displays OpenGL content.</summary> + <remarks> + <para> + <see cref="T:Xamarin.Forms.OpenGLView" />s are easiest to program using Shared Projects, in which case the reference to OpenTK is straightforward. The following example shows a simple OpenGL app with a render loop:</para> + <example> + <code lang="C#"><![CDATA[ +using Xamarin.Forms; +using OpenTK.Graphics.ES30; + +namespace opengl +{ + public class OpenGLPage : ContentPage + { + float red, green, blue; + + public OpenGLPage () + { + Title = "OpenGL"; + var view = new OpenGLView { HasRenderLoop = true }; + var toggle = new Switch { IsToggled = true }; + var button = new Button { Text = "Display" }; + + view.HeightRequest = 300; + view.WidthRequest = 300; + + view.OnDisplay = r => { + + GL.ClearColor (red, green, blue, 1.0f); + GL.Clear ((ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit)); + + red += 0.01f; + if (red >= 1.0f) + red -= 1.0f; + green += 0.02f; + if (green >= 1.0f) + green -= 1.0f; + blue += 0.03f; + if (blue >= 1.0f) + blue -= 1.0f; + }; + + toggle.Toggled += (s, a) => { + view.HasRenderLoop = toggle.IsToggled; + }; + button.Clicked += (s, a) => view.Display (); + + var stack = new StackLayout { + Padding = new Size (20, 20), + Children = {view, toggle, button} + }; + + Content = stack; + } + } +} + + ]]></code> + </example> + <para> + <img href="OpenGL.Example.png" /> + </para> + </remarks> + </Docs> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public OpenGLView ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /> + <MemberType>Constructor</MemberType> + <AssemblyInfo> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + <AssemblyVersion>1.1.0.0</AssemblyVersion> + <AssemblyVersion>1.2.0.0</AssemblyVersion> + <AssemblyVersion>1.3.0.0</AssemblyVersion> + <AssemblyVersion>1.4.0.0</AssemblyVersion> + <AssemblyVersion>1.5.0.0</AssemblyVersion> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Parameters /> + <Docs> + <summary>Creates a new <see cref="T:Xamarin.Forms.OpenGLView" /> object with default values.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Display"> + <MemberSignature Language="C#" Value="public void Display ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Display() cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + <AssemblyVersion>1.1.0.0</AssemblyVersion> + <AssemblyVersion>1.2.0.0</AssemblyVersion> + <AssemblyVersion>1.3.0.0</AssemblyVersion> + <AssemblyVersion>1.4.0.0</AssemblyVersion> + <AssemblyVersion>1.5.0.0</AssemblyVersion> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters /> + <Docs> + <summary>Called prior to rendering.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="HasRenderLoop"> + <MemberSignature Language="C#" Value="public bool HasRenderLoop { get; set; }" /> + <MemberSignature Language="ILAsm" Value=".property instance bool HasRenderLoop" /> + <MemberType>Property</MemberType> + <AssemblyInfo> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + <AssemblyVersion>1.1.0.0</AssemblyVersion> + <AssemblyVersion>1.2.0.0</AssemblyVersion> + <AssemblyVersion>1.3.0.0</AssemblyVersion> + <AssemblyVersion>1.4.0.0</AssemblyVersion> + <AssemblyVersion>1.5.0.0</AssemblyVersion> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Boolean</ReturnType> + </ReturnValue> + <Docs> + <summary>Whether this <see cref="T:Xamarin.Forms.OpenGLView" /> has a custom rendering loop.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="HasRenderLoopProperty"> + <MemberSignature Language="C#" Value="public static readonly Xamarin.Forms.BindableProperty HasRenderLoopProperty;" /> + <MemberSignature Language="ILAsm" Value=".field public static initonly class Xamarin.Forms.BindableProperty HasRenderLoopProperty" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + <AssemblyVersion>1.1.0.0</AssemblyVersion> + <AssemblyVersion>1.2.0.0</AssemblyVersion> + <AssemblyVersion>1.3.0.0</AssemblyVersion> + <AssemblyVersion>1.4.0.0</AssemblyVersion> + <AssemblyVersion>1.5.0.0</AssemblyVersion> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Xamarin.Forms.BindableProperty</ReturnType> + </ReturnValue> + <Docs> + <summary>Identifies the <see cref="P:Xamarin.Forms.OpenGLView.HasRenderLoop" /> bindable property.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="OnDisplay"> + <MemberSignature Language="C#" Value="public Action<Xamarin.Forms.Rectangle> OnDisplay { get; set; }" /> + <MemberSignature Language="ILAsm" Value=".property instance class System.Action`1<valuetype Xamarin.Forms.Rectangle> OnDisplay" /> + <MemberType>Property</MemberType> + <AssemblyInfo> + <AssemblyVersion>1.0.0.0</AssemblyVersion> + <AssemblyVersion>1.1.0.0</AssemblyVersion> + <AssemblyVersion>1.2.0.0</AssemblyVersion> + <AssemblyVersion>1.3.0.0</AssemblyVersion> + <AssemblyVersion>1.4.0.0</AssemblyVersion> + <AssemblyVersion>1.5.0.0</AssemblyVersion> + <AssemblyVersion>2.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Action<Xamarin.Forms.Rectangle></ReturnType> + </ReturnValue> + <Docs> + <summary>Overridden to create a custom rendering loop.</summary> + <value>To be added.</value> + <remarks> + <para>When overridden, creates a custom renderer: </para> + <example> + <code lang="C#"><![CDATA[ + var view = new OpenGLView { HasRenderLoop = true }; + view.OnDisplay = r => { + + GL.ClearColor (red, green, blue, 1.0f); + GL.Clear ((ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit)); + + red += 0.01f; + if (red >= 1.0f) + red -= 1.0f; + green += 0.02f; + if (green >= 1.0f) + green -= 1.0f; + blue += 0.03f; + if (blue >= 1.0f) + blue -= 1.0f; + }; + ]]></code> + </example> + </remarks> + </Docs> + </Member> + </Members> +</Type> |