3 #if SILICONSTUDIO_PLATFORM_ANDROID
5 using SiliconStudio.Core.Diagnostics;
7 using OpenTK.Platform.Android;
9 namespace SiliconStudio.
Paradox.Graphics
11 public class SwapChainGraphicsPresenter : GraphicsPresenter
13 private static Logger
Log = GlobalLogger.GetLogger(
"SwapChainGraphicsPresenter");
16 public SwapChainGraphicsPresenter(GraphicsDevice device, PresentationParameters presentationParameters) : base(device, presentationParameters)
18 device.InitDefaultRenderTarget(presentationParameters);
19 backBuffer = device.DefaultRenderTarget;
20 DepthStencilBuffer = device.windowProvidedDepthBuffer;
25 get {
return backBuffer; }
28 public override object NativePresenter
33 public override bool IsFullScreen
37 return ((AndroidGameView)Description.DeviceWindowHandle.NativeHandle).WindowState == WindowState.Fullscreen;
41 ((AndroidGameView)Description.DeviceWindowHandle.NativeHandle).WindowState = value ? WindowState.Fullscreen : WindowState.Normal;
45 public override void Present()
47 GraphicsDevice.Begin();
50 if (GraphicsDevice.DefaultRenderTarget != GraphicsDevice.windowProvidedRenderTarget)
51 GraphicsDevice.Copy(GraphicsDevice.DefaultRenderTarget.Texture, GraphicsDevice.windowProvidedRenderTarget.Texture);
52 var graphicsContext = ((AndroidGameView)Description.DeviceWindowHandle.NativeHandle).GraphicsContext;
54 ((AndroidGraphicsContext)graphicsContext).Swap();
59 protected override void ResizeBackBuffer(
int width,
int height,
PixelFormat format)
63 protected override void ResizeDepthStencilBuffer(
int width,
int height,
PixelFormat format)
65 ReleaseCurrentDepthStencilBuffer();
68 protected override void CreateDepthStencilBuffer()
Creates a render target buffer.
_In_ size_t _In_ size_t _In_ DXGI_FORMAT format
Output message to log right away.
PixelFormat
Defines various types of pixel formats.