Skip to content

Commit

Permalink
Full on rewrite to C (done)
Browse files Browse the repository at this point in the history
  • Loading branch information
dimkauzh committed Dec 5, 2023
1 parent cdf432e commit e0445fb
Show file tree
Hide file tree
Showing 30 changed files with 442 additions and 538 deletions.
25 changes: 18 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,23 @@ add_subdirectory(libs/glfw)

# Set the source files for the library
file(GLOB LIBRARY_SOURCES
"src/vuelto/core/*.cpp"
"src/vuelto/event/*.cpp"
"src/vuelto/core/*.c"
"src/vuelto/event/*.c"
)

file(GLOB LIBRARY_HEADERS
"src/Vuelto.hpp"
"src/vuelto/core/*.hpp"
"src/vuelto/event/*.hpp"
"src/vuelto/tools/*.hpp"
"src/Vuelto.h"
"src/vuelto/core/*.h"
"src/vuelto/event/*.h"
"src/vuelto/tools/*.h"
"src/vuelto/vendor/GLFW/*.h"
"src/vuelto/vendor/stb_image/*.h"
)

# Create the shared library
add_library(vuelto SHARED ${LIBRARY_SOURCES} ${LIBRARY_HEADERS})

set_property(TARGET vuelto PROPERTY CXX_STANDARD 11)
set_property(TARGET vuelto PROPERTY C_STANDARD 99)

# Set the include directories for the library
target_include_directories(vuelto PUBLIC
Expand All @@ -31,6 +31,17 @@ target_include_directories(vuelto PUBLIC
$<INSTALL_INTERFACE:include>
)

# Copy header files with folder structure under src
foreach(HEADER ${LIBRARY_HEADERS})
file(RELATIVE_PATH HEADER_RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/src ${HEADER})
get_filename_component(HEADER_NAME ${HEADER} NAME)
get_filename_component(HEADER_PATH ${HEADER_RELATIVE} DIRECTORY)

file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/vuelto/${HEADER_PATH})
file(COPY ${HEADER} DESTINATION ${CMAKE_CURRENT_SOURCE_DIR}/include/vuelto/${HEADER_PATH})
endforeach()


# Link GLFW to the library
target_link_libraries(vuelto PUBLIC glfw)

Expand Down
18 changes: 18 additions & 0 deletions include/vuelto/Vuelto.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#ifdef __cplusplus
extern "C" {
#endif

// core
#include "vuelto/core/app.h"
#include "vuelto/core/renderer.h"

// event
#include "vuelto/event/event.h"
#include "vuelto/event/keys.h"

// tools
#include "vuelto/tools/definitions.h"

#ifdef __cplusplus
}
#endif
10 changes: 0 additions & 10 deletions include/vuelto/Vuelto.hpp

This file was deleted.

11 changes: 11 additions & 0 deletions include/vuelto/vuelto/core/app.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#include "../tools/definitions.h"

void vueltoInit();
void vueltoInitMultipleWindows();
Vuelto_Window vueltoCreateWindow(int width, int height, const char *title, bool resizable);
void vueltoDestroyWindow(Vuelto_Window win);
void vueltoTerminate();

bool vueltoWindowShouldClose(Vuelto_Window win);
void vueltoRefresh(Vuelto_Window win);
void vueltoMakeContextCurrent(Vuelto_Window win);
30 changes: 0 additions & 30 deletions include/vuelto/vuelto/core/app.hpp

This file was deleted.

10 changes: 10 additions & 0 deletions include/vuelto/vuelto/core/renderer.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#include "../tools/definitions.h"

void vueltoDrawRect(float x, float y, float width, float height, float r, float g, float b);
void vueltoSetBackgroundColor(float color1, float color2, float color3);
void vueltoDrawLine(int x1, int x2, int y1, int y2, float color1, float color2, float color3);

Vuelto_Image vueltoLoadImage(const char* imagePath, float x, float y, float width, float height);
void vueltoDrawImage(Vuelto_Image img);

void vueltoCleanUp();
35 changes: 0 additions & 35 deletions include/vuelto/vuelto/core/renderer.hpp

This file was deleted.

9 changes: 9 additions & 0 deletions include/vuelto/vuelto/event/event.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#pragma once

#include "../core/app.h"
#include "../tools/definitions.h"

void vueltoPollEvents();

bool vueltoKeyPressed(Vuelto_Window window, int keyCode);
bool vueltoKeyPressedOnce(Vuelto_Window window, int key);
20 changes: 0 additions & 20 deletions include/vuelto/vuelto/event/event.hpp

This file was deleted.

96 changes: 96 additions & 0 deletions include/vuelto/vuelto/event/keys.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
#include "../tools/definitions.h"

