Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ Viewport

unsafe Viewport Microsoft.Xna.Framework.Graphics.GraphicsDevice.Viewport
getset

Definition at line 257 of file GraphicsDevice.cs.

258 {
259 get
260 {
261 IntPtr intPtr = (IntPtr)pComPtr;
262 Helpers.CheckDisposed(this, intPtr);
263 return currentViewport;
264 }
265 set
266 {
267 IntPtr intPtr = (IntPtr)pComPtr;
268 Helpers.CheckDisposed(this, intPtr);
269 if (value.X >= 0 && value.Y >= 0 && value.Width > 0 && value.Height > 0)
270 {
271 int num;
272 int num2;
274 {
275 RenderTargetHelper renderTargetHelper = currentRenderTargets[0];
276 num = renderTargetHelper.width;
277 num2 = renderTargetHelper.height;
278 }
279 else
280 {
283 }
284 if (value.X + value.Width <= num && value.Y + value.Height <= num2)
285 {
286 if (!(value.MinDepth < 0f) && !(value.MinDepth > 1f))
287 {
288 if (!(value.MaxDepth < 0f) && !(value.MaxDepth > 1f))
289 {
290 double num3 = value.MaxDepth;
291 if (num3 < (double)value.MinDepth)
292 {
293 throw new ArgumentException(FrameworkResources.ViewportInvalid, "value");
294 }
295 IDirect3DDevice9* ptr = pComPtr;
296 int num4 = ((delegate* unmanaged[Stdcall, Stdcall]<IntPtr, _D3DVIEWPORT9*, int>)(int)(*(uint*)(*(int*)ptr + 188)))((nint)ptr, (_D3DVIEWPORT9*)(int)(ref value));
297 if (num4 < 0)
298 {
299 throw GraphicsHelpers.GetExceptionFromResult((uint)num4);
300 }
302 return;
303 }
304 throw new ArgumentException(FrameworkResources.ViewportInvalid, "value");
305 }
306 throw new ArgumentException(FrameworkResources.ViewportInvalid, "value");
307 }
308 throw new ArgumentException(FrameworkResources.ViewportInvalid, "value");
309 }
310 throw new ArgumentException(FrameworkResources.ViewportInvalid, "value");
311 }
312 }

Referenced by Microsoft.Xna.Framework.Graphics.SavedDeviceState.SavedDeviceState(), Terraria.Graphics.SpriteViewMatrix.Rebuild(), Microsoft.Xna.Framework.Graphics.SpriteBatch.SetRenderState(), and Terraria.Graphics.SpriteViewMatrix.ShouldRebuild().