-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp_gl3.cpp
More file actions
75 lines (60 loc) · 1.83 KB
/
app_gl3.cpp
File metadata and controls
75 lines (60 loc) · 1.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include "cute.h"
#include "screen.h"
#define GLFW_INCLUDE_GLEXT
#include <GLFW/glfw3.h>
int randInRange(int min, int max)
{
int range = max - min + 1;
return rand() % range + min;
}
int app_exec(ScreenReadyCallback screenReadyCallback)
{
DemoData data;
Screen *screen = new Screen(1000, 800, 2.0);
if (loadDemoData(screen->vg(), &data) == -1)
return -1;
screenReadyCallback(screen);
while (!glfwWindowShouldClose(screen->window()))
{
//double start = glfwGetTime();
//printf("Start = %lf, ", start);
Item::performAnimations();
//printf("Animation = %lf, ", glfwGetTime() - start);
//start = glfwGetTime();
screen->drawAll();
//printf("Draw = %lf\n", glfwGetTime() - start);
glfwPollEvents();
}
freeDemoData(screen->vg(), &data);
glfwTerminate();
return 0;
}
int loadDemoData(NVGcontext* vg, DemoData* data)
{
if (vg == nullptr)
return -1;
#define RES_DIR "/Users/sunilreddy/Desktop/crystalmatter/webassembly/tinygui/TinyGUI/resources/"
data->fontIcons = nvgCreateFont(vg, "fas", RES_DIR"fontawesome-solid.ttf");
if (data->fontIcons == -1) {
printf("Could not add font icons.\n");
return -1;
}
data->fontNormal = nvgCreateFont(vg, "sans", RES_DIR"Roboto-Regular.ttf");
if (data->fontNormal == -1) {
printf("Could not add font italic.\n");
return -1;
}
data->fontBold = nvgCreateFont(vg, "sans-bold", RES_DIR"Roboto-Bold.ttf");
if (data->fontBold == -1) {
printf("Could not add font bold.\n");
return -1;
}
nvgAddFallbackFontId(vg, data->fontNormal, data->fontEmoji);
nvgAddFallbackFontId(vg, data->fontBold, data->fontEmoji);
return 0;
}
void freeDemoData(NVGcontext* vg, DemoData*)
{
if (vg == nullptr)
return;
}