Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
TextWidgetBenchmark.c
Go to the documentation of this file.
1class TextWidgetBenchmark : Managed
2{
3 ref Widget root;
4 ref array<ref Widget> texts;
5
7 void InitTest(int textCount, int richTextCount, bool widgetsVisible)
8 {
9 texts = new array<ref Widget>();
10 const string loremIpsum = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Purus sit amet volutpat consequat mauris. Mauris sit amet massa vitae tortor condimentum lacinia. Nibh tellus molestie nunc non. Cum sociis natoque penatibus et magnis. A condimentum vitae sapien pellentesque habitant morbi. Blandit massa enim nec dui nunc mattis enim. Sapien eget mi proin sed libero enim. Ultrices eros in cursus turpis massa tincidunt dui ut ornare. Ornare quam viverra orci sagittis. Augue ut lectus arcu bibendum at varius. Nulla posuere sollicitudin aliquam ultrices sagittis orci a scelerisque. Fames ac turpis egestas maecenas pharetra. Sem viverra aliquet eget sit amet tellus cras. Pellentesque habitant morbi tristique senectus et netus et malesuada. Velit ut tortor pretium viverra. Massa tincidunt nunc pulvinar sapien et ligula ullamcorper. At erat pellentesque adipiscing commodo elit at imperdiet. Quisque egestas diam in arcu cursus.";
11 WorkspaceWidget workspace = g_Game.GetWorkspace();
12 root = workspace.CreateWidget(WidgetType.FrameWidgetTypeID, WidgetFlags.VISIBLE, new Color(1, 1, 1, 1), 0);
13 vector initSize = "256 256 0";
14 vector sizeIncrease = "5 5 0";
15 vector initPos = "0 0 0";
16 vector posIncrease = "5 5 0";
17 for (int i = 0; i < textCount; ++i)
18 {
19 TextWidget text = TextWidget.Cast(workspace.CreateWidget(WidgetType.TextWidgetTypeID, 0, new Color(1, 1, 1, 1), 0, root));
20 text.SetText(loremIpsum);
21 text.SetVisible(widgetsVisible);
22 //text.SetTextWrapping(true);
23 //text.SetMinFontSize(10);
24
25 FrameSlot.SetAnchorMin(text, 0, 0);
26 FrameSlot.SetAnchorMax(text, 0, 0);
27 FrameSlot.SetPos(text, initPos[0] + i * posIncrease[0], initPos[1] + i * posIncrease[1]);
28 FrameSlot.SetSize(text, initSize[0] + i * sizeIncrease[0], initSize[1] + i * sizeIncrease[1]);
29 texts.Insert(text);
30 }
31
32 for (int i = 0; i < richTextCount; ++i)
33 {
34 RichTextWidget text = RichTextWidget.Cast(workspace.CreateWidget(WidgetType.RichTextWidgetTypeID, WidgetFlags.WRAP_TEXT, new Color(1, 1, 1, 1), 0, root));
35 text.SetVisible(widgetsVisible);
36 text.SetText(loremIpsum);
37 text.SetMinFontSize(10);
38
39 FrameSlot.SetAnchorMin(text, 0, 0);
40 FrameSlot.SetAnchorMax(text, 0, 0);
41 FrameSlot.SetPos(text, initPos[0] + i * posIncrease[0], initPos[1] + i * posIncrease[1]);
42 FrameSlot.SetSize(text, initSize[0] + i * sizeIncrease[0], initSize[1] + i * sizeIncrease[1]);
43 }
44
45 Print("Text benchmark initialized");
46 }
47
48
49 int x = 0;
51 void Update()
52 {
53 x++;
54 int p = x % 2;
55 FrameSlot.SetAnchorMin(root, 0, 0);
56 FrameSlot.SetAnchorMax(root, 1, 1);
57 FrameSlot.SetOffsets(root, p, 0, 0, 0);
58 }
59}
Definition Color.c:13
Game g_Game
Game singleton instance.
Definition gameLib.c:13
proto void Print(void var, LogLevel level=LogLevel.NORMAL)
Prints content of variable to console/log.
WidgetFlags
Widget flags. See enf::Widget::SetFlags().
Definition WidgetFlags.c:14