-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.cpp
More file actions
87 lines (82 loc) · 2.5 KB
/
main.cpp
File metadata and controls
87 lines (82 loc) · 2.5 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
76
77
78
79
80
81
82
83
84
85
86
87
#include "header/declare.h"
#include "header/mainmenu.h"
#include "header/LinkedListVisualizer.h"
#include "header/LinkedList.h"
#include "header/linkedlistvisual.h"
#include "header/treevisual.h"
#include "header/graphvisual.h"
#include "header/HashTableVisual.h"
int main () {
InitWindow(screenWidth, screenHeight, "DSA VISUALIZATION");
initResource();
SetTargetFPS(60);
GraphVisualize graph = GraphVisualize(FONT);
TittleButton title = TittleButton({800, 34, 350, 40}, "Graph", -1, Color {255, 254, 206, 255}, 30);
HashTablePage hashPage;
MainPage mainmenu;
while(!WindowShouldClose()) {
float deltaTime = GetFrameTime();
switch(currentScreen) {
case MAINMENU:
mainmenu.handleInput();
mainmenu.update(deltaTime);
break;
case LINKEDLIST:
LINKEDLIST_INTERACT();
break;
case HASH:
if(IsMouseButtonPressed(MOUSE_BUTTON_LEFT)) {
if(MouseButtonPressed(0, 0, 400, 100))
currentScreen = MAINMENU;
}
hashPage.handleInput();
hashPage.update(deltaTime);
break;
case TREE:
TREE_INTERACT();
break;
case GRAPH:
graph.handle(deltaTime);
title.handle();
if (title.getChoice() == 1)
{
graph.clearGraph();
title.setChoice();
}
else if (title.getChoice() == 2)
{
currentScreen = MAINMENU;
title.setChoice();
}
break;
default:
break;
}
BeginDrawing();
ClearBackground((Color){241, 231, 231, 255});
switch(currentScreen) {
case MAINMENU:
mainmenu.draw();
break;
case LINKEDLIST:
DisplayLinkedList();
break;
case HASH:
DisplayHash();
hashPage.draw();
break;
case TREE:
DisplayTree();
break;
case GRAPH:
ClearBackground(THEME.BACKGROUND);
graph.draw();
title.draw();
break;
default:
break;
}
EndDrawing();
}
CloseWindow();
}