Browse Source

Merge pull request #2046 from AvaloniaUI/fixes/2042

fixes/2042-opengl-using-pixelsize-struct
release/0.7.0
danwalmsley 8 years ago
committed by GitHub
parent
commit
3d927c38e7
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      src/Avalonia.Native/GlPlatformFeature.cs
  2. 5
      src/Avalonia.OpenGL/EglGlPlatformSurface.cs
  3. 5
      src/Avalonia.OpenGL/IGlPlatformSurfaceRenderingSession.cs
  4. 4
      src/Gtk/Avalonia.Gtk3/WindowBaseImpl.cs
  5. 2
      src/Skia/Avalonia.Skia/GlRenderTarget.cs
  6. 6
      src/Windows/Avalonia.Win32/WindowImpl.cs

4
src/Avalonia.Native/GlPlatformFeature.cs

@ -100,12 +100,12 @@ namespace Avalonia.Native
public IGlDisplay Display { get; } public IGlDisplay Display { get; }
public System.Drawing.Size PixelSize public PixelSize Size
{ {
get get
{ {
var s = _session.GetPixelSize(); var s = _session.GetPixelSize();
return new System.Drawing.Size(s.Width, s.Height); return new PixelSize(s.Width, s.Height);
} }
} }

5
src/Avalonia.OpenGL/EglGlPlatformSurface.cs

@ -7,8 +7,7 @@ namespace Avalonia.OpenGL
public interface IEglWindowGlPlatformSurfaceInfo public interface IEglWindowGlPlatformSurfaceInfo
{ {
IntPtr Handle { get; } IntPtr Handle { get; }
// TODO: Change to PixelSize struct once https://github.com/AvaloniaUI/Avalonia/pull/1889 is merged PixelSize Size { get; }
System.Drawing.Size PixelSize { get; }
double Scaling { get; } double Scaling { get; }
} }
@ -71,7 +70,7 @@ namespace Avalonia.OpenGL
} }
public IGlDisplay Display => _context.Display; public IGlDisplay Display => _context.Display;
public System.Drawing.Size PixelSize => _info.PixelSize; public PixelSize Size => _info.Size;
public double Scaling => _info.Scaling; public double Scaling => _info.Scaling;
} }
} }

5
src/Avalonia.OpenGL/IGlPlatformSurfaceRenderingSession.cs

@ -5,8 +5,7 @@ namespace Avalonia.OpenGL
public interface IGlPlatformSurfaceRenderingSession : IDisposable public interface IGlPlatformSurfaceRenderingSession : IDisposable
{ {
IGlDisplay Display { get; } IGlDisplay Display { get; }
// TODO: Change to PixelSize struct once https://github.com/AvaloniaUI/Avalonia/pull/1889 is merged PixelSize Size { get; }
System.Drawing.Size PixelSize { get; }
double Scaling { get; } double Scaling { get; }
} }
} }

4
src/Gtk/Avalonia.Gtk3/WindowBaseImpl.cs

@ -510,12 +510,12 @@ namespace Avalonia.Gtk3
: new ImmediateRenderer(root); : new ImmediateRenderer(root);
} }
System.Drawing.Size EglGlPlatformSurface.IEglWindowGlPlatformSurfaceInfo.PixelSize PixelSize EglGlPlatformSurface.IEglWindowGlPlatformSurfaceInfo.Size
{ {
get get
{ {
var cs = ClientSize; var cs = ClientSize;
return new System.Drawing.Size((int)Math.Max(1, LastKnownScaleFactor * cs.Width), return new PixelSize((int)Math.Max(1, LastKnownScaleFactor * cs.Width),
(int)Math.Max(1, LastKnownScaleFactor * ClientSize.Height)); (int)Math.Max(1, LastKnownScaleFactor * ClientSize.Height));
} }
} }

2
src/Skia/Avalonia.Skia/GlRenderTarget.cs

@ -28,7 +28,7 @@ namespace Avalonia.Skia
var gl = disp.GlInterface; var gl = disp.GlInterface;
gl.GetIntegerv(GL_FRAMEBUFFER_BINDING, out var fb); gl.GetIntegerv(GL_FRAMEBUFFER_BINDING, out var fb);
var size = session.PixelSize; var size = session.Size;
var scaling = session.Scaling; var scaling = session.Scaling;
GRBackendRenderTargetDesc desc = new GRBackendRenderTargetDesc GRBackendRenderTargetDesc desc = new GRBackendRenderTargetDesc

6
src/Windows/Avalonia.Win32/WindowImpl.cs

@ -933,14 +933,14 @@ namespace Avalonia.Win32
_topmost = value; _topmost = value;
} }
System.Drawing.Size EglGlPlatformSurface.IEglWindowGlPlatformSurfaceInfo.PixelSize PixelSize EglGlPlatformSurface.IEglWindowGlPlatformSurfaceInfo.Size
{ {
get get
{ {
RECT rect; RECT rect;
GetClientRect(_hwnd, out rect); GetClientRect(_hwnd, out rect);
return new System.Drawing.Size( return new PixelSize(
Math.Max(1, rect.right - rect.left), Math.Max(1, rect.right - rect.left),
Math.Max(1, rect.bottom - rect.top)); Math.Max(1, rect.bottom - rect.top));
} }

Loading…
Cancel
Save