Skip to content

Commit 25f76b3

Browse files
refactor: global structure
1 parent 687c8b4 commit 25f76b3

9 files changed

Lines changed: 28 additions & 69 deletions

File tree

FreeFrame/Components/Shapes/Hitbox.cs

Lines changed: 0 additions & 43 deletions
This file was deleted.

FreeFrame/Components/Shapes/SVGCircle.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,11 @@ public override List<Vector2i> GetSelectablePoints()
4545

4646
public override void ImplementObject()
4747
{
48-
foreach (VertexArrayObject vao in Vaos)
48+
foreach (Renderer vao in Vaos)
4949
vao.DeleteObjects();
5050
Vaos.Clear();
5151

52-
Vaos.Add(new VertexArrayObject(GetVertices(), GetVerticesIndexes(), PrimitiveType.Triangles, this));
52+
Vaos.Add(new Renderer(GetVertices(), GetVerticesIndexes(), PrimitiveType.Triangles, this));
5353
}
5454

5555
public override void Move(Vector2i position)

FreeFrame/Components/Shapes/SVGLine.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,11 @@ public override List<Vector2i> GetSelectablePoints()
4949
}
5050
public override void ImplementObject()
5151
{
52-
foreach (VertexArrayObject vao in Vaos)
52+
foreach (Renderer vao in Vaos)
5353
vao.DeleteObjects();
5454
Vaos.Clear();
5555

56-
Vaos.Add(new VertexArrayObject(GetVertices(), GetVerticesIndexes(), PrimitiveType.Lines, this ));
56+
Vaos.Add(new Renderer(GetVertices(), GetVerticesIndexes(), PrimitiveType.Lines, this ));
5757
}
5858
public override void Move(Vector2i position)
5959
{

FreeFrame/Components/Shapes/SVGPath.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,11 +158,11 @@ public override void Move(Vector2i position)
158158
attrType == typeof(SmoothQuadraticBezierCurveTo) ||
159159
attrType == typeof(EllipticalArc))
160160
{
161-
Vaos.Add(new VertexArrayObject(attr.GetVertices(), attr.GetVerticesIndexes(), PrimitiveType.LineStrip, this));
161+
Vaos.Add(new Renderer(attr.GetVertices(), attr.GetVerticesIndexes(), PrimitiveType.LineStrip, this));
162162
}
163163
else
164164
{
165-
Vaos.Add(new VertexArrayObject(attr.GetVertices(), attr.GetVerticesIndexes(), PrimitiveType.Lines, this));
165+
Vaos.Add(new Renderer(attr.GetVertices(), attr.GetVerticesIndexes(), PrimitiveType.Lines, this));
166166
}
167167
attr.UpdateLast(); // Update Last's inner variables
168168
}

FreeFrame/Components/Shapes/SVGRectangle.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,11 @@ public SVGRectangle(int width, int height, int x, int y, int rx, int ry)
4242
}
4343
public override void ImplementObject()
4444
{
45-
foreach (VertexArrayObject vao in Vaos)
45+
foreach (Renderer vao in Vaos)
4646
vao.DeleteObjects();
4747
Vaos.Clear();
4848

49-
Vaos.Add(new VertexArrayObject(GetVertices(), GetVerticesIndexes(), PrimitiveType.Triangles, this));
49+
Vaos.Add(new Renderer(GetVertices(), GetVerticesIndexes(), PrimitiveType.Triangles, this));
5050
}
5151
public override float[] GetVertices() => new float[] { X, Y, X + Width, Y, X + Width, Y + Height, X, Y + Height }; // x, y, x, y, x, y, ... (clockwise)
5252
public override uint[] GetVerticesIndexes() => new uint[] { 0, 1, 2, 0, 2, 3 }; // TODO: please dont hardcode

FreeFrame/Components/Shapes/Shape.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ public abstract class Shape
1818
Guid _id;
1919
#endregion
2020

