diff --git a/Directory.Core.Build.props b/Directory.Core.Build.props
index 4f24099a..90acdb61 100644
--- a/Directory.Core.Build.props
+++ b/Directory.Core.Build.props
@@ -11,7 +11,7 @@
true
- true
+ true
true
\ No newline at end of file
diff --git a/src/Consolonia.Core/Drawing/ConsoloniaRenderInterface.cs b/src/Consolonia.Core/Drawing/ConsoloniaRenderInterface.cs
index 998dfb1e..7f03c62e 100644
--- a/src/Consolonia.Core/Drawing/ConsoloniaRenderInterface.cs
+++ b/src/Consolonia.Core/Drawing/ConsoloniaRenderInterface.cs
@@ -90,12 +90,14 @@ public IWriteableBitmapImpl LoadWriteableBitmap(Stream stream)
throw new NotImplementedException();
}
- IBitmapImpl IPlatformRenderInterface.LoadBitmapToWidth(Stream stream, int width, BitmapInterpolationMode interpolationMode)
+ IBitmapImpl IPlatformRenderInterface.LoadBitmapToWidth(Stream stream, int width,
+ BitmapInterpolationMode interpolationMode)
{
throw new NotImplementedException();
}
- IBitmapImpl IPlatformRenderInterface.LoadBitmapToHeight(Stream stream, int height, BitmapInterpolationMode interpolationMode)
+ IBitmapImpl IPlatformRenderInterface.LoadBitmapToHeight(Stream stream, int height,
+ BitmapInterpolationMode interpolationMode)
{
throw new NotImplementedException();
}
@@ -105,7 +107,7 @@ IBitmapImpl IPlatformRenderInterface.ResizeBitmap(IBitmapImpl bitmapImpl, PixelS
{
throw new NotImplementedException();
}
-
+
public IBitmapImpl LoadBitmap(
PixelFormat format,
AlphaFormat alphaFormat,
@@ -117,10 +119,11 @@ public IBitmapImpl LoadBitmap(
throw new NotImplementedException();
}
- public IGlyphRunImpl CreateGlyphRun(IGlyphTypeface glyphTypeface, double fontRenderingEmSize, IReadOnlyList glyphInfos,
+ public IGlyphRunImpl CreateGlyphRun(IGlyphTypeface glyphTypeface, double fontRenderingEmSize,
+ IReadOnlyList glyphInfos,
Point baselineOrigin)
{
- return new GlyphRunImpl(glyphTypeface,glyphInfos,baselineOrigin);
+ return new GlyphRunImpl(glyphTypeface, glyphInfos, baselineOrigin);
}
public IPlatformRenderInterfaceContext CreateBackendContext(IPlatformGraphicsContext graphicsApiContext)
diff --git a/src/Consolonia.Core/Drawing/DrawingContextImpl.cs b/src/Consolonia.Core/Drawing/DrawingContextImpl.cs
index 17e18ac6..eca569f5 100644
--- a/src/Consolonia.Core/Drawing/DrawingContextImpl.cs
+++ b/src/Consolonia.Core/Drawing/DrawingContextImpl.cs
@@ -170,6 +170,7 @@ public void DrawGlyphRun(IBrush foreground, IGlyphRunImpl glyphRun)
ConsoloniaPlatform.RaiseNotSupported(17, glyphRun);
throw new InvalidProgramException();
}
+
if (glyphRun.FontRenderingEmSize.IsNearlyEqual(0)) return;
if (!glyphRun.FontRenderingEmSize.IsNearlyEqual(1))
{
@@ -195,9 +196,9 @@ public void PushClip(Rect clip)
public void PushClip(RoundedRect clip)
{
- if(clip.IsRounded)
+ if (clip.IsRounded)
ConsoloniaPlatform.RaiseNotSupported(2);
-
+
PushClip(clip.Rect);
}
@@ -351,7 +352,7 @@ void DrawPixelAndMoveHead(int count)
}
}
}
-
+
private void DrawStringInternal(IBrush foreground, string str, Point origin = new())
{
if (foreground is not FourBitColorBrush { Mode: PixelBackgroundMode.Colored } consoleColorBrush)
diff --git a/src/Consolonia.Core/Drawing/FourBitColorBrush.cs b/src/Consolonia.Core/Drawing/FourBitColorBrush.cs
index 0a9d5242..bd523b82 100644
--- a/src/Consolonia.Core/Drawing/FourBitColorBrush.cs
+++ b/src/Consolonia.Core/Drawing/FourBitColorBrush.cs
@@ -43,19 +43,19 @@ public ConsoleColor Color
set => SetValue(ColorProperty, value);
}
+ public double Opacity => 1;
+ public ITransform Transform => null;
+ public RelativePoint TransformOrigin => RelativePoint.TopLeft;
+
// ReSharper disable once UnusedMember.Global used by Avalonia
// ReSharper disable once UnusedParameter.Global
public IBrush ProvideValue(IServiceProvider _)
{
return this;
}
-
- public double Opacity => 1;
- public ITransform Transform => null;
- public RelativePoint TransformOrigin => RelativePoint.TopLeft;
}
- public class FourBitBrushConverter : TypeConverter
+ public class FourBitBrushConverter : TypeConverter
{
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
{
@@ -66,15 +66,11 @@ public override object ConvertFrom(
ITypeDescriptorContext context, CultureInfo culture, object value)
{
if (value is string s)
- {
- return Enum.TryParse(s, out ConsoleColor result)
- ? result
+ return Enum.TryParse(s, out ConsoleColor result)
+ ? result
: null;
- }
-
+
return null;
}
}
-
-
}
\ No newline at end of file
diff --git a/src/Consolonia.Core/Drawing/RenderTarget.cs b/src/Consolonia.Core/Drawing/RenderTarget.cs
index 096edd7b..d4cacc4e 100644
--- a/src/Consolonia.Core/Drawing/RenderTarget.cs
+++ b/src/Consolonia.Core/Drawing/RenderTarget.cs
@@ -67,6 +67,13 @@ void IDrawingContextLayerImpl.Blit(IDrawingContextImpl context)
bool IDrawingContextLayerImpl.CanBlit => true;
+ public IDrawingContextImpl CreateDrawingContext()
+ {
+ return new DrawingContextImpl(_consoleWindow, _bufferBuffer);
+ }
+
+ public bool IsCorrupted => false;
+
private void OnResized(Size size, WindowResizeReason reason)
{
@@ -110,7 +117,7 @@ private void RenderToDevice()
throw new InvalidOperationException("Caret is already shown");
caretPosition = new PixelBufferCoordinate(x, y);
}
-
+
/* todo: There is not IWindowImpl.Invalidate anymore.
if (!_consoleWindow.InvalidatedRects.Any(rect =>
rect.ContainsExclusive(new Point(x, y)))) continue;*/
@@ -221,12 +228,5 @@ public void Flush()
_stringBuilder.Clear();
}
}
-
- public IDrawingContextImpl CreateDrawingContext()
- {
- return new DrawingContextImpl(_consoleWindow, _bufferBuffer);
- }
-
- public bool IsCorrupted => false;
}
}
\ No newline at end of file
diff --git a/src/Consolonia.Core/Infrastructure/ArrowsAndKeyboardNavigationHandler.cs b/src/Consolonia.Core/Infrastructure/ArrowsAndKeyboardNavigationHandler.cs
index 7cd82e27..4beb2077 100644
--- a/src/Consolonia.Core/Infrastructure/ArrowsAndKeyboardNavigationHandler.cs
+++ b/src/Consolonia.Core/Infrastructure/ArrowsAndKeyboardNavigationHandler.cs
@@ -10,11 +10,11 @@ namespace Consolonia.Core.Infrastructure
{
public class ArrowsAndKeyboardNavigationHandler : IKeyboardNavigationHandler
{
+ private readonly IKeyboardNavigationHandler _keyboardNavigationHandler;
+
//todo: check XTFocus https://github.com/jinek/Consolonia/issues/105#issuecomment-2089015880
private IInputRoot _owner;
- private readonly IKeyboardNavigationHandler _keyboardNavigationHandler;
-
public ArrowsAndKeyboardNavigationHandler(IKeyboardNavigationHandler keyboardNavigationHandler)
{
_keyboardNavigationHandler = keyboardNavigationHandler;
diff --git a/src/Consolonia.Core/Infrastructure/ConsoleWindow.cs b/src/Consolonia.Core/Infrastructure/ConsoleWindow.cs
index 7325cffe..e5f9c148 100644
--- a/src/Consolonia.Core/Infrastructure/ConsoleWindow.cs
+++ b/src/Consolonia.Core/Infrastructure/ConsoleWindow.cs
@@ -31,6 +31,8 @@ public ConsoleWindow()
Console.FocusEvent += ConsoleOnFocusEvent;
}
+ private IMouseDevice MouseDevice { get; }
+
public void Dispose()
{
Closed?.Invoke();
@@ -40,7 +42,7 @@ public void Dispose()
Console.FocusEvent -= ConsoleOnFocusEvent;
Console.Dispose();
}
-
+
public void SetInputRoot(IInputRoot inputRoot)
{
_inputRoot = inputRoot;
@@ -76,7 +78,7 @@ public void SetFrameThemeVariant(PlatformThemeVariant themeVariant)
{
//todo:
}
-
+
public Size ClientSize
{
get
@@ -104,7 +106,6 @@ public Size ClientSize
public Compositor Compositor { get; } = new(null);
public Action Closed { get; set; }
public Action LostFocus { get; set; }
- private IMouseDevice MouseDevice { get; }
public WindowTransparencyLevel TransparencyLevel => WindowTransparencyLevel.None;
@@ -240,6 +241,14 @@ public void SetExtendClientAreaTitleBarHeightHint(double titleBarHeight)
// ReSharper disable once UnassignedGetOnlyAutoProperty todo: what is this property
public Thickness OffScreenMargin { get; }
+ public object TryGetFeature(Type featureType)
+ {
+ if (featureType == typeof(ISystemNavigationManagerImpl))
+ return null;
+ if (featureType == typeof(ITextInputMethodImpl)) return null;
+ throw new NotImplementedException("Consider this");
+ }
+
private void ConsoleOnMouseEvent(RawPointerEventType type, Point point, Vector? wheelDelta,
RawInputModifiers modifiers)
{
@@ -333,16 +342,5 @@ await Dispatcher.UIThread.InvokeAsync(() =>
}, DispatcherPriority.Input);
}
}
-
- public object TryGetFeature(Type featureType)
- {
- if (featureType == typeof(ISystemNavigationManagerImpl))
- return null;
- if (featureType == typeof(ITextInputMethodImpl))
- {
- return null;
- }
- throw new NotImplementedException("Consider this");
- }
}
}
\ No newline at end of file
diff --git a/src/Consolonia.Core/Infrastructure/ConsoloniaPlatform.cs b/src/Consolonia.Core/Infrastructure/ConsoloniaPlatform.cs
index 0026ec6b..d35f111e 100644
--- a/src/Consolonia.Core/Infrastructure/ConsoloniaPlatform.cs
+++ b/src/Consolonia.Core/Infrastructure/ConsoloniaPlatform.cs
@@ -41,7 +41,7 @@ public void Initialize()
.Bind().ToConstant(new UiThreadRenderTimer(120))
.Bind().ToConstant(new ManagedDispatcherImpl(null))
/*.Bind().ToConstant(new SleepLoopRenderTimer(120))*/
- /*SleepLoopRenderTimer : IRenderTimer*/
+ /*SleepLoopRenderTimer : IRenderTimer*/
/*.Bind().ToConstant(new RenderLoop()) todo: is internal now*/
.Bind().ToConstant(new PlatformHotkeyConfiguration(KeyModifiers.Control))
.Bind().ToConstant(new ConsoleKeyboardDevice())
diff --git a/src/Consolonia.Core/Infrastructure/ExceptionSink.cs b/src/Consolonia.Core/Infrastructure/ExceptionSink.cs
index ba5bf7bb..717fdf66 100644
--- a/src/Consolonia.Core/Infrastructure/ExceptionSink.cs
+++ b/src/Consolonia.Core/Infrastructure/ExceptionSink.cs
@@ -16,9 +16,7 @@ public bool IsEnabled(LogEventLevel level, string area)
public void Log(LogEventLevel level, string area, object source, string messageTemplate)
{
Log(level, area, source, messageTemplate, Array.Empty