Skip to content

Commit

Permalink
move bitmap center to keyboard's center
Browse files Browse the repository at this point in the history
  • Loading branch information
Aytackydln committed Jun 7, 2024
1 parent 9f8b52b commit 47be56f
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 13 deletions.
5 changes: 3 additions & 2 deletions Project-Aurora/Project-Aurora/EffectsEngine/EffectCanvas.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,16 @@ public sealed class EffectCanvas(
public int Height { get; } = height;
public int BiggestSize { get; } = Math.Max(width, height);

//TODO those 4 vars are about Control. Remove htem from here
public float GridBaselineX { get; } = gridBaselineX;
public float GridBaselineY { get; } = gridBaselineY;
private float GridWidth { get; } = gridWidth;
private float GridHeight { get; } = gridHeight;

public Dictionary<DeviceKeys, BitmapRectangle> BitmapMap { get; } = bitmapMap;

public float WidthCenter => Width / 2.0f; //TODO center the keyboard
public float HeightCenter => Height / 2.0f;
public float WidthCenter { get; init; }
public float HeightCenter { get; init; }

public float EditorToCanvasWidth => Width / GridWidth;
public float EditorToCanvasHeight => Height / GridHeight;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,6 @@ CancellationToken cancellationToken
public double BaselineX { get; private set; }
public double BaselineY { get; private set; }

public double GridWidth => virtualKeyboard.Width;
public double GridHeight => virtualKeyboard.Height;


internal async Task<Panel> Generate()
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,7 @@ await layoutLoad.LoadBrand(
Global.Configuration.HeadsetPreference,
Global.Configuration.ChromaLedsPreference
);
CalculateBitmap(layoutLoad.VirtualKeyboardGroup, layoutLoad.KeyboardWidth, layoutLoad.KeyboardHeight);

await Application.Current.Dispatcher.InvokeAsync(async () =>
{
Expand Down Expand Up @@ -274,7 +275,7 @@ private async void LightingStateManager_LoadLayout(object? sender, EventArgs e)
await LoadBrandDefault();
}

private void CalculateBitmap(KeyboardControlGenerator kcg, VirtualGroup virtualKeyboardGroup)
private void CalculateBitmap(VirtualGroup virtualKeyboardGroup, float keyboardWidth, float keyboardHeight)
{
double curWidth = 0;
double curHeight = 0;
Expand Down Expand Up @@ -323,7 +324,7 @@ private void CalculateBitmap(KeyboardControlGenerator kcg, VirtualGroup virtualK
curHeight = Math.Max(curHeight, y);
}
}

widthMax = Math.Max(widthMax, brX);
heightMax = Math.Max(heightMax, brY);
}
Expand All @@ -333,13 +334,17 @@ private void CalculateBitmap(KeyboardControlGenerator kcg, VirtualGroup virtualK
PixelToByte(virtualKeyboardGroup.Region.Width),
PixelToByte(virtualKeyboardGroup.Region.Height),
bitmapMap,
(float)kcg.BaselineX, (float)kcg.BaselineY,
(float)kcg.GridWidth, (float)kcg.GridHeight
);
0, 0,
PixelToByte(virtualKeyboardGroup.Region.Width),
PixelToByte(virtualKeyboardGroup.Region.Height)
)
{
WidthCenter = keyboardWidth / 2,
HeightCenter = keyboardHeight / 2,
};
}

private async Task<Panel> CreateUserControl(VirtualGroup virtualKeyboardGroup, CancellationToken cancellationToken,
bool abstractKeycaps = false)
private async Task<Panel> CreateUserControl(VirtualGroup virtualKeyboardGroup, CancellationToken cancellationToken, bool abstractKeycaps = false)
{
if (!abstractKeycaps)
_virtualKeyboardMap.Clear();
Expand All @@ -349,7 +354,6 @@ private async Task<Panel> CreateUserControl(VirtualGroup virtualKeyboardGroup, C
cancellationToken);

var keyboardControl = await kcg.Generate();
CalculateBitmap(kcg, virtualKeyboardGroup);
return keyboardControl;
}

Expand Down
4 changes: 4 additions & 0 deletions Project-Aurora/Project-Aurora/Modules/Layouts/LayoutLoad.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ namespace AuroraRgb.Modules.Layouts;

public class LayoutLoad(string layoutsPath, bool loadLinkLeds)
{
public float KeyboardWidth { get; private set; }
public float KeyboardHeight { get; private set; }
public Dictionary<DeviceKeys, DeviceKeys> LayoutKeyConversion { get; private set; } = new();
public VirtualGroup VirtualKeyboardGroup { get; } = new();

Expand Down Expand Up @@ -64,6 +66,8 @@ internal async Task LoadBrand(
{
var layoutConfigPath = Path.Combine(layoutsPath, keyboardLayoutFile);
await LoadKeyboard(layoutConfigPath, cancellationToken);
KeyboardWidth = VirtualKeyboardGroup.Region.Width / (int)Global.Configuration.BitmapAccuracy;
KeyboardHeight = VirtualKeyboardGroup.Region.Height / (int)Global.Configuration.BitmapAccuracy;
}

if (PeripheralLayoutMap.MouseLayoutMap.TryGetValue(mousePreference, out var mouseLayoutJsonFile))
Expand Down

0 comments on commit 47be56f

Please sign in to comment.