| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- using Ryujinx.HLE.HOS.Services.SurfaceFlinger.Types;
- using System;
- namespace Ryujinx.HLE.HOS.Services.SurfaceFlinger
- {
- class BufferItem : ICloneable
- {
- public AndroidStrongPointer<GraphicBuffer> GraphicBuffer;
- public AndroidFence Fence;
- public Rect Crop;
- public NativeWindowTransform Transform;
- public NativeWindowScalingMode ScalingMode;
- public long Timestamp;
- public bool IsAutoTimestamp;
- public int SwapInterval;
- public ulong FrameNumber;
- public int Slot;
- public bool IsDroppable;
- public bool AcquireCalled;
- public bool TransformToDisplayInverse;
- public BufferItem()
- {
- GraphicBuffer = new AndroidStrongPointer<GraphicBuffer>();
- Transform = NativeWindowTransform.None;
- ScalingMode = NativeWindowScalingMode.Freeze;
- Timestamp = 0;
- IsAutoTimestamp = false;
- FrameNumber = 0;
- Slot = BufferSlotArray.InvalidBufferSlot;
- IsDroppable = false;
- AcquireCalled = false;
- TransformToDisplayInverse = false;
- SwapInterval = 1;
- Fence = AndroidFence.NoFence;
- Crop = new Rect();
- Crop.MakeInvalid();
- }
- public object Clone()
- {
- BufferItem item = new BufferItem();
- item.Transform = Transform;
- item.ScalingMode = ScalingMode;
- item.IsAutoTimestamp = IsAutoTimestamp;
- item.FrameNumber = FrameNumber;
- item.Slot = Slot;
- item.IsDroppable = IsDroppable;
- item.AcquireCalled = AcquireCalled;
- item.TransformToDisplayInverse = TransformToDisplayInverse;
- item.SwapInterval = SwapInterval;
- item.Fence = Fence;
- item.Crop = Crop;
- item.GraphicBuffer.Set(GraphicBuffer);
- return item;
- }
- }
- }
|