21-
private List<VertexArrayObject> vaos;
21+
private List<Renderer> vaos;
2222
public virtual int X { get => _x; set => _x = value; }
2323
public virtual int Y { get => _y; set => _y = value; }
2424
public virtual int Width { get => _width; set => _width = value; }
@@ -31,11 +31,11 @@ public abstract class Shape
3131
public bool IsCornerRadiusChangeable { get => _isCornerRadiusChangeable; set => _isCornerRadiusChangeable = value; }
3232
public int CornerRadius { get => _cornerRadius; set => _cornerRadius = value; }
3333
public Guid Id { get => _id; private set => _id = value; }
34-
public List<VertexArrayObject> Vaos { get => vaos; protected set => vaos = value; }
34+
public List<Renderer> Vaos { get => vaos; protected set => vaos = value; }
3535

3636
public Shape()
3737
{
38-
Vaos = new List<VertexArrayObject>();
38+
Vaos = new List<Renderer>();
3939
Color = Color4.Black;
4040
Id = Guid.NewGuid();
4141
}
@@ -46,12 +46,12 @@ public Shape()
4646
public virtual void Draw(Vector2i clientSize)
4747
{
4848
//Console.WriteLine("Draw {0}, {1}, {2}", GetType().Name, Id, GetHashCode());
49-
foreach (VertexArrayObject vao in Vaos)
49+
foreach (Renderer vao in Vaos)
5050
vao.Draw(clientSize, Color, this);
5151
}
5252
public void DeleteObjects()
5353
{
54-
foreach (VertexArrayObject vao in Vaos)
54+
foreach (Renderer vao in Vaos)
5555
vao.DeleteObjects();
5656
Vaos.Clear();
5757
}
Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
namespace FreeFrame
1212
{
13-
public class VertexArrayObject
13+
public class Renderer
1414
{
1515
private int _vertexBufferObjectID;
1616
private int _vertexArrayObjectID;
@@ -23,20 +23,22 @@ public class VertexArrayObject
2323
public int VertexArrayObjectID { get => _vertexArrayObjectID; private set => _vertexArrayObjectID = value; }
2424
public int IndexBufferObjectID { get => _indexBufferObjectID; private set => _indexBufferObjectID = value; }
2525

26-
public VertexArrayObject(PrimitiveType primitiveType)
26+
public Renderer(PrimitiveType primitiveType)
2727
{
2828
_primitiveType = primitiveType;
2929
VertexArrayObjectID = GL.GenVertexArray();
3030
VertexBufferObjectID = GL.GenBuffer();
3131
IndexBufferObjectID = GL.GenBuffer();
3232
_shader = new Shader("Shaders/shader.vert", "Shaders/shader.frag");
3333
}
34-
public VertexArrayObject(float[] vertices, uint[] indexes, PrimitiveType primitiveType) : this(primitiveType)
34+
35+
// TODO: rename this renderer?
36+
public Renderer(float[] vertices, uint[] indexes, PrimitiveType primitiveType) : this(primitiveType)
3537
{
3638
ImplementObjects(vertices, indexes);
3739
}
3840

39-
public VertexArrayObject(float[] vertices, uint[] indexes, PrimitiveType primitiveType, Shape shape) : this(primitiveType)
41+
public Renderer(float[] vertices, uint[] indexes, PrimitiveType primitiveType, Shape shape) : this(primitiveType)
4042
{
4143
Type type = shape.GetType();
4244
if (type == typeof(SVGCircle)) // Shader depend on the shape

FreeFrame/Selector.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,11 @@ public enum SelectorType
3333
None
3434
}
3535

36-
private List<(VertexArrayObject vao, Area hitbox, SelectorType type)> _vaos;
36+
private List<(Renderer vao, Area hitbox, SelectorType type)> _vaos;
3737

3838
public Selector()
3939
{
40-
_vaos = new List<(VertexArrayObject vao, Area hitbox, SelectorType type)>();
40+
_vaos = new List<(Renderer vao, Area hitbox, SelectorType type)>();
4141
}
4242
public void Select(Shape shape)
4343
{
@@ -53,7 +53,7 @@ public void Select(Shape shape)
5353
Width = shape.Width,
5454
Height = shape.Height
5555
};
56-
_vaos.Add((new VertexArrayObject(AreaToFloatArray(hitbox), new uint[] { 0, 1, 2, 3 }, PrimitiveType.LineLoop), hitbox, SelectorType.Edge));
56+
_vaos.Add((new Renderer(AreaToFloatArray(hitbox), new uint[] { 0, 1, 2, 3 }, PrimitiveType.LineLoop), hitbox, SelectorType.Edge));
5757

5858
// Move selector (top-left)
5959
hitbox = new Area
@@ -64,7 +64,7 @@ public void Select(Shape shape)
6464
Height = 10
6565
};
6666
if (shape.IsMoveable)
67-
_vaos.Add((new VertexArrayObject(AreaToFloatArray(hitbox), new uint[] { 0, 1, 2, 0, 2, 3 }, PrimitiveType.Triangles), hitbox, SelectorType.Move));
67+
_vaos.Add((new Renderer(AreaToFloatArray(hitbox), new uint[] { 0, 1, 2, 0, 2, 3 }, PrimitiveType.Triangles), hitbox, SelectorType.Move));
6868

6969
// Resize selector (bottom-right)
7070
hitbox = new Area
@@ -75,7 +75,7 @@ public void Select(Shape shape)
7575
Height = 10
7676
};
7777
if (shape.IsResizeable)
78-
_vaos.Add((new VertexArrayObject(AreaToFloatArray(hitbox), new uint[] { 0, 1, 2, 0, 2, 3 }, PrimitiveType.Triangles), hitbox, SelectorType.Resize));
78+
_vaos.Add((new Renderer(AreaToFloatArray(hitbox), new uint[] { 0, 1, 2, 0, 2, 3 }, PrimitiveType.Triangles), hitbox, SelectorType.Resize));
7979
}
8080
public static float[] AreaToFloatArray(Area area)
8181
{
@@ -88,7 +88,7 @@ public void Draw(Vector2i clientSize)
8888
{
8989
GL.Enable(EnableCap.LineSmooth);
9090
GL.LineWidth(3.0f);
91-
foreach ((VertexArrayObject vao, Area _, SelectorType type) part in _vaos)
91+
foreach ((Renderer vao, Area _, SelectorType type) part in _vaos)
9292
{
9393
if (part.type == SelectorType.Edge)
9494
part.vao.Draw(clientSize, new Color4(0, 125, 200, 255));
@@ -101,7 +101,7 @@ public void Draw(Vector2i clientSize)
101101
public (bool, SelectorType?) HitBox(Vector2i mousePosition)
102102
{
103103
if (_vaos.Count > 0)
104-
foreach ((VertexArrayObject _, Area hitbox, SelectorType type) part in _vaos)
104+
foreach ((Renderer _, Area hitbox, SelectorType type) part in _vaos)
105105
if (part.hitbox.X < mousePosition.X && part.hitbox.X + part.hitbox.Width > mousePosition.X && part.hitbox.Y < mousePosition.Y && part.hitbox.Y + part.hitbox.Height > mousePosition.Y)
106106
return (true, part.type);
107107
return (false, null);

FreeFrame/Window.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -494,7 +494,7 @@ public void ShowUIDebug()
494494

495495
if (_selectedShape != null)
496496
{
497-
foreach (VertexArrayObject vao in _selectedShape.Vaos)
497+
foreach (Renderer vao in _selectedShape.Vaos)
498498
{
499499
ImGui.Text(String.Format("VAO: {0}", vao.VertexArrayObjectID));
500500
ImGui.Text(String.Format("VBO: {0}", vao.VertexBufferObjectID));
@@ -545,7 +545,7 @@ public void ShowUIDebug()
545545
ImGui.Text(string.Format("{0}", shapes.Value[row].GetType().Name));
546546
ImGui.Text(string.Format("{0}", shapes.Value[row].Id));
547547
ImGui.Text(string.Format("{0}", shapes.Value[row].GetHashCode()));
548-
foreach (VertexArrayObject vao in shapes.Value[row].Vaos)
548+
foreach (Renderer vao in shapes.Value[row].Vaos)
549549
{
550550
ImGui.Text(String.Format("VAO: {0}", vao.VertexArrayObjectID));
551551
ImGui.Text(String.Format("VBO: {0}", vao.VertexBufferObjectID));

0 commit comments

Comments
 (0)