smrendererv3/SMCode/SM.Base/Window/IGenericWindow.cs
Michel Fedde 4efc47d75a 2021-03-07
+ IScriptable can now be disabled instancewise
+ IShowItem can disable rendering.

~ SM.Base.Mesh has now ILineMesh

- IGenericWindow.AspectRatioReverse
2021-03-07 12:30:54 +01:00

47 lines
No EOL
1.1 KiB
C#

using System;
using System.Drawing;
using OpenTK;
using SM.Base.Controls;
using SM.Base.Scene;
using SM.OGL.Framebuffer;
namespace SM.Base.Windows
{
public interface IGenericWindow : IFramebufferWindow
{
bool Loading { get; }
float AspectRatio { get; set; }
GenericCamera ViewportCamera { get; set; }
bool ForceViewportCamera { get; set; }
bool DrawWhileUnfocused { get; set; }
bool UpdateWhileUnfocused { get; set; }
int Width { get; }
int Height { get; }
Vector2 WindowSize { get; set; }
Rectangle ClientRectangle { get; }
ISetup AppliedSetup { get; }
event Action<IGenericWindow> Resize;
event Action<IGenericWindow> Load;
GenericScene CurrentScene { get; }
RenderPipeline CurrentRenderPipeline { get; }
void Update(UpdateContext context);
void ApplySetup(ISetup setup);
void SetScene(GenericScene scene);
void SetRenderPipeline(RenderPipeline renderPipeline);
void TriggerLoad();
void TriggerResize();
void Close();
}
}