Rename various types.
This commit is contained in:
parent
d959c42e99
commit
50552914c1
@ -20,7 +20,7 @@ namespace Dashboard.BlurgText
|
||||
|
||||
private nint TextureAllocationCallback(int width, int height)
|
||||
{
|
||||
QImageBuffer image = new QImageBuffer(QImageFormat.RgbaU8, width, height);
|
||||
QImageBuffer image = new QImageBuffer(ImageFormat.RgbaU8, width, height);
|
||||
images.Add(image);
|
||||
return images.Count - 1;
|
||||
}
|
||||
@ -30,7 +30,7 @@ namespace Dashboard.BlurgText
|
||||
if (width == 0 || height == 0)
|
||||
return;
|
||||
|
||||
QImageLock src = new QImageLock(QImageFormat.RgbaU8, width, height, 1, buffer);
|
||||
QImageLock src = new QImageLock(ImageFormat.RgbaU8, width, height, 1, buffer);
|
||||
QImageBuffer image = images[(int)userData];
|
||||
image.LockBits2d(out QImageLock dest, QImageLockOptions.Default);
|
||||
|
||||
|
@ -5,7 +5,7 @@ using System.Linq;
|
||||
using System.Text.Json.Serialization;
|
||||
using System.Text.Json;
|
||||
using ReFuel.FreeType;
|
||||
using Dashboard.Media.Font;
|
||||
using Dashboard.Media.Fonts;
|
||||
using Dashboard.PAL;
|
||||
using Dashboard.Media.Defaults.Linux;
|
||||
|
||||
|
@ -6,7 +6,7 @@ using System.Text;
|
||||
using ReFuel.FreeType;
|
||||
using Dashboard.Media.Defaults.Fallback;
|
||||
using Dashboard.Media.Defaults.Linux;
|
||||
using Dashboard.Media.Font;
|
||||
using Dashboard.Media.Fonts;
|
||||
using Dashboard.PAL;
|
||||
|
||||
namespace Dashboard.Media.Defaults
|
||||
|
@ -3,19 +3,19 @@ using System.Buffers;
|
||||
using System.IO;
|
||||
using ReFuel.FreeType;
|
||||
using Dashboard.Media.Color;
|
||||
using Dashboard.Media.Font;
|
||||
using Dashboard.Media.Fonts;
|
||||
using OpenTK.Mathematics;
|
||||
|
||||
namespace Dashboard.Media.Defaults
|
||||
{
|
||||
public class QFontFreeType : QFont
|
||||
public class FontFreeType : Font
|
||||
{
|
||||
private MemoryStream ms;
|
||||
private FTFace face;
|
||||
|
||||
public override FontFace Face => throw new NotImplementedException();
|
||||
|
||||
public QFontFreeType(Stream stream)
|
||||
public FontFreeType(Stream stream)
|
||||
{
|
||||
ms = new MemoryStream();
|
||||
stream.CopyTo(ms);
|
||||
@ -32,7 +32,7 @@ namespace Dashboard.Media.Defaults
|
||||
return FT.GetCharIndex(face, (ulong)rune) != 0;
|
||||
}
|
||||
|
||||
protected override QImage Render(out QGlyphMetrics metrics, int codepoint, float size, in FontRasterizerOptions options)
|
||||
protected override Image Render(out GlyphMetrics metrics, int codepoint, float size, in FontRasterizerOptions options)
|
||||
{
|
||||
FT.SetCharSize(face, 0, (long)Math.Round(64*size), 0, (uint)Math.Round(options.Resolution));
|
||||
|
||||
@ -40,7 +40,7 @@ namespace Dashboard.Media.Defaults
|
||||
FT.LoadGlyph(face, index, FTLoadFlags.Default);
|
||||
|
||||
ref readonly FTGlyphMetrics ftmetrics = ref face.Glyph.Metrics;
|
||||
metrics = new QGlyphMetrics(codepoint,
|
||||
metrics = new GlyphMetrics(codepoint,
|
||||
new Vector2(ftmetrics.Width/64f, ftmetrics.Height/64f),
|
||||
new Vector2(ftmetrics.HorizontalBearingX/64f, ftmetrics.HorizontalBearingY/64f),
|
||||
new Vector2(ftmetrics.VerticalBearingX/64f, ftmetrics.VerticalBearingY/64f),
|
||||
@ -55,7 +55,7 @@ namespace Dashboard.Media.Defaults
|
||||
return null;
|
||||
}
|
||||
|
||||
QImageBuffer image = new QImageBuffer(QImageFormat.AlphaU8, (int)bitmap.Width, (int)bitmap.Rows);
|
||||
QImageBuffer image = new QImageBuffer(ImageFormat.AlphaU8, (int)bitmap.Width, (int)bitmap.Rows);
|
||||
image.LockBits2d(out QImageLock lk, QImageLockOptions.Default);
|
||||
|
||||
unsafe
|
@ -7,11 +7,11 @@ namespace Dashboard.Media.Defaults
|
||||
{
|
||||
public class FreeTypeFontFactory : IFontFactory
|
||||
{
|
||||
public bool TryOpen(Stream stream, [NotNullWhen(true)] out QFont font)
|
||||
public bool TryOpen(Stream stream, [NotNullWhen(true)] out Font font)
|
||||
{
|
||||
try
|
||||
{
|
||||
font = new QFontFreeType(stream);
|
||||
font = new FontFreeType(stream);
|
||||
return true;
|
||||
}
|
||||
catch
|
||||
|
@ -5,7 +5,7 @@ using ReFuel.Stb;
|
||||
|
||||
namespace Dashboard.Media.Defaults
|
||||
{
|
||||
public unsafe class QImageStbi : QImage
|
||||
public unsafe class ImageStbi : Image
|
||||
{
|
||||
private readonly StbImage image;
|
||||
private QImageBuffer buffer;
|
||||
@ -17,9 +17,9 @@ namespace Dashboard.Media.Defaults
|
||||
|
||||
public override int Depth => 1;
|
||||
public override bool IsSdf => isSdf;
|
||||
public override QImageFormat InternalFormat => Stb2QImageFormat(image.Format);
|
||||
public override ImageFormat InternalFormat => Stb2QImageFormat(image.Format);
|
||||
|
||||
public QImageStbi(Stream source)
|
||||
public ImageStbi(Stream source)
|
||||
{
|
||||
// According to the stbi documentation, only a specific type of PNG
|
||||
// files are premultiplied out of the box (iPhone PNG). Take the
|
||||
@ -30,15 +30,15 @@ namespace Dashboard.Media.Defaults
|
||||
image = StbImage.Load(source);
|
||||
}
|
||||
|
||||
public static QImageFormat Stb2QImageFormat(StbiImageFormat src)
|
||||
public static ImageFormat Stb2QImageFormat(StbiImageFormat src)
|
||||
{
|
||||
switch (src)
|
||||
{
|
||||
case StbiImageFormat.Grey: return QImageFormat.RedU8;
|
||||
case StbiImageFormat.Rgb: return QImageFormat.RgbU8;
|
||||
case StbiImageFormat.Rgba: return QImageFormat.RgbaU8;
|
||||
case StbiImageFormat.GreyAlpha: return QImageFormat.RaU8;
|
||||
default: return QImageFormat.Undefined;
|
||||
case StbiImageFormat.Grey: return ImageFormat.RedU8;
|
||||
case StbiImageFormat.Rgb: return ImageFormat.RgbU8;
|
||||
case StbiImageFormat.Rgba: return ImageFormat.RgbaU8;
|
||||
case StbiImageFormat.GreyAlpha: return ImageFormat.RaU8;
|
||||
default: return ImageFormat.Undefined;
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,7 @@ using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using ReFuel.FreeType;
|
||||
using Dashboard.Media.Font;
|
||||
using Dashboard.Media.Fonts;
|
||||
using Dashboard.PAL;
|
||||
|
||||
namespace Dashboard.Media.Defaults.Linux
|
||||
|
@ -4,7 +4,7 @@ using System.Collections;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using Dashboard.Media.Font;
|
||||
using Dashboard.Media.Fonts;
|
||||
|
||||
// WebRequest is obsolete but runs on .NET framework.
|
||||
#pragma warning disable SYSLIB0014
|
||||
|
@ -16,7 +16,7 @@ namespace Dashboard.OpenTK
|
||||
|
||||
// These shall remain a sad nop for now.
|
||||
public string? Title { get; set; }
|
||||
public QImage? Icon { get; set; } = null;
|
||||
public Media.Image? Icon { get; set; } = null;
|
||||
|
||||
public event EventHandler? EventRaised;
|
||||
|
||||
|
@ -8,7 +8,7 @@ namespace Dashboard.Controls
|
||||
public class Label : Control
|
||||
{
|
||||
public string Text { get; set; } = string.Empty;
|
||||
public QFont? Font { get; set; }
|
||||
public Font? Font { get; set; }
|
||||
public float TextSize { get; set; }
|
||||
public bool AutoSize { get; set; } = true;
|
||||
|
||||
|
@ -31,7 +31,7 @@ namespace Dashboard
|
||||
/// <summary>
|
||||
/// Application icon.
|
||||
/// </summary>
|
||||
public QImage? Icon
|
||||
public Image? Icon
|
||||
{
|
||||
get => Platform.Icon;
|
||||
set => Platform.Icon = value;
|
||||
|
@ -232,7 +232,7 @@ namespace Dashboard.ImmediateDraw
|
||||
}
|
||||
}
|
||||
|
||||
public void Image(QImage texture, in Rectangle rectangle)
|
||||
public void Image(Image texture, in Rectangle rectangle)
|
||||
{
|
||||
Enqueue(Command.Image);
|
||||
Enqueue((Frame)(int)ImageCommandFlags.Single);
|
||||
@ -240,7 +240,7 @@ namespace Dashboard.ImmediateDraw
|
||||
Enqueue(rectangle);
|
||||
}
|
||||
|
||||
public void Image(QImage texture, in Rectangle rectangle, in Rectangle uv)
|
||||
public void Image(Image texture, in Rectangle rectangle, in Rectangle uv)
|
||||
{
|
||||
Enqueue(Command.Image);
|
||||
Enqueue((Frame)(int)(ImageCommandFlags.Single | ImageCommandFlags.UVs));
|
||||
@ -249,7 +249,7 @@ namespace Dashboard.ImmediateDraw
|
||||
Enqueue(uv);
|
||||
}
|
||||
|
||||
public void Image(QImage texture, ReadOnlySpan<Rectangle> rectangles, bool interleavedUV = false)
|
||||
public void Image(Image texture, ReadOnlySpan<Rectangle> rectangles, bool interleavedUV = false)
|
||||
{
|
||||
int count = rectangles.Length;
|
||||
ImageCommandFlags flags = ImageCommandFlags.None;
|
||||
@ -270,7 +270,7 @@ namespace Dashboard.ImmediateDraw
|
||||
}
|
||||
}
|
||||
|
||||
public void Image(QImage texture, ReadOnlySpan<Rectangle> rectangles, ReadOnlySpan<Rectangle> uvs)
|
||||
public void Image(Image texture, ReadOnlySpan<Rectangle> rectangles, ReadOnlySpan<Rectangle> uvs)
|
||||
{
|
||||
int count = Math.Min(rectangles.Length, uvs.Length);
|
||||
Enqueue(Command.Image);
|
||||
@ -284,7 +284,7 @@ namespace Dashboard.ImmediateDraw
|
||||
}
|
||||
}
|
||||
|
||||
public void Image3D(QImage texture, in Image3DCall call)
|
||||
public void Image3D(Image texture, in Image3DCall call)
|
||||
{
|
||||
Enqueue(Command.Image);
|
||||
Enqueue(new Frame(ImageCommandFlags.Image3d | ImageCommandFlags.Single));
|
||||
@ -294,7 +294,7 @@ namespace Dashboard.ImmediateDraw
|
||||
Enqueue(new Frame(call.Layer));
|
||||
}
|
||||
|
||||
public void Image3D(QImage texture, ReadOnlySpan<Image3DCall> calls)
|
||||
public void Image3D(Image texture, ReadOnlySpan<Image3DCall> calls)
|
||||
{
|
||||
Enqueue(Command.Image);
|
||||
Enqueue(new Frame((int)ImageCommandFlags.Image3d, calls.Length));
|
||||
|
@ -9,12 +9,12 @@ namespace Dashboard.Media.Color
|
||||
{
|
||||
switch (image.Format)
|
||||
{
|
||||
case QImageFormat.RaF:
|
||||
case QImageFormat.RaU8:
|
||||
case QImageFormat.RgbF:
|
||||
case QImageFormat.RgbU8:
|
||||
case QImageFormat.RgbaF:
|
||||
case QImageFormat.RgbaU8:
|
||||
case ImageFormat.RaF:
|
||||
case ImageFormat.RaU8:
|
||||
case ImageFormat.RgbF:
|
||||
case ImageFormat.RgbU8:
|
||||
case ImageFormat.RgbaF:
|
||||
case ImageFormat.RgbaU8:
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
|
@ -3,19 +3,19 @@ using System.Runtime.InteropServices;
|
||||
|
||||
namespace Dashboard.Media.Color
|
||||
{
|
||||
public class QImageBuffer : QImage
|
||||
public class QImageBuffer : Image
|
||||
{
|
||||
private byte[] buffer;
|
||||
GCHandle handle;
|
||||
private bool isSdf = false;
|
||||
|
||||
public override QImageFormat InternalFormat { get; }
|
||||
public override ImageFormat InternalFormat { get; }
|
||||
public override int Width { get; }
|
||||
public override int Height { get; }
|
||||
public override int Depth { get; }
|
||||
public override bool IsSdf => isSdf;
|
||||
|
||||
public QImageBuffer(QImageFormat format, int width, int height, int depth = 1)
|
||||
public QImageBuffer(ImageFormat format, int width, int height, int depth = 1)
|
||||
{
|
||||
InternalFormat = format;
|
||||
Width = width;
|
||||
|
@ -9,7 +9,7 @@ namespace Dashboard.Media.Color
|
||||
public int Width => Lock.Width;
|
||||
public int Height => Lock.Height;
|
||||
public int Depth => Depth;
|
||||
public QImageFormat Format => Lock.Format;
|
||||
public ImageFormat Format => Lock.Format;
|
||||
|
||||
public LockIO(QImageLock imageLock)
|
||||
{
|
||||
@ -29,11 +29,11 @@ namespace Dashboard.Media.Color
|
||||
switch (Format)
|
||||
{
|
||||
default:
|
||||
case QImageFormat.RedU8: return new Color4(ptr[0], 0, 0, 255);
|
||||
case QImageFormat.AlphaU8: return new Color4(0, 0, 0, ptr[0]);
|
||||
case QImageFormat.RaU8: return new Color4(ptr[0], 0, 0, ptr[1]);
|
||||
case QImageFormat.RgbU8: return new Color4(ptr[0], ptr[1], ptr[2], 255);
|
||||
case QImageFormat.RgbaU8: return new Color4(ptr[0], ptr[1], ptr[2], ptr[3]);
|
||||
case ImageFormat.RedU8: return new Color4(ptr[0], 0, 0, 255);
|
||||
case ImageFormat.AlphaU8: return new Color4(0, 0, 0, ptr[0]);
|
||||
case ImageFormat.RaU8: return new Color4(ptr[0], 0, 0, ptr[1]);
|
||||
case ImageFormat.RgbU8: return new Color4(ptr[0], ptr[1], ptr[2], 255);
|
||||
case ImageFormat.RgbaU8: return new Color4(ptr[0], ptr[1], ptr[2], ptr[3]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -45,22 +45,22 @@ namespace Dashboard.Media.Color
|
||||
switch (Format)
|
||||
{
|
||||
default:
|
||||
case QImageFormat.RedU8:
|
||||
case ImageFormat.RedU8:
|
||||
ptr[0] = (byte)(value.R * 255);
|
||||
break;
|
||||
case QImageFormat.AlphaU8:
|
||||
case ImageFormat.AlphaU8:
|
||||
ptr[0] = (byte)(value.A * 255);
|
||||
break;
|
||||
case QImageFormat.RaU8:
|
||||
case ImageFormat.RaU8:
|
||||
ptr[0] = (byte)(value.R * 255);
|
||||
ptr[1] = (byte)(value.A * 255);
|
||||
break;
|
||||
case QImageFormat.RgbU8:
|
||||
case ImageFormat.RgbU8:
|
||||
ptr[0] = (byte)(value.R * 255);
|
||||
ptr[1] = (byte)(value.G * 255);
|
||||
ptr[2] = (byte)(value.B * 255);
|
||||
break;
|
||||
case QImageFormat.RgbaU8:
|
||||
case ImageFormat.RgbaU8:
|
||||
ptr[0] = (byte)(value.R * 255);
|
||||
ptr[1] = (byte)(value.G * 255);
|
||||
ptr[2] = (byte)(value.B * 255);
|
||||
@ -82,7 +82,7 @@ namespace Dashboard.Media.Color
|
||||
public int Width => Lock.Width;
|
||||
public int Height => Lock.Height;
|
||||
public int Depth => Depth;
|
||||
public QImageFormat Format => Lock.Format;
|
||||
public ImageFormat Format => Lock.Format;
|
||||
|
||||
public LockIOF(QImageLock imageLock)
|
||||
{
|
||||
@ -102,11 +102,11 @@ namespace Dashboard.Media.Color
|
||||
switch (Format)
|
||||
{
|
||||
default:
|
||||
case QImageFormat.RedU8: return new Color4(ptr[0], 0, 0, 1);
|
||||
case QImageFormat.AlphaU8: return new Color4(0, 0, 0, ptr[0]);
|
||||
case QImageFormat.RaU8: return new Color4(ptr[0], 0, 0, ptr[1]);
|
||||
case QImageFormat.RgbU8: return new Color4(ptr[0], ptr[1], ptr[2], 1);
|
||||
case QImageFormat.RgbaU8: return new Color4(ptr[0], ptr[1], ptr[2], ptr[3]);
|
||||
case ImageFormat.RedU8: return new Color4(ptr[0], 0, 0, 1);
|
||||
case ImageFormat.AlphaU8: return new Color4(0, 0, 0, ptr[0]);
|
||||
case ImageFormat.RaU8: return new Color4(ptr[0], 0, 0, ptr[1]);
|
||||
case ImageFormat.RgbU8: return new Color4(ptr[0], ptr[1], ptr[2], 1);
|
||||
case ImageFormat.RgbaU8: return new Color4(ptr[0], ptr[1], ptr[2], ptr[3]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -118,22 +118,22 @@ namespace Dashboard.Media.Color
|
||||
switch (Format)
|
||||
{
|
||||
default:
|
||||
case QImageFormat.RedU8:
|
||||
case ImageFormat.RedU8:
|
||||
ptr[0] = value.R;
|
||||
break;
|
||||
case QImageFormat.AlphaU8:
|
||||
case ImageFormat.AlphaU8:
|
||||
ptr[0] = value.A;
|
||||
break;
|
||||
case QImageFormat.RaU8:
|
||||
case ImageFormat.RaU8:
|
||||
ptr[0] = value.R;
|
||||
ptr[1] = value.A;
|
||||
break;
|
||||
case QImageFormat.RgbU8:
|
||||
case ImageFormat.RgbU8:
|
||||
ptr[0] = value.R;
|
||||
ptr[1] = value.G;
|
||||
ptr[2] = value.B;
|
||||
break;
|
||||
case QImageFormat.RgbaU8:
|
||||
case ImageFormat.RgbaU8:
|
||||
ptr[0] = value.R;
|
||||
ptr[1] = value.G;
|
||||
ptr[2] = value.B;
|
||||
|
@ -2,68 +2,68 @@ namespace Dashboard.Media
|
||||
{
|
||||
public static class Extensions
|
||||
{
|
||||
public static bool IsU8(this QImageFormat format)
|
||||
public static bool IsU8(this ImageFormat format)
|
||||
{
|
||||
switch (format)
|
||||
{
|
||||
case QImageFormat.AlphaU8:
|
||||
case QImageFormat.RedU8:
|
||||
case QImageFormat.RaU8:
|
||||
case QImageFormat.RgbU8:
|
||||
case QImageFormat.RgbaU8:
|
||||
case ImageFormat.AlphaU8:
|
||||
case ImageFormat.RedU8:
|
||||
case ImageFormat.RaU8:
|
||||
case ImageFormat.RgbU8:
|
||||
case ImageFormat.RgbaU8:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static bool IsFloat(this QImageFormat format)
|
||||
public static bool IsFloat(this ImageFormat format)
|
||||
{
|
||||
switch (format)
|
||||
{
|
||||
case QImageFormat.AlphaF:
|
||||
case QImageFormat.RedF:
|
||||
case QImageFormat.RaF:
|
||||
case QImageFormat.RgbF:
|
||||
case QImageFormat.RgbaF:
|
||||
case ImageFormat.AlphaF:
|
||||
case ImageFormat.RedF:
|
||||
case ImageFormat.RaF:
|
||||
case ImageFormat.RgbF:
|
||||
case ImageFormat.RgbaF:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static int BytesPerPixel(this QImageFormat format)
|
||||
public static int BytesPerPixel(this ImageFormat format)
|
||||
{
|
||||
switch (format)
|
||||
{
|
||||
case QImageFormat.AlphaU8: return sizeof(byte);
|
||||
case QImageFormat.RedU8: return sizeof(byte);
|
||||
case QImageFormat.RaU8: return 2 * sizeof(byte);
|
||||
case QImageFormat.RgbU8: return 3 * sizeof(byte);
|
||||
case QImageFormat.RgbaU8: return 4 * sizeof(byte);
|
||||
case QImageFormat.AlphaF: return sizeof(float);
|
||||
case QImageFormat.RedF: return sizeof(float);
|
||||
case QImageFormat.RaF: return 2 * sizeof(float);
|
||||
case QImageFormat.RgbF: return 3 * sizeof(float);
|
||||
case QImageFormat.RgbaF: return 4 * sizeof(float);
|
||||
case ImageFormat.AlphaU8: return sizeof(byte);
|
||||
case ImageFormat.RedU8: return sizeof(byte);
|
||||
case ImageFormat.RaU8: return 2 * sizeof(byte);
|
||||
case ImageFormat.RgbU8: return 3 * sizeof(byte);
|
||||
case ImageFormat.RgbaU8: return 4 * sizeof(byte);
|
||||
case ImageFormat.AlphaF: return sizeof(float);
|
||||
case ImageFormat.RedF: return sizeof(float);
|
||||
case ImageFormat.RaF: return 2 * sizeof(float);
|
||||
case ImageFormat.RgbF: return 3 * sizeof(float);
|
||||
case ImageFormat.RgbaF: return 4 * sizeof(float);
|
||||
default: return 0;
|
||||
}
|
||||
}
|
||||
|
||||
public static int Channels(this QImageFormat format)
|
||||
public static int Channels(this ImageFormat format)
|
||||
{
|
||||
switch (format)
|
||||
{
|
||||
case QImageFormat.AlphaU8: return 1;
|
||||
case QImageFormat.RedU8: return 1;
|
||||
case QImageFormat.RaU8: return 2;
|
||||
case QImageFormat.RgbU8: return 3;
|
||||
case QImageFormat.RgbaU8: return 4;
|
||||
case QImageFormat.AlphaF: return 1;
|
||||
case QImageFormat.RedF: return 1;
|
||||
case QImageFormat.RaF: return 2;
|
||||
case QImageFormat.RgbF: return 3;
|
||||
case QImageFormat.RgbaF: return 4;
|
||||
case ImageFormat.AlphaU8: return 1;
|
||||
case ImageFormat.RedU8: return 1;
|
||||
case ImageFormat.RaU8: return 2;
|
||||
case ImageFormat.RgbU8: return 3;
|
||||
case ImageFormat.RgbaU8: return 4;
|
||||
case ImageFormat.AlphaF: return 1;
|
||||
case ImageFormat.RedF: return 1;
|
||||
case ImageFormat.RaF: return 2;
|
||||
case ImageFormat.RgbF: return 3;
|
||||
case ImageFormat.RgbaF: return 4;
|
||||
default: return 0;
|
||||
}
|
||||
}
|
||||
|
@ -2,14 +2,14 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.InteropServices;
|
||||
using Dashboard.Media;
|
||||
using Dashboard.Media.Font;
|
||||
using Dashboard.Media.Fonts;
|
||||
|
||||
namespace Dashboard.Media
|
||||
{
|
||||
/// <summary>
|
||||
/// Abstract class that represents a font.
|
||||
/// </summary>
|
||||
public abstract class QFont : IDisposable
|
||||
public abstract class Font : IDisposable
|
||||
{
|
||||
public abstract FontFace Face { get; }
|
||||
public string Family => Face.Family;
|
||||
@ -18,7 +18,7 @@ namespace Dashboard.Media
|
||||
public FontStretch Stretch => Face.Stretch;
|
||||
|
||||
public abstract bool HasRune(int rune);
|
||||
protected abstract QImage Render(out QGlyphMetrics metrics, int codepoint, float size, in FontRasterizerOptions options);
|
||||
protected abstract Image Render(out GlyphMetrics metrics, int codepoint, float size, in FontRasterizerOptions options);
|
||||
|
||||
|
||||
private readonly Dictionary<float, SizedFontCollection> _atlasses = new Dictionary<float, SizedFontCollection>();
|
||||
@ -69,13 +69,13 @@ namespace Dashboard.Media
|
||||
atlas = new FontAtlas(width, height, DbApplication.Current.FontProvider.RasterizerOptions.Sdf);
|
||||
}
|
||||
|
||||
public void Get(int codepoint, out FontGlyph glyph, QFont font)
|
||||
public void Get(int codepoint, out FontGlyph glyph, Font font)
|
||||
{
|
||||
if (glyphs.TryGetValue(codepoint, out glyph))
|
||||
return;
|
||||
|
||||
QImage image = font.Render(
|
||||
out QGlyphMetrics metrics,
|
||||
Image image = font.Render(
|
||||
out GlyphMetrics metrics,
|
||||
codepoint,
|
||||
Size,
|
||||
DbApplication.Current.FontProvider.RasterizerOptions);
|
||||
@ -102,11 +102,11 @@ namespace Dashboard.Media
|
||||
public readonly struct FontGlyph
|
||||
{
|
||||
public readonly int CodePoint;
|
||||
public readonly QImage? Image;
|
||||
public readonly QGlyphMetrics Metrics;
|
||||
public readonly Image? Image;
|
||||
public readonly GlyphMetrics Metrics;
|
||||
public readonly Rectangle UVs;
|
||||
|
||||
public FontGlyph(int codepoint, QImage? image, in QGlyphMetrics metrics, in Rectangle uvs)
|
||||
public FontGlyph(int codepoint, Image? image, in GlyphMetrics metrics, in Rectangle uvs)
|
||||
{
|
||||
CodePoint = codepoint;
|
||||
Image = image;
|
@ -3,12 +3,12 @@ using System.Collections.Generic;
|
||||
using Dashboard.Media.Color;
|
||||
using OpenTK.Mathematics;
|
||||
|
||||
namespace Dashboard.Media.Font
|
||||
namespace Dashboard.Media.Fonts
|
||||
{
|
||||
public struct FontAtlasGlyphInfo
|
||||
{
|
||||
public int Codepoint;
|
||||
public QImage Image;
|
||||
public Image Image;
|
||||
public Rectangle UVs;
|
||||
}
|
||||
|
||||
@ -109,7 +109,7 @@ namespace Dashboard.Media.Font
|
||||
|
||||
private class AtlasPage : IDisposable
|
||||
{
|
||||
public QImage Image;
|
||||
public Image Image;
|
||||
public int PointerX, PointerY;
|
||||
public int RowHeight;
|
||||
public int Expansion;
|
||||
@ -118,7 +118,7 @@ namespace Dashboard.Media.Font
|
||||
|
||||
public AtlasPage(int width, int height, int expansion)
|
||||
{
|
||||
Image = new QImageBuffer(QImageFormat.AlphaU8, width, height);
|
||||
Image = new QImageBuffer(ImageFormat.AlphaU8, width, height);
|
||||
Expansion = expansion;
|
||||
Reset();
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
using System;
|
||||
using System.Text;
|
||||
|
||||
namespace Dashboard.Media.Font
|
||||
namespace Dashboard.Media.Fonts
|
||||
{
|
||||
public readonly struct FontFace : IEquatable<FontFace>
|
||||
{
|
||||
|
@ -1,4 +1,4 @@
|
||||
namespace Dashboard.Media.Font
|
||||
namespace Dashboard.Media.Fonts
|
||||
{
|
||||
public enum FontSlant
|
||||
{
|
||||
|
@ -1,4 +1,4 @@
|
||||
namespace Dashboard.Media.Font
|
||||
namespace Dashboard.Media.Fonts
|
||||
{
|
||||
/// <summary>
|
||||
/// Enumeration of font stretch values.
|
||||
|
@ -1,6 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace Dashboard.Media.Font
|
||||
namespace Dashboard.Media.Fonts
|
||||
{
|
||||
public enum FontWeight
|
||||
{
|
||||
|
@ -1,4 +1,4 @@
|
||||
namespace Dashboard.Media.Font
|
||||
namespace Dashboard.Media.Fonts
|
||||
{
|
||||
public enum SystemFontFamily
|
||||
{
|
||||
|
@ -5,7 +5,7 @@ namespace Dashboard.Media
|
||||
/// <summary>
|
||||
/// Glyph properties with metrics based on FreeType glyph metrics.
|
||||
/// </summary>
|
||||
public struct QGlyphMetrics
|
||||
public struct GlyphMetrics
|
||||
{
|
||||
/// <summary>
|
||||
/// The code point for the character.
|
||||
@ -32,7 +32,7 @@ namespace Dashboard.Media
|
||||
/// </summary>
|
||||
public Vector2 Advance { get; }
|
||||
|
||||
public QGlyphMetrics(
|
||||
public GlyphMetrics(
|
||||
int character,
|
||||
Vector2 size,
|
||||
Vector2 horizontalBearing,
|
@ -1,12 +1,12 @@
|
||||
using System;
|
||||
namespace Dashboard.Media
|
||||
{
|
||||
public abstract class QImage : IDisposable
|
||||
public abstract class Image : IDisposable
|
||||
{
|
||||
public abstract int Width { get; }
|
||||
public abstract int Height { get; }
|
||||
public abstract int Depth { get; }
|
||||
public abstract QImageFormat InternalFormat { get; }
|
||||
public abstract ImageFormat InternalFormat { get; }
|
||||
public virtual int MipMapLevels => 0;
|
||||
public virtual bool Premultiplied => false;
|
||||
public virtual bool IsSdf => false;
|
||||
@ -32,12 +32,12 @@ namespace Dashboard.Media
|
||||
|
||||
public struct QImageLockOptions
|
||||
{
|
||||
public QImageFormat Format { get; }
|
||||
public ImageFormat Format { get; }
|
||||
public bool Premultiply { get; }
|
||||
public int MipLevel { get; }
|
||||
public static QImageLockOptions Default { get; } = new QImageLockOptions(QImageFormat.RgbaU8, true, 0);
|
||||
public static QImageLockOptions Default { get; } = new QImageLockOptions(ImageFormat.RgbaU8, true, 0);
|
||||
|
||||
public QImageLockOptions(QImageFormat format, bool premultiply, int level)
|
||||
public QImageLockOptions(ImageFormat format, bool premultiply, int level)
|
||||
{
|
||||
Format = format;
|
||||
Premultiply = premultiply;
|
||||
@ -47,13 +47,13 @@ namespace Dashboard.Media
|
||||
|
||||
public struct QImageLock
|
||||
{
|
||||
public QImageFormat Format { get; }
|
||||
public ImageFormat Format { get; }
|
||||
public int Width { get; }
|
||||
public int Height { get; }
|
||||
public int Depth { get; }
|
||||
public IntPtr ImagePtr { get; }
|
||||
|
||||
public QImageLock(QImageFormat format, int width, int height, int depth, IntPtr ptr)
|
||||
public QImageLock(ImageFormat format, int width, int height, int depth, IntPtr ptr)
|
||||
{
|
||||
Format = format;
|
||||
Width = width;
|
@ -2,7 +2,7 @@ using System;
|
||||
|
||||
namespace Dashboard.Media
|
||||
{
|
||||
public enum QImageFormat
|
||||
public enum ImageFormat
|
||||
{
|
||||
Undefined,
|
||||
RedU8,
|
||||
|
@ -331,15 +331,15 @@ namespace Dashboard.OpenGL
|
||||
|
||||
internal class TextureManager : IDisposable
|
||||
{
|
||||
private readonly Dictionary<QImage, int> textures = new Dictionary<QImage, int>();
|
||||
private readonly HashSet<QImage> imagesNotUsed = new HashSet<QImage>();
|
||||
private readonly Dictionary<Image, int> textures = new Dictionary<Image, int>();
|
||||
private readonly HashSet<Image> imagesNotUsed = new HashSet<Image>();
|
||||
private bool isDisposed = false;
|
||||
|
||||
public void BeginFrame()
|
||||
{
|
||||
if (imagesNotUsed.Count > 0)
|
||||
{
|
||||
foreach (QImage image in imagesNotUsed)
|
||||
foreach (Image image in imagesNotUsed)
|
||||
{
|
||||
GL.DeleteTexture(textures[image]);
|
||||
}
|
||||
@ -347,13 +347,13 @@ namespace Dashboard.OpenGL
|
||||
imagesNotUsed.Clear();
|
||||
}
|
||||
|
||||
foreach (QImage image in textures.Keys)
|
||||
foreach (Image image in textures.Keys)
|
||||
{
|
||||
imagesNotUsed.Add(image);
|
||||
}
|
||||
}
|
||||
|
||||
public int GetTexture(QImage image)
|
||||
public int GetTexture(Image image)
|
||||
{
|
||||
if (textures.TryGetValue(image, out int texture))
|
||||
{
|
||||
@ -372,7 +372,7 @@ namespace Dashboard.OpenGL
|
||||
return textures[image] = texture;
|
||||
}
|
||||
|
||||
public int UploadTexture3d(QImage image3d)
|
||||
public int UploadTexture3d(Image image3d)
|
||||
{
|
||||
int texture = GL.GenTexture();
|
||||
|
||||
@ -388,7 +388,7 @@ namespace Dashboard.OpenGL
|
||||
return texture;
|
||||
}
|
||||
|
||||
public int UploadTexture2d(QImage image2d)
|
||||
public int UploadTexture2d(Image image2d)
|
||||
{
|
||||
int texture = GL.GenTexture();
|
||||
|
||||
@ -403,15 +403,15 @@ namespace Dashboard.OpenGL
|
||||
|
||||
switch (image2d.InternalFormat)
|
||||
{
|
||||
case QImageFormat.RedU8:
|
||||
case QImageFormat.RedF:
|
||||
case ImageFormat.RedU8:
|
||||
case ImageFormat.RedF:
|
||||
GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureSwizzleR, (int)All.Red);
|
||||
GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureSwizzleG, (int)All.Red);
|
||||
GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureSwizzleB, (int)All.Red);
|
||||
GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureSwizzleA, (int)All.One);
|
||||
break;
|
||||
case QImageFormat.AlphaU8:
|
||||
case QImageFormat.AlphaF:
|
||||
case ImageFormat.AlphaU8:
|
||||
case ImageFormat.AlphaF:
|
||||
GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureSwizzleR, (int)All.One);
|
||||
GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureSwizzleG, (int)All.One);
|
||||
GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureSwizzleB, (int)All.One);
|
||||
@ -433,28 +433,28 @@ namespace Dashboard.OpenGL
|
||||
GL.DeleteTextures(ids.Length, ref ids[0]);
|
||||
}
|
||||
|
||||
private static readonly Dictionary<QImageFormat, PixelFormat> s_InternalFormat = new Dictionary<QImageFormat, PixelFormat>()
|
||||
private static readonly Dictionary<ImageFormat, PixelFormat> s_InternalFormat = new Dictionary<ImageFormat, PixelFormat>()
|
||||
{
|
||||
[QImageFormat.AlphaF] = PixelFormat.Alpha,
|
||||
[QImageFormat.AlphaU8] = PixelFormat.Alpha,
|
||||
[QImageFormat.RedF] = PixelFormat.Red,
|
||||
[QImageFormat.RedU8] = PixelFormat.Red,
|
||||
[QImageFormat.RgbF] = PixelFormat.Rgb,
|
||||
[QImageFormat.RgbU8] = PixelFormat.Rgb,
|
||||
[QImageFormat.RgbaU8] = PixelFormat.Rgba,
|
||||
[QImageFormat.RgbaF] = PixelFormat.Rgba,
|
||||
[ImageFormat.AlphaF] = PixelFormat.Alpha,
|
||||
[ImageFormat.AlphaU8] = PixelFormat.Alpha,
|
||||
[ImageFormat.RedF] = PixelFormat.Red,
|
||||
[ImageFormat.RedU8] = PixelFormat.Red,
|
||||
[ImageFormat.RgbF] = PixelFormat.Rgb,
|
||||
[ImageFormat.RgbU8] = PixelFormat.Rgb,
|
||||
[ImageFormat.RgbaU8] = PixelFormat.Rgba,
|
||||
[ImageFormat.RgbaF] = PixelFormat.Rgba,
|
||||
};
|
||||
|
||||
private static readonly Dictionary<QImageFormat, PixelType> s_PixelType = new Dictionary<QImageFormat, PixelType>()
|
||||
private static readonly Dictionary<ImageFormat, PixelType> s_PixelType = new Dictionary<ImageFormat, PixelType>()
|
||||
{
|
||||
[QImageFormat.AlphaF] = PixelType.Float,
|
||||
[QImageFormat.RedF] = PixelType.Float,
|
||||
[QImageFormat.RgbF] = PixelType.Float,
|
||||
[QImageFormat.RgbaF] = PixelType.Float,
|
||||
[QImageFormat.AlphaU8] = PixelType.UnsignedByte,
|
||||
[QImageFormat.RedU8] = PixelType.UnsignedByte,
|
||||
[QImageFormat.RgbU8] = PixelType.UnsignedByte,
|
||||
[QImageFormat.RgbaU8] = PixelType.UnsignedByte,
|
||||
[ImageFormat.AlphaF] = PixelType.Float,
|
||||
[ImageFormat.RedF] = PixelType.Float,
|
||||
[ImageFormat.RgbF] = PixelType.Float,
|
||||
[ImageFormat.RgbaF] = PixelType.Float,
|
||||
[ImageFormat.AlphaU8] = PixelType.UnsignedByte,
|
||||
[ImageFormat.RedU8] = PixelType.UnsignedByte,
|
||||
[ImageFormat.RgbU8] = PixelType.UnsignedByte,
|
||||
[ImageFormat.RgbaU8] = PixelType.UnsignedByte,
|
||||
};
|
||||
}
|
||||
}
|
@ -25,7 +25,7 @@ namespace Dashboard.PAL
|
||||
/// <summary>
|
||||
/// The default icon for the application.
|
||||
/// </summary>
|
||||
QImage? Icon { get; set; }
|
||||
Image? Icon { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The event raised when an event is received.
|
||||
|
@ -1,7 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using Dashboard.Media.Font;
|
||||
using Dashboard.Media.Fonts;
|
||||
|
||||
namespace Dashboard.PAL
|
||||
{
|
||||
|
@ -7,6 +7,6 @@ namespace Dashboard.PAL
|
||||
{
|
||||
public interface IFontFactory
|
||||
{
|
||||
bool TryOpen(Stream stream, [NotNullWhen(true)] out QFont font);
|
||||
bool TryOpen(Stream stream, [NotNullWhen(true)] out Font font);
|
||||
}
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Dashboard.Media;
|
||||
using Dashboard.Media.Font;
|
||||
using Dashboard.Media.Fonts;
|
||||
using OpenTK.Mathematics;
|
||||
|
||||
namespace Dashboard
|
||||
@ -110,9 +110,9 @@ namespace Dashboard
|
||||
set => this["list-marker-position"] = value;
|
||||
}
|
||||
|
||||
public QImage? ListMarkerImage
|
||||
public Image? ListMarkerImage
|
||||
{
|
||||
get => (QImage?)this["list-marker-image"];
|
||||
get => (Image?)this["list-marker-image"];
|
||||
set => this["list-marker-image"] = value;
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
using Dashboard.Media;
|
||||
using Dashboard.Media.Font;
|
||||
using Dashboard.Media.Fonts;
|
||||
using Dashboard.PAL;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@ -13,18 +13,18 @@ namespace Dashboard.Typography
|
||||
/// </summary>
|
||||
public class FontProvider : IDisposable
|
||||
{
|
||||
private Dictionary<FontFace, QFont> Fonts { get; } = new Dictionary<FontFace, QFont>();
|
||||
private HashSet<QFont> UsedFonts { get; } = new HashSet<QFont>();
|
||||
private Dictionary<FontFace, Font> Fonts { get; } = new Dictionary<FontFace, Font>();
|
||||
private HashSet<Font> UsedFonts { get; } = new HashSet<Font>();
|
||||
public readonly FontRasterizerOptions RasterizerOptions;
|
||||
public IFontDataBase? Database { get; set; }
|
||||
public IFontFactory? FontFactory { get; set; }
|
||||
private readonly DbApplication App;
|
||||
|
||||
public QFont this[FontFace info]
|
||||
public Font this[FontFace info]
|
||||
{
|
||||
get
|
||||
{
|
||||
if (!Fonts.TryGetValue(info, out QFont? font))
|
||||
if (!Fonts.TryGetValue(info, out Font? font))
|
||||
{
|
||||
using Stream str = Database?.Open(info) ?? throw new Exception("Font could not be found.");
|
||||
|
||||
@ -43,7 +43,7 @@ namespace Dashboard.Typography
|
||||
}
|
||||
}
|
||||
|
||||
public QFont this[SystemFontFamily family]
|
||||
public Font this[SystemFontFamily family]
|
||||
{
|
||||
get
|
||||
{
|
||||
@ -99,7 +99,7 @@ namespace Dashboard.Typography
|
||||
if (isDisposed) return;
|
||||
|
||||
isDisposed = true;
|
||||
foreach (QFont font in Fonts.Values)
|
||||
foreach (Font font in Fonts.Values)
|
||||
{
|
||||
font.Dispose();
|
||||
}
|
||||
|
@ -354,13 +354,13 @@ namespace Dashboard.Typography
|
||||
public struct TypesetCharacter
|
||||
{
|
||||
public int Character;
|
||||
public QImage Texture;
|
||||
public Image Texture;
|
||||
public Rectangle Position;
|
||||
public Rectangle UV;
|
||||
|
||||
public TypesetCharacter(
|
||||
int chr,
|
||||
QImage texture,
|
||||
Image texture,
|
||||
in Rectangle position,
|
||||
in Rectangle uv)
|
||||
{
|
||||
|
@ -75,7 +75,7 @@ namespace Dashboard.Typography
|
||||
}
|
||||
}
|
||||
|
||||
public static Vector2 MeasureHorizontal(ReadOnlySpan<char> str, float size, QFont font)
|
||||
public static Vector2 MeasureHorizontal(ReadOnlySpan<char> str, float size, Font font)
|
||||
{
|
||||
var enumerator = new LineEnumerator(str);
|
||||
|
||||
@ -103,9 +103,9 @@ namespace Dashboard.Typography
|
||||
return new Vector2(width, height);
|
||||
}
|
||||
|
||||
public static void TypesetHorizontalDirect(this DrawList list, ReadOnlySpan<char> str, Vector2 origin, float size, QFont font)
|
||||
public static void TypesetHorizontalDirect(this DrawList list, ReadOnlySpan<char> str, Vector2 origin, float size, Font font)
|
||||
{
|
||||
Dictionary<QImage, FontDrawInfo> drawInfo = new Dictionary<QImage, FontDrawInfo>();
|
||||
Dictionary<Image, FontDrawInfo> drawInfo = new Dictionary<Image, FontDrawInfo>();
|
||||
var enumerator = new LineEnumerator(str);
|
||||
|
||||
Vector2 pen = origin;
|
||||
@ -135,8 +135,8 @@ namespace Dashboard.Typography
|
||||
int codepoint = r.Value;
|
||||
|
||||
font.Get(codepoint, size, out FontGlyph glyph);
|
||||
ref readonly QGlyphMetrics metrics = ref glyph.Metrics;
|
||||
QImage? image = glyph.Image;
|
||||
ref readonly GlyphMetrics metrics = ref glyph.Metrics;
|
||||
Image? image = glyph.Image;
|
||||
|
||||
if (image == null)
|
||||
{
|
||||
@ -175,7 +175,7 @@ namespace Dashboard.Typography
|
||||
|
||||
private struct FontDrawInfo
|
||||
{
|
||||
public QImage Image;
|
||||
public Image Image;
|
||||
public List<Rectangle> rectangles;
|
||||
}
|
||||
}
|
||||
|
@ -14,7 +14,7 @@ namespace Dashboard.VertexGenerator
|
||||
private int _start;
|
||||
private int _baseOffset;
|
||||
private Rectangle _bounds;
|
||||
private QImage? _texture;
|
||||
private Image? _texture;
|
||||
|
||||
public int ZDepth { get; private set; }
|
||||
public DbVertex[] VertexArray => _vertices.InternalArray;
|
||||
@ -33,7 +33,7 @@ namespace Dashboard.VertexGenerator
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void StartDrawCall(in Rectangle bounds, QImage? texture, int baseOffset)
|
||||
public void StartDrawCall(in Rectangle bounds, Image? texture, int baseOffset)
|
||||
{
|
||||
_start = ElementCount;
|
||||
_texture = texture;
|
||||
@ -48,7 +48,7 @@ namespace Dashboard.VertexGenerator
|
||||
public void StartDrawCall(in Rectangle bounds, int baseOffset) => StartDrawCall(bounds, null, baseOffset);
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void StartDrawCall(in Rectangle bounds, QImage texture) => StartDrawCall(bounds, texture, _vertices.Count);
|
||||
public void StartDrawCall(in Rectangle bounds, Image texture) => StartDrawCall(bounds, texture, _vertices.Count);
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void AddVertex(in DbVertex vertex)
|
||||
@ -100,9 +100,9 @@ namespace Dashboard.VertexGenerator
|
||||
public int Start { get; }
|
||||
public int Count { get; }
|
||||
public Rectangle Bounds { get; }
|
||||
public QImage? Texture { get; }
|
||||
public Image? Texture { get; }
|
||||
|
||||
public DrawCall(int start, int count, in Rectangle bounds, QImage? texture)
|
||||
public DrawCall(int start, int count, in Rectangle bounds, Image? texture)
|
||||
{
|
||||
Start = start;
|
||||
Count = count;
|
||||
|
@ -1016,7 +1016,7 @@ namespace Dashboard.VertexGenerator
|
||||
{
|
||||
Frame frame = queue.Dequeue();
|
||||
ImageCommandFlags flags = (ImageCommandFlags)frame.I1;
|
||||
QImage image = queue.Dequeue().As<QImage>();
|
||||
Image image = queue.Dequeue().As<Image>();
|
||||
|
||||
int count = flags.HasFlag(ImageCommandFlags.Single) ? 1 : frame.I2;
|
||||
if (flags.HasFlag(ImageCommandFlags.Image3d))
|
||||
@ -1029,7 +1029,7 @@ namespace Dashboard.VertexGenerator
|
||||
}
|
||||
}
|
||||
|
||||
private void Image2d(DrawQueue queue, QImage image, int count, bool uv)
|
||||
private void Image2d(DrawQueue queue, Image image, int count, bool uv)
|
||||
{
|
||||
DrawQueue.StartDrawCall(Viewport, image);
|
||||
|
||||
@ -1073,7 +1073,7 @@ namespace Dashboard.VertexGenerator
|
||||
DrawQueue.EndDrawCall();
|
||||
}
|
||||
|
||||
private void Image3d(DrawQueue queue, QImage image, int count)
|
||||
private void Image3d(DrawQueue queue, Image image, int count)
|
||||
{
|
||||
DrawQueue.StartDrawCall(Viewport, image);
|
||||
|
||||
|
@ -20,7 +20,7 @@ namespace Dashboard.Demo
|
||||
|
||||
public class EmptyView : View
|
||||
{
|
||||
private QFont? font;
|
||||
private Font? font;
|
||||
DashboardBlurg dblurg = new DashboardBlurg();
|
||||
BlurgResult? result;
|
||||
// private readonly Label Label = new Label() { Text = "Hello world!", Position = new QVec2(300, 300) };
|
||||
|
Loading…
Reference in New Issue
Block a user