add files
This commit is contained in:
parent
e5695c8c8c
commit
4f15924619
5
.editorconfig
Normal file
5
.editorconfig
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
indent_style = tab
|
||||||
|
indent_size = 4
|
595
Classes/BoxPainter.uc
Normal file
595
Classes/BoxPainter.uc
Normal file
@ -0,0 +1,595 @@
|
|||||||
|
class BoxPainter extends BoxPainterBase;
|
||||||
|
|
||||||
|
public final function DrawBox(float X, float Y, float Width, float Height, float Edge, optional byte Shape = 0)
|
||||||
|
{
|
||||||
|
Edge = FMin(FMin(Edge, Width * 0.5), Height * 0.5);
|
||||||
|
|
||||||
|
switch (Shape)
|
||||||
|
{
|
||||||
|
case 100:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_Corner, // TopLeft // | |
|
||||||
|
ECS_Corner, // TopRight // | |
|
||||||
|
ECS_Corner, // BottomLeft // |______|
|
||||||
|
ECS_Corner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 110:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_BeveledCorner, // TopLeft // / |
|
||||||
|
ECS_Corner, // TopRight // | |
|
||||||
|
ECS_Corner, // BottomLeft // |______/
|
||||||
|
ECS_BeveledCorner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 111:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_Corner, // TopLeft // | \
|
||||||
|
ECS_BeveledCorner, // TopRight // | |
|
||||||
|
ECS_BeveledCorner, // BottomLeft // \______|
|
||||||
|
ECS_Corner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 120:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // |\____/|
|
||||||
|
ECS_VerticalCorner, // TopLeft // | |
|
||||||
|
ECS_VerticalCorner, // TopRight // | |
|
||||||
|
ECS_VerticalCorner, // BottomLeft // | ____ |
|
||||||
|
ECS_VerticalCorner // BottomRight // |/ \|
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 121:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // _______
|
||||||
|
ECS_HorisontalCorner, // TopLeft // \ /
|
||||||
|
ECS_HorisontalCorner, // TopRight // | |
|
||||||
|
ECS_HorisontalCorner, // BottomLeft // | |
|
||||||
|
ECS_HorisontalCorner // BottomRight // /_____\
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 130:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_Corner, // TopLeft // | |
|
||||||
|
ECS_Corner, // TopRight // | |
|
||||||
|
ECS_Corner, // BottomLeft // |______/
|
||||||
|
ECS_BeveledCorner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 131:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_Corner, // TopLeft // | \
|
||||||
|
ECS_BeveledCorner, // TopRight // | |
|
||||||
|
ECS_Corner, // BottomLeft // |______|
|
||||||
|
ECS_Corner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 132:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_BeveledCorner, // TopLeft // / |
|
||||||
|
ECS_Corner, // TopRight // | |
|
||||||
|
ECS_Corner, // BottomLeft // |______|
|
||||||
|
ECS_Corner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 133:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_Corner, // TopLeft // | |
|
||||||
|
ECS_Corner, // TopRight // | |
|
||||||
|
ECS_BeveledCorner, // BottomLeft // \______|
|
||||||
|
ECS_Corner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 140:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_BeveledCorner, // TopLeft // / \
|
||||||
|
ECS_BeveledCorner, // TopRight // | |
|
||||||
|
ECS_BeveledCorner, // BottomLeft // \______|
|
||||||
|
ECS_Corner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 141:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_BeveledCorner, // TopLeft // / |
|
||||||
|
ECS_Corner, // TopRight // | |
|
||||||
|
ECS_BeveledCorner, // BottomLeft // \______/
|
||||||
|
ECS_BeveledCorner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 142:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_Corner, // TopLeft // | \
|
||||||
|
ECS_BeveledCorner, // TopRight // | |
|
||||||
|
ECS_BeveledCorner, // BottomLeft // \______/
|
||||||
|
ECS_BeveledCorner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 143:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_BeveledCorner, // TopLeft // / \
|
||||||
|
ECS_BeveledCorner, // TopRight // | |
|
||||||
|
ECS_Corner, // BottomLeft // |______/
|
||||||
|
ECS_BeveledCorner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 150:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_BeveledCorner, // TopLeft // / \
|
||||||
|
ECS_BeveledCorner, // TopRight // | |
|
||||||
|
ECS_VerticalCorner, // BottomLeft // | ____ |
|
||||||
|
ECS_VerticalCorner // BottomRight // |/ \|
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 151:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // _______
|
||||||
|
ECS_BeveledCorner, // TopLeft // / /
|
||||||
|
ECS_HorisontalCorner, // TopRight // | |
|
||||||
|
ECS_BeveledCorner, // BottomLeft // \______\
|
||||||
|
ECS_HorisontalCorner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 152:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // |\____/|
|
||||||
|
ECS_VerticalCorner, // TopLeft // | |
|
||||||
|
ECS_VerticalCorner, // TopRight // | |
|
||||||
|
ECS_BeveledCorner, // BottomLeft // \______/
|
||||||
|
ECS_BeveledCorner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 153:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // _______
|
||||||
|
ECS_HorisontalCorner, // TopLeft // \ \
|
||||||
|
ECS_BeveledCorner, // TopRight // | |
|
||||||
|
ECS_HorisontalCorner, // BottomLeft // /______/
|
||||||
|
ECS_BeveledCorner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 160:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_BeveledCorner, // TopLeft // / /
|
||||||
|
ECS_HorisontalCorner, // TopRight // | |
|
||||||
|
ECS_BeveledCorner, // BottomLeft // \_____/
|
||||||
|
ECS_BeveledCorner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 161:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // |\_____
|
||||||
|
ECS_VerticalCorner, // TopLeft // | \
|
||||||
|
ECS_BeveledCorner, // TopRight // | |
|
||||||
|
ECS_BeveledCorner, // BottomLeft // \______/
|
||||||
|
ECS_BeveledCorner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 162:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_BeveledCorner, // TopLeft // / \
|
||||||
|
ECS_BeveledCorner, // TopRight // | |
|
||||||
|
ECS_HorisontalCorner, // BottomLeft // /______/
|
||||||
|
ECS_BeveledCorner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 163:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_BeveledCorner, // TopLeft // / \
|
||||||
|
ECS_BeveledCorner, // TopRight // | |
|
||||||
|
ECS_BeveledCorner, // BottomLeft // \_____ |
|
||||||
|
ECS_VerticalCorner // BottomRight // \|
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 170:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_BeveledCorner, // TopLeft // / \
|
||||||
|
ECS_BeveledCorner, // TopRight // | |
|
||||||
|
ECS_BeveledCorner, // BottomLeft // \______\
|
||||||
|
ECS_HorisontalCorner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 171:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // _____/|
|
||||||
|
ECS_BeveledCorner, // TopLeft // / |
|
||||||
|
ECS_VerticalCorner, // TopRight // | |
|
||||||
|
ECS_BeveledCorner, // BottomLeft // \______/
|
||||||
|
ECS_BeveledCorner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 172:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // _______
|
||||||
|
ECS_HorisontalCorner, // TopLeft // \ \
|
||||||
|
ECS_BeveledCorner, // TopRight // | |
|
||||||
|
ECS_BeveledCorner, // BottomLeft // \______/
|
||||||
|
ECS_BeveledCorner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 173:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_BeveledCorner, // TopLeft // / \
|
||||||
|
ECS_BeveledCorner, // TopRight // | |
|
||||||
|
ECS_VerticalCorner, // BottomLeft // | _____/
|
||||||
|
ECS_BeveledCorner // BottomRight // |/
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 180:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // _______
|
||||||
|
ECS_Corner, // TopLeft // | /
|
||||||
|
ECS_HorisontalCorner, // TopRight // | |
|
||||||
|
ECS_Corner, // BottomLeft // |______|
|
||||||
|
ECS_Corner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 181:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // |\_____
|
||||||
|
ECS_VerticalCorner, // TopLeft // | |
|
||||||
|
ECS_Corner, // TopRight // | |
|
||||||
|
ECS_Corner, // BottomLeft // |______|
|
||||||
|
ECS_Corner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 182:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_Corner, // TopLeft // | |
|
||||||
|
ECS_Corner, // TopRight // | |
|
||||||
|
ECS_HorisontalCorner, // BottomLeft // /______|
|
||||||
|
ECS_Corner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 183:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_Corner, // TopLeft // | |
|
||||||
|
ECS_Corner, // TopRight // | |
|
||||||
|
ECS_Corner, // BottomLeft // |_____ |
|
||||||
|
ECS_VerticalCorner // BottomRight // \|
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 190:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_Corner, // TopLeft // | |
|
||||||
|
ECS_Corner, // TopRight // | |
|
||||||
|
ECS_Corner, // BottomLeft // |______\
|
||||||
|
ECS_HorisontalCorner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 191:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // _____/|
|
||||||
|
ECS_Corner, // TopLeft // | |
|
||||||
|
ECS_VerticalCorner, // TopRight // | |
|
||||||
|
ECS_Corner, // BottomLeft // |______|
|
||||||
|
ECS_Corner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 192:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // _______
|
||||||
|
ECS_HorisontalCorner, // TopLeft // \ |
|
||||||
|
ECS_Corner, // TopRight // | |
|
||||||
|
ECS_Corner, // BottomLeft // |______|
|
||||||
|
ECS_Corner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 193:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_Corner, // TopLeft // | |
|
||||||
|
ECS_Corner, // TopRight // | |
|
||||||
|
ECS_VerticalCorner, // BottomLeft // | _____|
|
||||||
|
ECS_Corner // BottomRight // |/
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 200:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_Corner, // TopLeft // | |
|
||||||
|
ECS_Corner, // TopRight // | |
|
||||||
|
ECS_VerticalCorner, // BottomLeft // | ____ |
|
||||||
|
ECS_VerticalCorner // BottomRight // |/ \|
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 201:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // _______
|
||||||
|
ECS_Corner, // TopLeft // | /
|
||||||
|
ECS_HorisontalCorner, // TopRight // | |
|
||||||
|
ECS_Corner, // BottomLeft // |______\
|
||||||
|
ECS_HorisontalCorner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 202:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // |\____/|
|
||||||
|
ECS_VerticalCorner, // TopLeft // | |
|
||||||
|
ECS_VerticalCorner, // TopRight // | |
|
||||||
|
ECS_Corner, // BottomLeft // |______|
|
||||||
|
ECS_Corner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 203:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // _______
|
||||||
|
ECS_HorisontalCorner, // TopLeft // \ |
|
||||||
|
ECS_Corner, // TopRight // | |
|
||||||
|
ECS_HorisontalCorner, // BottomLeft // /______|
|
||||||
|
ECS_Corner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 210:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ________
|
||||||
|
ECS_HorisontalCorner, // TopLeft // \ /
|
||||||
|
ECS_HorisontalCorner, // TopRight // | |
|
||||||
|
ECS_BeveledCorner, // BottomLeft // \______/
|
||||||
|
ECS_BeveledCorner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 211:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // |\_____
|
||||||
|
ECS_VerticalCorner, // TopLeft // | \
|
||||||
|
ECS_BeveledCorner, // TopRight // | |
|
||||||
|
ECS_VerticalCorner, // BottomLeft // | _____/
|
||||||
|
ECS_BeveledCorner // BottomRight // |/
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 212:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_BeveledCorner, // TopLeft // / \
|
||||||
|
ECS_BeveledCorner, // TopRight // | |
|
||||||
|
ECS_HorisontalCorner, // BottomLeft // /______\
|
||||||
|
ECS_HorisontalCorner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 213:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // _____/|
|
||||||
|
ECS_BeveledCorner, // TopLeft // / |
|
||||||
|
ECS_VerticalCorner, // TopRight // | |
|
||||||
|
ECS_BeveledCorner, // BottomLeft // \_____ |
|
||||||
|
ECS_VerticalCorner // BottomRight // \|
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 220:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ________
|
||||||
|
ECS_HorisontalCorner, // TopLeft // \ /
|
||||||
|
ECS_HorisontalCorner, // TopRight // | |
|
||||||
|
ECS_Corner, // BottomLeft // |______|
|
||||||
|
ECS_Corner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 221:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // |\_____
|
||||||
|
ECS_VerticalCorner, // TopLeft // | |
|
||||||
|
ECS_Corner, // TopRight // | |
|
||||||
|
ECS_VerticalCorner, // BottomLeft // | _____|
|
||||||
|
ECS_Corner // BottomRight // |/
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 222:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_Corner, // TopLeft // | |
|
||||||
|
ECS_Corner, // TopRight // | |
|
||||||
|
ECS_HorisontalCorner, // BottomLeft // /______\
|
||||||
|
ECS_HorisontalCorner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 223:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // _____/|
|
||||||
|
ECS_Corner, // TopLeft // | |
|
||||||
|
ECS_VerticalCorner, // TopRight // | |
|
||||||
|
ECS_Corner, // BottomLeft // |_____ |
|
||||||
|
ECS_VerticalCorner // BottomRight // \|
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 230:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // _______
|
||||||
|
ECS_BeveledCorner, // TopLeft // / /
|
||||||
|
ECS_HorisontalCorner, // TopRight // | |
|
||||||
|
ECS_HorisontalCorner, // BottomLeft // /______/
|
||||||
|
ECS_BeveledCorner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 231:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // |\_____
|
||||||
|
ECS_VerticalCorner, // TopLeft // | \
|
||||||
|
ECS_BeveledCorner, // TopRight // | |
|
||||||
|
ECS_BeveledCorner, // BottomLeft // \_____ |
|
||||||
|
ECS_VerticalCorner // BottomRight // \|
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 232:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // _______
|
||||||
|
ECS_HorisontalCorner, // TopLeft // \ \
|
||||||
|
ECS_BeveledCorner, // TopRight // | |
|
||||||
|
ECS_BeveledCorner, // BottomLeft // \______\
|
||||||
|
ECS_HorisontalCorner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 233:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // _____/|
|
||||||
|
ECS_BeveledCorner, // TopLeft // / |
|
||||||
|
ECS_VerticalCorner, // TopRight // | |
|
||||||
|
ECS_VerticalCorner, // BottomLeft // | _____/
|
||||||
|
ECS_BeveledCorner // BottomRight // |/
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 240:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // _______
|
||||||
|
ECS_Corner, // TopLeft // | /
|
||||||
|
ECS_HorisontalCorner, // TopRight // | |
|
||||||
|
ECS_HorisontalCorner, // BottomLeft // /______|
|
||||||
|
ECS_Corner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 241:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // |\_____
|
||||||
|
ECS_VerticalCorner, // TopLeft // | |
|
||||||
|
ECS_Corner, // TopRight // | |
|
||||||
|
ECS_Corner, // BottomLeft // |_____ |
|
||||||
|
ECS_VerticalCorner // BottomRight // \|
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 242:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // _______
|
||||||
|
ECS_HorisontalCorner, // TopLeft // \ |
|
||||||
|
ECS_Corner, // TopRight // | |
|
||||||
|
ECS_Corner, // BottomLeft // |______\
|
||||||
|
ECS_HorisontalCorner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 243:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // _____/|
|
||||||
|
ECS_Corner, // TopLeft // | |
|
||||||
|
ECS_VerticalCorner, // TopRight // | |
|
||||||
|
ECS_VerticalCorner, // BottomLeft // | _____|
|
||||||
|
ECS_Corner // BottomRight // |/
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 250:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_BeveledCorner, // TopLeft // / \
|
||||||
|
ECS_BeveledCorner, // TopRight // | |
|
||||||
|
ECS_Corner, // BottomLeft // |______|
|
||||||
|
ECS_Corner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 251:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_BeveledCorner, // TopLeft // / |
|
||||||
|
ECS_Corner, // TopRight // | |
|
||||||
|
ECS_BeveledCorner, // BottomLeft // \______|
|
||||||
|
ECS_Corner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 252:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_Corner, // TopLeft // | |
|
||||||
|
ECS_Corner, // TopRight // | |
|
||||||
|
ECS_BeveledCorner, // BottomLeft // \______/
|
||||||
|
ECS_BeveledCorner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 253:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, // ______
|
||||||
|
ECS_Corner, // TopLeft // | \
|
||||||
|
ECS_BeveledCorner, // TopRight // | |
|
||||||
|
ECS_Corner, // BottomLeft // |______/
|
||||||
|
ECS_BeveledCorner // BottomRight //
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 0:
|
||||||
|
default:
|
||||||
|
DrawShapedBox(
|
||||||
|
X, Y, Width, Height, Edge, //
|
||||||
|
ECS_BeveledCorner, // TopLeft // ______
|
||||||
|
ECS_BeveledCorner, // TopRight // / \
|
||||||
|
ECS_BeveledCorner, // BottomLeft // | |
|
||||||
|
ECS_BeveledCorner // BottomRight // \______/
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
defaultproperties
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
185
Classes/BoxPainterBase.uc
Normal file
185
Classes/BoxPainterBase.uc
Normal file
@ -0,0 +1,185 @@
|
|||||||
|
class BoxPainterBase extends Object;
|
||||||
|
|
||||||
|
const Texture = Texture2D'UI_LevelChevrons_TEX.UI_LevelChevron_Icon_02';
|
||||||
|
|
||||||
|
enum EPosition
|
||||||
|
{
|
||||||
|
ECP_TopLeft,
|
||||||
|
ECP_TopRight,
|
||||||
|
ECP_BottomLeft,
|
||||||
|
ECP_BottomRight
|
||||||
|
};
|
||||||
|
|
||||||
|
enum EShape
|
||||||
|
{
|
||||||
|
ECS_Corner,
|
||||||
|
ECS_BeveledCorner,
|
||||||
|
ECS_VerticalCorner,
|
||||||
|
ECS_HorisontalCorner
|
||||||
|
};
|
||||||
|
|
||||||
|
var public Canvas Canvas;
|
||||||
|
|
||||||
|
private final function DrawBoxTexture(float X, float Y)
|
||||||
|
{
|
||||||
|
Canvas.DrawTile(Texture, X, Y, 19, 45, 1, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
private final function DrawCornerTexture(float Size, byte Position)
|
||||||
|
{
|
||||||
|
switch (Position)
|
||||||
|
{
|
||||||
|
case ECP_TopLeft: Canvas.DrawTile(Texture, Size, Size, 77, 15, -66, 58); return;
|
||||||
|
case ECP_TopRight: Canvas.DrawTile(Texture, Size, Size, 11, 15, 66, 58); return;
|
||||||
|
case ECP_BottomLeft: Canvas.DrawTile(Texture, Size, Size, 77, 73, -66, -58); return;
|
||||||
|
case ECP_BottomRight: Canvas.DrawTile(Texture, Size, Size, 11, 73, 66, -58); return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private final function DrawCorner(float X, float Y, float Edge, byte Position, byte Shape)
|
||||||
|
{
|
||||||
|
switch (Position)
|
||||||
|
{
|
||||||
|
case ECP_TopLeft: switch (Shape)
|
||||||
|
{
|
||||||
|
case ECS_Corner:
|
||||||
|
return;
|
||||||
|
|
||||||
|
case ECS_BeveledCorner:
|
||||||
|
Canvas.SetPos(X, Y);
|
||||||
|
DrawCornerTexture(Edge, ECP_TopLeft);
|
||||||
|
return;
|
||||||
|
|
||||||
|
case ECS_VerticalCorner:
|
||||||
|
Canvas.SetPos(X, Y - Edge);
|
||||||
|
DrawCornerTexture(Edge, ECP_TopRight);
|
||||||
|
return;
|
||||||
|
|
||||||
|
case ECS_HorisontalCorner:
|
||||||
|
Canvas.SetPos(X - Edge, Y);
|
||||||
|
DrawCornerTexture(Edge, ECP_BottomLeft);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
case ECP_TopRight: switch (Shape)
|
||||||
|
{
|
||||||
|
case ECS_Corner:
|
||||||
|
return;
|
||||||
|
|
||||||
|
case ECS_BeveledCorner:
|
||||||
|
Canvas.SetPos(X - Edge, Y);
|
||||||
|
DrawCornerTexture(Edge, ECP_TopRight);
|
||||||
|
return;
|
||||||
|
|
||||||
|
case ECS_VerticalCorner:
|
||||||
|
Canvas.SetPos(X - Edge, Y - Edge);
|
||||||
|
DrawCornerTexture(Edge, ECP_TopLeft);
|
||||||
|
return;
|
||||||
|
|
||||||
|
case ECS_HorisontalCorner:
|
||||||
|
Canvas.SetPos(X, Y);
|
||||||
|
DrawCornerTexture(Edge, ECP_BottomRight);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
case ECP_BottomLeft: switch (Shape)
|
||||||
|
{
|
||||||
|
case ECS_Corner:
|
||||||
|
return;
|
||||||
|
|
||||||
|
case ECS_BeveledCorner:
|
||||||
|
Canvas.SetPos(X, Y - Edge);
|
||||||
|
DrawCornerTexture(Edge, ECP_BottomLeft);
|
||||||
|
return;
|
||||||
|
|
||||||
|
case ECS_VerticalCorner:
|
||||||
|
Canvas.SetPos(X, Y);
|
||||||
|
DrawCornerTexture(Edge, ECP_BottomRight);
|
||||||
|
return;
|
||||||
|
|
||||||
|
case ECS_HorisontalCorner:
|
||||||
|
Canvas.SetPos(X - Edge, Y - Edge);
|
||||||
|
DrawCornerTexture(Edge, ECP_TopLeft);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
case ECP_BottomRight: switch (Shape)
|
||||||
|
{
|
||||||
|
case ECS_Corner:
|
||||||
|
return;
|
||||||
|
|
||||||
|
case ECS_BeveledCorner:
|
||||||
|
Canvas.SetPos(X - Edge, Y - Edge);
|
||||||
|
DrawCornerTexture(Edge, ECP_BottomRight);
|
||||||
|
return;
|
||||||
|
|
||||||
|
case ECS_VerticalCorner:
|
||||||
|
Canvas.SetPos(X - Edge, Y);
|
||||||
|
DrawCornerTexture(Edge, ECP_BottomLeft);
|
||||||
|
return;
|
||||||
|
|
||||||
|
case ECS_HorisontalCorner:
|
||||||
|
Canvas.SetPos(X, Y - Edge);
|
||||||
|
DrawCornerTexture(Edge, ECP_TopRight);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public final function DrawShapedBox(float X, float Y, float W, float H, float Edge, byte TopLeftShape, byte TopRightShape, byte BottomLeftShape, byte BottomRightShape)
|
||||||
|
{
|
||||||
|
local float BoxX, BoxW;
|
||||||
|
|
||||||
|
Canvas.PreOptimizeDrawTiles((
|
||||||
|
3 // x3 DrawBoxTexture(...) + x1..x4 DrawCornerTexture(...)
|
||||||
|
+ (TopLeftShape == ECS_Corner ? 0 : 1)
|
||||||
|
+ (TopRightShape == ECS_Corner ? 0 : 1)
|
||||||
|
+ (BottomLeftShape == ECS_Corner ? 0 : 1)
|
||||||
|
+ (BottomRightShape == ECS_Corner ? 0 : 1)
|
||||||
|
), Texture);
|
||||||
|
|
||||||
|
// Top Line
|
||||||
|
DrawCorner(X, Y, Edge, ECP_TopLeft, TopLeftShape);
|
||||||
|
|
||||||
|
BoxX = X; BoxW = W;
|
||||||
|
if (TopLeftShape == ECS_BeveledCorner)
|
||||||
|
{
|
||||||
|
BoxX += Edge;
|
||||||
|
BoxW -= Edge;
|
||||||
|
}
|
||||||
|
if (TopRightShape == ECS_BeveledCorner)
|
||||||
|
{
|
||||||
|
BoxW -= Edge;
|
||||||
|
}
|
||||||
|
Canvas.SetPos(BoxX, Y);
|
||||||
|
DrawBoxTexture(BoxW, Edge);
|
||||||
|
|
||||||
|
DrawCorner(X + W, Y, Edge, ECP_TopRight, TopRightShape);
|
||||||
|
|
||||||
|
// Mid Line
|
||||||
|
Canvas.SetPos(X, Y + Edge);
|
||||||
|
DrawBoxTexture(W, H - Edge * 2);
|
||||||
|
|
||||||
|
// Bottom Line
|
||||||
|
DrawCorner(X, Y + H, Edge, ECP_BottomLeft, BottomLeftShape);
|
||||||
|
|
||||||
|
BoxX = X; BoxW = W;
|
||||||
|
if (BottomLeftShape == ECS_BeveledCorner)
|
||||||
|
{
|
||||||
|
BoxX += Edge;
|
||||||
|
BoxW -= Edge;
|
||||||
|
}
|
||||||
|
if (BottomRightShape == ECS_BeveledCorner)
|
||||||
|
{
|
||||||
|
BoxW -= Edge;
|
||||||
|
}
|
||||||
|
Canvas.SetPos(BoxX, Y + H - Edge);
|
||||||
|
DrawBoxTexture(BoxW, Edge);
|
||||||
|
|
||||||
|
DrawCorner(X + W, Y + H, Edge, ECP_BottomRight, BottomRightShape);
|
||||||
|
}
|
||||||
|
|
||||||
|
defaultproperties
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
165
LICENSE
Normal file
165
LICENSE
Normal file
@ -0,0 +1,165 @@
|
|||||||
|
GNU LESSER GENERAL PUBLIC LICENSE
|
||||||
|
Version 3, 29 June 2007
|
||||||
|
|
||||||
|
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
|
||||||
|
This version of the GNU Lesser General Public License incorporates
|
||||||
|
the terms and conditions of version 3 of the GNU General Public
|
||||||
|
License, supplemented by the additional permissions listed below.
|
||||||
|
|
||||||
|
0. Additional Definitions.
|
||||||
|
|
||||||
|
As used herein, "this License" refers to version 3 of the GNU Lesser
|
||||||
|
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
||||||
|
General Public License.
|
||||||
|
|
||||||
|
"The Library" refers to a covered work governed by this License,
|
||||||
|
other than an Application or a Combined Work as defined below.
|
||||||
|
|
||||||
|
An "Application" is any work that makes use of an interface provided
|
||||||
|
by the Library, but which is not otherwise based on the Library.
|
||||||
|
Defining a subclass of a class defined by the Library is deemed a mode
|
||||||
|
of using an interface provided by the Library.
|
||||||
|
|
||||||
|
A "Combined Work" is a work produced by combining or linking an
|
||||||
|
Application with the Library. The particular version of the Library
|
||||||
|
with which the Combined Work was made is also called the "Linked
|
||||||
|
Version".
|
||||||
|
|
||||||
|
The "Minimal Corresponding Source" for a Combined Work means the
|
||||||
|
Corresponding Source for the Combined Work, excluding any source code
|
||||||
|
for portions of the Combined Work that, considered in isolation, are
|
||||||
|
based on the Application, and not on the Linked Version.
|
||||||
|
|
||||||
|
The "Corresponding Application Code" for a Combined Work means the
|
||||||
|
object code and/or source code for the Application, including any data
|
||||||
|
and utility programs needed for reproducing the Combined Work from the
|
||||||
|
Application, but excluding the System Libraries of the Combined Work.
|
||||||
|
|
||||||
|
1. Exception to Section 3 of the GNU GPL.
|
||||||
|
|
||||||
|
You may convey a covered work under sections 3 and 4 of this License
|
||||||
|
without being bound by section 3 of the GNU GPL.
|
||||||
|
|
||||||
|
2. Conveying Modified Versions.
|
||||||
|
|
||||||
|
If you modify a copy of the Library, and, in your modifications, a
|
||||||
|
facility refers to a function or data to be supplied by an Application
|
||||||
|
that uses the facility (other than as an argument passed when the
|
||||||
|
facility is invoked), then you may convey a copy of the modified
|
||||||
|
version:
|
||||||
|
|
||||||
|
a) under this License, provided that you make a good faith effort to
|
||||||
|
ensure that, in the event an Application does not supply the
|
||||||
|
function or data, the facility still operates, and performs
|
||||||
|
whatever part of its purpose remains meaningful, or
|
||||||
|
|
||||||
|
b) under the GNU GPL, with none of the additional permissions of
|
||||||
|
this License applicable to that copy.
|
||||||
|
|
||||||
|
3. Object Code Incorporating Material from Library Header Files.
|
||||||
|
|
||||||
|
The object code form of an Application may incorporate material from
|
||||||
|
a header file that is part of the Library. You may convey such object
|
||||||
|
code under terms of your choice, provided that, if the incorporated
|
||||||
|
material is not limited to numerical parameters, data structure
|
||||||
|
layouts and accessors, or small macros, inline functions and templates
|
||||||
|
(ten or fewer lines in length), you do both of the following:
|
||||||
|
|
||||||
|
a) Give prominent notice with each copy of the object code that the
|
||||||
|
Library is used in it and that the Library and its use are
|
||||||
|
covered by this License.
|
||||||
|
|
||||||
|
b) Accompany the object code with a copy of the GNU GPL and this license
|
||||||
|
document.
|
||||||
|
|
||||||
|
4. Combined Works.
|
||||||
|
|
||||||
|
You may convey a Combined Work under terms of your choice that,
|
||||||
|
taken together, effectively do not restrict modification of the
|
||||||
|
portions of the Library contained in the Combined Work and reverse
|
||||||
|
engineering for debugging such modifications, if you also do each of
|
||||||
|
the following:
|
||||||
|
|
||||||
|
a) Give prominent notice with each copy of the Combined Work that
|
||||||
|
the Library is used in it and that the Library and its use are
|
||||||
|
covered by this License.
|
||||||
|
|
||||||
|
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
||||||
|
document.
|
||||||
|
|
||||||
|
c) For a Combined Work that displays copyright notices during
|
||||||
|
execution, include the copyright notice for the Library among
|
||||||
|
these notices, as well as a reference directing the user to the
|
||||||
|
copies of the GNU GPL and this license document.
|
||||||
|
|
||||||
|
d) Do one of the following:
|
||||||
|
|
||||||
|
0) Convey the Minimal Corresponding Source under the terms of this
|
||||||
|
License, and the Corresponding Application Code in a form
|
||||||
|
suitable for, and under terms that permit, the user to
|
||||||
|
recombine or relink the Application with a modified version of
|
||||||
|
the Linked Version to produce a modified Combined Work, in the
|
||||||
|
manner specified by section 6 of the GNU GPL for conveying
|
||||||
|
Corresponding Source.
|
||||||
|
|
||||||
|
1) Use a suitable shared library mechanism for linking with the
|
||||||
|
Library. A suitable mechanism is one that (a) uses at run time
|
||||||
|
a copy of the Library already present on the user's computer
|
||||||
|
system, and (b) will operate properly with a modified version
|
||||||
|
of the Library that is interface-compatible with the Linked
|
||||||
|
Version.
|
||||||
|
|
||||||
|
e) Provide Installation Information, but only if you would otherwise
|
||||||
|
be required to provide such information under section 6 of the
|
||||||
|
GNU GPL, and only to the extent that such information is
|
||||||
|
necessary to install and execute a modified version of the
|
||||||
|
Combined Work produced by recombining or relinking the
|
||||||
|
Application with a modified version of the Linked Version. (If
|
||||||
|
you use option 4d0, the Installation Information must accompany
|
||||||
|
the Minimal Corresponding Source and Corresponding Application
|
||||||
|
Code. If you use option 4d1, you must provide the Installation
|
||||||
|
Information in the manner specified by section 6 of the GNU GPL
|
||||||
|
for conveying Corresponding Source.)
|
||||||
|
|
||||||
|
5. Combined Libraries.
|
||||||
|
|
||||||
|
You may place library facilities that are a work based on the
|
||||||
|
Library side by side in a single library together with other library
|
||||||
|
facilities that are not Applications and are not covered by this
|
||||||
|
License, and convey such a combined library under terms of your
|
||||||
|
choice, if you do both of the following:
|
||||||
|
|
||||||
|
a) Accompany the combined library with a copy of the same work based
|
||||||
|
on the Library, uncombined with any other library facilities,
|
||||||
|
conveyed under the terms of this License.
|
||||||
|
|
||||||
|
b) Give prominent notice with the combined library that part of it
|
||||||
|
is a work based on the Library, and explaining where to find the
|
||||||
|
accompanying uncombined form of the same work.
|
||||||
|
|
||||||
|
6. Revised Versions of the GNU Lesser General Public License.
|
||||||
|
|
||||||
|
The Free Software Foundation may publish revised and/or new versions
|
||||||
|
of the GNU Lesser General Public License from time to time. Such new
|
||||||
|
versions will be similar in spirit to the present version, but may
|
||||||
|
differ in detail to address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the
|
||||||
|
Library as you received it specifies that a certain numbered version
|
||||||
|
of the GNU Lesser General Public License "or any later version"
|
||||||
|
applies to it, you have the option of following the terms and
|
||||||
|
conditions either of that published version or of any later version
|
||||||
|
published by the Free Software Foundation. If the Library as you
|
||||||
|
received it does not specify a version number of the GNU Lesser
|
||||||
|
General Public License, you may choose any version of the GNU Lesser
|
||||||
|
General Public License ever published by the Free Software Foundation.
|
||||||
|
|
||||||
|
If the Library as you received it specifies that a proxy can decide
|
||||||
|
whether future versions of the GNU Lesser General Public License shall
|
||||||
|
apply, that proxy's public statement of acceptance of any version is
|
||||||
|
permanent authorization for you to choose that version for the
|
||||||
|
Library.
|
47
README.md
47
README.md
@ -1,2 +1,47 @@
|
|||||||
# KF2-BoxPainterLib
|
# KF2-BoxPainterLib
|
||||||
2D Box Drawing Library
|
|
||||||
|
[![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/GenZmeY/KF2-BoxPainterLib)](https://github.com/GenZmeY/KF2-BoxPainterLib/tags)
|
||||||
|
[![GitHub top language](https://img.shields.io/github/languages/top/GenZmeY/KF2-BoxPainterLib)](https://docs.unrealengine.com/udk/Three/WebHome.html)
|
||||||
|
[![GitHub](https://img.shields.io/github/license/GenZmeY/KF2-BoxPainterLib)](LICENSE)
|
||||||
|
|
||||||
|
**2D box drawing library**
|
||||||
|
|
||||||
|
# Add to your project
|
||||||
|
There are two ways to add BoxPainterLib to your project:
|
||||||
|
### 1. As [git submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules)
|
||||||
|
Open git-bash and go to your project: `cd <your_project_path>`
|
||||||
|
Add submodule: `git submodule add https://github.com/GenZmeY/KF2-BoxPainterLib BoxPainterLib`
|
||||||
|
|
||||||
|
**updating library:**
|
||||||
|
Get updates: `pushd BoxPainterLib && git pull && popd`
|
||||||
|
Commit the changes: `git add BoxPainterLib && git commit -m 'update box painter lib'`
|
||||||
|
|
||||||
|
### 2. As standalone sources
|
||||||
|
Create a `BoxPainterLib` folder and put [this repo](https://github.com/GenZmeY/KF2-BoxPainterLib) there.
|
||||||
|
|
||||||
|
# Using
|
||||||
|
1. Create `BoxPainter` object: `BoxPainter = new class'BoxPainterLib.BoxPainter';`
|
||||||
|
2. Initialize the canvas: `BoxPainter.Canvas = <REPLACE_THIS_WITH_YOUR_CANVAS_OBJECT>;`
|
||||||
|
3. `BoxPainter` is ready! Use functions [DrawBox(...)](https://github.com/GenZmeY/KF2-BoxPainterLib/blob/master/Classes/BoxPainter.uc#L3) and [DrawShapedBox(...)](https://github.com/GenZmeY/KF2-BoxPainterLib/blob/master/Classes/BoxPainterBase.uc#L129) to draw cool interface boxes.
|
||||||
|
|
||||||
|
# Available Functions
|
||||||
|
#### DrawShapedBox(float X, float Y, float W, float H, float Edge, byte TopLeftShape, byte TopRightShape, byte BottomLeftShape, byte BottomRightShape)
|
||||||
|
Draws a box using the [shape code](https://github.com/GenZmeY/KF2-BoxPainterLib/blob/master/Classes/BoxPainterBase.uc#L13) for each corner:
|
||||||
|
- ECS_Corner
|
||||||
|
- ECS_BeveledCorner
|
||||||
|
- ECS_VerticalCorner
|
||||||
|
- ECS_HorisontalCorner
|
||||||
|
|
||||||
|
#### DrawBox(float X, float Y, float Width, float Height, float Edge, optional byte Shape = 0)
|
||||||
|
Draws a box using the shape code:
|
||||||
|
![](rect_shapes.png)
|
||||||
|
|
||||||
|
# Build
|
||||||
|
If you are using [KF2-BuildTools](https://github.com/GenZmeY/KF2-BuildTools) open `builder.cfg` and add `BoxPainterLib` **first** in `PackageBuildOrder` and `PackageUpload` parameters
|
||||||
|
|
||||||
|
If you are building manually add line `ModPackages=BoxPainterLib` to your `KFEditor.ini` before all other `ModPackages`
|
||||||
|
|
||||||
|
Now build the mod. `BoxPainterLib.u` library will be next to your `*.u` files
|
||||||
|
|
||||||
|
# License
|
||||||
|
[GNU LGPLv3](LICENSE)
|
||||||
|
BIN
rect_shapes.png
Normal file
BIN
rect_shapes.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 550 KiB |
Loading…
Reference in New Issue
Block a user