#define VUELTO_KEY_SPACE GLFW_KEY_SPACE
#define VUELTO_KEY_APOSTROPHE GLFW_KEY_APOSTROPHE
#define VUELTO_KEY_COMMA GLFW_KEY_COMMA
#define VUELTO_KEY_MINUS GLFW_KEY_MINUS
#define VUELTO_KEY_PERIOD GLFW_KEY_PERIOD
#define VUELTO_KEY_SLASH GLFW_KEY_SLASH
#define VUELTO_KEY_0 GLFW_KEY_0
#define VUELTO_KEY_1 GLFW_KEY_1
#define VUELTO_KEY_2 GLFW_KEY_2
#define VUELTO_KEY_3 GLFW_KEY_3
#define VUELTO_KEY_4 GLFW_KEY_4
#define VUELTO_KEY_5 GLFW_KEY_5
#define VUELTO_KEY_6 GLFW_KEY_6
#define VUELTO_KEY_7 GLFW_KEY_7
#define VUELTO_KEY_8 GLFW_KEY_8
#define VUELTO_KEY_9 GLFW_KEY_9
#define VUELTO_KEY_SEMICOLON GLFW_KEY_SEMICOLON
#define VUELTO_KEY_EQUAL GLFW_KEY_EQUAL
#define VUELTO_KEY_A GLFW_KEY_A
#define VUELTO_KEY_B GLFW_KEY_B
#define VUELTO_KEY_C GLFW_KEY_C
#define VUELTO_KEY_D GLFW_KEY_D
#define VUELTO_KEY_E GLFW_KEY_E
#define VUELTO_KEY_F GLFW_KEY_F
#define VUELTO_KEY_G GLFW_KEY_G
#define VUELTO_KEY_H GLFW_KEY_H
#define VUELTO_KEY_I GLFW_KEY_I
#define VUELTO_KEY_J GLFW_KEY_J
#define VUELTO_KEY_K GLFW_KEY_K
#define VUELTO_KEY_L GLFW_KEY_L
#define VUELTO_KEY_M GLFW_KEY_M
#define VUELTO_KEY_N GLFW_KEY_N
#define VUELTO_KEY_O GLFW_KEY_O
#define VUELTO_KEY_P GLFW_KEY_P
#define VUELTO_KEY_Q GLFW_KEY_Q
#define VUELTO_KEY_R GLFW_KEY_R
#define VUELTO_KEY_S GLFW_KEY_S
#define VUELTO_KEY_T GLFW_KEY_T
#define VUELTO_KEY_U GLFW_KEY_U
#define VUELTO_KEY_V GLFW_KEY_V
#define VUELTO_KEY_W GLFW_KEY_W
#define VUELTO_KEY_X GLFW_KEY_X
#define VUELTO_KEY_Y GLFW_KEY_Y
#define VUELTO_KEY_Z GLFW_KEY_Z
#define VUELTO_KEY_LEFT_BRACKET GLFW_KEY_LEFT_BRACKET
#define VUELTO_KEY_BACKSLASH GLFW_KEY_BACKSLASH
#define VUELTO_KEY_RIGHT_BRACKET GLFW_KEY_RIGHT_BRACKET
#define VUELTO_KEY_GRAVE_ACCENT GLFW_KEY_GRAVE_ACCENT
#define VUELTO_KEY_WORLD_1 GLFW_KEY_WORLD_1
#define VUELTO_KEY_WORLD_2 GLFW_KEY_WORLD_2
#define VUELTO_KEY_ESCAPE GLFW_KEY_ESCAPE
#define VUELTO_KEY_ENTER GLFW_KEY_ENTER
#define VUELTO_KEY_TAB GLFW_KEY_TAB
#define VUELTO_KEY_BACKSPACE GLFW_KEY_BACKSPACE
#define VUELTO_KEY_INSERT GLFW_KEY_INSERT
#define VUELTO_KEY_DELETE GLFW_KEY_DELETE
#define VUELTO_KEY_RIGHT GLFW_KEY_RIGHT
#define VUELTO_KEY_LEFT GLFW_KEY_LEFT
#define VUELTO_KEY_DOWN GLFW_KEY_DOWN
#define VUELTO_KEY_UP GLFW_KEY_UP
#define VUELTO_KEY_PAGE_UP GLFW_KEY_PAGE_UP
#define VUELTO_KEY_PAGE_DOWN GLFW_KEY_PAGE_DOWN
#define VUELTO_KEY_HOME GLFW_KEY_HOME
#define VUELTO_KEY_END GLFW_KEY_END
#define VUELTO_KEY_CAPS_LOCK GLFW_KEY_CAPS_LOCK
#define VUELTO_KEY_SCROLL_LOCK GLFW_KEY_SCROLL_LOCK
#define VUELTO_KEY_NUM_LOCK GLFW_KEY_NUM_LOCK
#define VUELTO_KEY_PRINT_SCREEN GLFW_KEY_PRINT_SCREEN
#define VUELTO_KEY_PAUSE GLFW_KEY_PAUSE
#define VUELTO_KEY_F1 GLFW_KEY_F1
#define VUELTO_KEY_F2 GLFW_KEY_F2
#define VUELTO_KEY_F3 GLFW_KEY_F3
#define VUELTO_KEY_F4 GLFW_KEY_F4
#define VUELTO_KEY_F5 GLFW_KEY_F5
#define VUELTO_KEY_F6 GLFW_KEY_F6
#define VUELTO_KEY_F7 GLFW_KEY_F7
#define VUELTO_KEY_F8 GLFW_KEY_F8
#define VUELTO_KEY_F9 GLFW_KEY_F9
#define VUELTO_KEY_F10 GLFW_KEY_F10
#define VUELTO_KEY_F11 GLFW_KEY_F11
#define VUELTO_KEY_F12 GLFW_KEY_F12
#define VUELTO_KEY_F13 GLFW_KEY_F13
#define VUELTO_KEY_F14 GLFW_KEY_F14
#define VUELTO_KEY_F15 GLFW_KEY_F15
#define VUELTO_KEY_F16 GLFW_KEY_F16
#define VUELTO_KEY_F17 GLFW_KEY_F17
#define VUELTO_KEY_F18 GLFW_KEY_F18
#define VUELTO_KEY_F19 GLFW_KEY_F19
#define VUELTO_KEY_F20 GLFW_KEY_F20
#define VUELTO_KEY_F21 GLFW_KEY_F21
#define VUELTO_KEY_F22 GLFW_KEY_F22
#define VUELTO_KEY_F23 GLFW_KEY_F23
#define VUELTO_KEY_F24 GLFW_KEY_F24
#define VUELTO_KEY_F25 GLFW_KEY_F25
Loading

0 comments on commit e0445fb

Please sign in to comment.