using DotSDL.Events;
using DotSDL.Input;
using DotSDL.Interop.Core;
using System;
using System.Collections.Generic;
using System.Linq;
namespace DotSDL.Graphics {
///
/// Represents an SDL window.
///
public class SdlWindow : IResourceObject {
private readonly SdlInit _sdlInit = SdlInit.Instance;
private readonly ResourceManager _resources = ResourceManager.Instance;
private string _windowTitle;
private readonly IntPtr _window;
private readonly IntPtr _renderer;
private IntPtr _texture;
private bool _hasTexture;
private bool _running;
private uint _nextVideoUpdate;
private uint _nextGameUpdate;
private ScalingQuality _scalingQuality = ScalingQuality.Nearest;
/// Gets the background layer of this window. This is equivalent to accessing Layers[0].
public Canvas Background => Layers[0];
/// Gets the list of background layers for this window.
public List