From 3e021f3a6b9d3e303ce72625d72bec0c6de2cbfd Mon Sep 17 00:00:00 2001 From: Geoffrey McRae Date: Thu, 28 Mar 2019 19:56:14 +1100 Subject: [PATCH] [client] use cmake to generate renderers/fonts/clipboards headers/code This is in preperation of cmake options to enable/disable various functionallity. --- VERSION | 2 +- client/CMakeLists.txt | 6 +-- client/clipboards/CMakeLists.txt | 46 ++++++++++++++++ .../X11}/CMakeLists.txt | 8 +-- .../{clipboard => clipboards/X11}/src/x11.c | 0 client/fonts/CMakeLists.txt | 53 +++++++++++++------ client/fonts/SDL/CMakeLists.txt | 25 +++++++++ client/fonts/{ => SDL}/src/sdl.c | 0 client/include/lg-clipboards.h | 34 ------------ client/include/lg-fonts.h | 23 -------- client/include/lg-renderers.h | 33 ------------ client/renderers/CMakeLists.txt | 49 ++++++++++++++--- client/renderers/{egl => EGL}/CMakeLists.txt | 9 ++-- client/renderers/{egl => EGL}/alert.c | 0 client/renderers/{egl => EGL}/alert.h | 2 +- client/renderers/{egl => EGL}/cursor.c | 0 client/renderers/{egl => EGL}/cursor.h | 0 client/renderers/{egl => EGL}/desktop.c | 0 client/renderers/{egl => EGL}/desktop.h | 0 client/renderers/{egl => EGL}/draw.c | 0 client/renderers/{egl => EGL}/draw.h | 0 client/renderers/{egl => EGL}/egl.c | 2 +- client/renderers/{egl => EGL}/fps.c | 0 client/renderers/{egl => EGL}/fps.h | 2 +- client/renderers/{egl => EGL}/model.c | 0 client/renderers/{egl => EGL}/model.h | 0 client/renderers/{egl => EGL}/shader.c | 0 client/renderers/{egl => EGL}/shader.h | 0 .../renderers/{egl => EGL}/shader/alert.frag | 0 .../renderers/{egl => EGL}/shader/alert.vert | 0 .../{egl => EGL}/shader/alert_bg.frag | 0 .../renderers/{egl => EGL}/shader/cursor.vert | 0 .../{egl => EGL}/shader/cursor_mono.frag | 0 .../{egl => EGL}/shader/cursor_rgb.frag | 0 .../{egl => EGL}/shader/desktop.vert | 0 .../{egl => EGL}/shader/desktop_rgb.frag | 0 .../{egl => EGL}/shader/desktop_yuv.frag | 0 client/renderers/{egl => EGL}/shader/fps.frag | 0 client/renderers/{egl => EGL}/shader/fps.vert | 0 .../renderers/{egl => EGL}/shader/fps_bg.frag | 0 .../{egl => EGL}/shader/splash_bg.frag | 0 .../{egl => EGL}/shader/splash_bg.vert | 0 .../{egl => EGL}/shader/splash_logo.frag | 0 .../{egl => EGL}/shader/splash_logo.vert | 0 client/renderers/{egl => EGL}/splash.c | 0 client/renderers/{egl => EGL}/splash.h | 2 - client/renderers/{egl => EGL}/texture.c | 0 client/renderers/{egl => EGL}/texture.h | 0 .../{opengl => OpenGL}/CMakeLists.txt | 9 ++-- client/renderers/{opengl => OpenGL}/opengl.c | 2 +- client/src/lg-fonts.c | 31 ----------- client/src/main.c | 6 +-- 52 files changed, 176 insertions(+), 168 deletions(-) create mode 100644 client/clipboards/CMakeLists.txt rename client/{clipboard => clipboards/X11}/CMakeLists.txt (69%) rename client/{clipboard => clipboards/X11}/src/x11.c (100%) create mode 100644 client/fonts/SDL/CMakeLists.txt rename client/fonts/{ => SDL}/src/sdl.c (100%) delete mode 100644 client/include/lg-clipboards.h delete mode 100644 client/include/lg-fonts.h delete mode 100644 client/include/lg-renderers.h rename client/renderers/{egl => EGL}/CMakeLists.txt (83%) rename client/renderers/{egl => EGL}/alert.c (100%) rename client/renderers/{egl => EGL}/alert.h (97%) rename client/renderers/{egl => EGL}/cursor.c (100%) rename client/renderers/{egl => EGL}/cursor.h (100%) rename client/renderers/{egl => EGL}/desktop.c (100%) rename client/renderers/{egl => EGL}/desktop.h (100%) rename client/renderers/{egl => EGL}/draw.c (100%) rename client/renderers/{egl => EGL}/draw.h (100%) rename client/renderers/{egl => EGL}/egl.c (99%) rename client/renderers/{egl => EGL}/fps.c (100%) rename client/renderers/{egl => EGL}/fps.h (97%) rename client/renderers/{egl => EGL}/model.c (100%) rename client/renderers/{egl => EGL}/model.h (100%) rename client/renderers/{egl => EGL}/shader.c (100%) rename client/renderers/{egl => EGL}/shader.h (100%) rename client/renderers/{egl => EGL}/shader/alert.frag (100%) rename client/renderers/{egl => EGL}/shader/alert.vert (100%) rename client/renderers/{egl => EGL}/shader/alert_bg.frag (100%) rename client/renderers/{egl => EGL}/shader/cursor.vert (100%) rename client/renderers/{egl => EGL}/shader/cursor_mono.frag (100%) rename client/renderers/{egl => EGL}/shader/cursor_rgb.frag (100%) rename client/renderers/{egl => EGL}/shader/desktop.vert (100%) rename client/renderers/{egl => EGL}/shader/desktop_rgb.frag (100%) rename client/renderers/{egl => EGL}/shader/desktop_yuv.frag (100%) rename client/renderers/{egl => EGL}/shader/fps.frag (100%) rename client/renderers/{egl => EGL}/shader/fps.vert (100%) rename client/renderers/{egl => EGL}/shader/fps_bg.frag (100%) rename client/renderers/{egl => EGL}/shader/splash_bg.frag (100%) rename client/renderers/{egl => EGL}/shader/splash_bg.vert (100%) rename client/renderers/{egl => EGL}/shader/splash_logo.frag (100%) rename client/renderers/{egl => EGL}/shader/splash_logo.vert (100%) rename client/renderers/{egl => EGL}/splash.c (100%) rename client/renderers/{egl => EGL}/splash.h (97%) rename client/renderers/{egl => EGL}/texture.c (100%) rename client/renderers/{egl => EGL}/texture.h (100%) rename client/renderers/{opengl => OpenGL}/CMakeLists.txt (61%) rename client/renderers/{opengl => OpenGL}/opengl.c (99%) delete mode 100644 client/src/lg-fonts.c diff --git a/VERSION b/VERSION index 75a9f77d..97997260 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -a12-117-g10f7efecb2+1 \ No newline at end of file +a12-118-gb524c077a4+1 \ No newline at end of file diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index 39ffd37a..4ca76a27 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -48,6 +48,7 @@ add_definitions(-D GL_GLEXT_PROTOTYPES) include_directories( ${PROJECT_SOURCE_DIR}/include + ${CMAKE_BINARY_DIR}/include ${PROJECT_SOURCE_DIR}/../common ${PKGCONFIG_INCLUDE_DIRS} ${GMP_INCLUDE_DIR} @@ -62,14 +63,13 @@ link_libraries( set(SOURCES src/main.c src/lg-renderer.c - src/lg-fonts.c src/ll.c src/utils.c ) add_subdirectory(spice) add_subdirectory(renderers) -add_subdirectory(clipboard) +add_subdirectory(clipboards) add_subdirectory(fonts) add_subdirectory(decoders) @@ -78,6 +78,6 @@ target_compile_options(looking-glass-client PUBLIC ${PKGCONFIG_CFLAGS_OTHER}) target_link_libraries(looking-glass-client spice renderers - clipboard + clipboards fonts ) diff --git a/client/clipboards/CMakeLists.txt b/client/clipboards/CMakeLists.txt new file mode 100644 index 00000000..ed41cf12 --- /dev/null +++ b/client/clipboards/CMakeLists.txt @@ -0,0 +1,46 @@ +cmake_minimum_required(VERSION 3.0) +project(clipboards LANGUAGES C) + +set(CLIPBOARD_H "${CMAKE_BINARY_DIR}/include/dynamic/clipboards.h") +set(CLIPBOARD_C "${CMAKE_BINARY_DIR}/src/clipboards.c") + +file(WRITE ${CLIPBOARD_H} "#include \"interface/clipboard.h\"\n\n") +file(APPEND ${CLIPBOARD_H} "extern LG_Clipboard * LG_Clipboards[];\n\n") + +file(WRITE ${CLIPBOARD_C} "#include \"interface/clipboard.h\"\n\n") +file(APPEND ${CLIPBOARD_C} "#include \n\n") + +set(CLIPBOARDS) +set(CLIPBOARDS_LINK) +function(add_clipboard name) + set(CLIPBOARDS "${CLIPBOARDS};${name}" PARENT_SCOPE) + set(CLIPBOARDS_LINK "${CLIPBOARDS_LINK};clipboard_${name}" PARENT_SCOPE) + add_subdirectory(${name}) +endfunction() + +# Add/remove clipboards here! +add_clipboard(X11) + +list(REMOVE_AT CLIPBOARDS 0) +list(REMOVE_AT CLIPBOARDS_LINK 0) + +list(LENGTH CLIPBOARDS CLIPBOARD_COUNT) +file(APPEND ${CLIPBOARD_H} "#define LG_CLIPBOARD_COUNT ${CLIPBOARD_COUNT}\n") + +foreach(clipboard ${CLIPBOARDS}) + file(APPEND ${CLIPBOARD_C} "extern LG_Clipboard LGC_${clipboard};\n") +endforeach() + +file(APPEND ${CLIPBOARD_C} "\nconst LG_Clipboard * LG_Clipboards[] =\n{\n") +foreach(clipboard ${CLIPBOARDS}) + file(APPEND ${CLIPBOARD_C} " &LGC_${clipboard},\n") +endforeach() +file(APPEND ${CLIPBOARD_C} " NULL\n};\n\n") + +add_library(clipboards STATIC + ${CLIPBOARD_C} +) + +target_link_libraries(clipboards + ${CLIPBOARDS_LINK} +) diff --git a/client/clipboard/CMakeLists.txt b/client/clipboards/X11/CMakeLists.txt similarity index 69% rename from client/clipboard/CMakeLists.txt rename to client/clipboards/X11/CMakeLists.txt index 07eb1020..231baf8e 100644 --- a/client/clipboard/CMakeLists.txt +++ b/client/clipboards/X11/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.0) -project(clipboard LANGUAGES C) +project(clipboard_X11 LANGUAGES C) find_package(PkgConfig) pkg_check_modules(CLIPBOARD_PKGCONFIG REQUIRED @@ -7,15 +7,15 @@ pkg_check_modules(CLIPBOARD_PKGCONFIG REQUIRED xfixes ) -add_library(clipboard STATIC +add_library(clipboard_X11 STATIC src/x11.c ) -target_link_libraries(clipboard +target_link_libraries(clipboard_X11 ${CLIPBOARD_PKGCONFIG_LIBRARIES} ) -target_include_directories(clipboard +target_include_directories(clipboard_X11 PUBLIC $ $ diff --git a/client/clipboard/src/x11.c b/client/clipboards/X11/src/x11.c similarity index 100% rename from client/clipboard/src/x11.c rename to client/clipboards/X11/src/x11.c diff --git a/client/fonts/CMakeLists.txt b/client/fonts/CMakeLists.txt index dc98db70..f6513221 100644 --- a/client/fonts/CMakeLists.txt +++ b/client/fonts/CMakeLists.txt @@ -1,25 +1,46 @@ cmake_minimum_required(VERSION 3.0) project(fonts LANGUAGES C) -find_package(PkgConfig) -pkg_check_modules(FONTS_PKGCONFIG REQUIRED - SDL2_ttf - fontconfig -) +set(FONT_H "${CMAKE_BINARY_DIR}/include/dynamic/fonts.h") +set(FONT_C "${CMAKE_BINARY_DIR}/src/fonts.c") + +file(WRITE ${FONT_H} "#include \"interface/font.h\"\n\n") +file(APPEND ${FONT_H} "extern LG_Font * LG_Fonts[];\n\n") + +file(WRITE ${FONT_C} "#include \"interface/font.h\"\n\n") +file(APPEND ${FONT_C} "#include \n\n") + +set(FONTS) +set(FONTS_LINK) +function(add_font name) + set(FONTS "${FONTS};${name}" PARENT_SCOPE) + set(FONTS_LINK "${FONTS_LINK};font_${name}" PARENT_SCOPE) + add_subdirectory(${name}) +endfunction() + +# Add/remove fonts here! +add_font(SDL) + +list(REMOVE_AT FONTS 0) +list(REMOVE_AT FONTS_LINK 0) + +list(LENGTH FONTS FONT_COUNT) +file(APPEND ${FONT_H} "#define LG_FONT_COUNT ${FONT_COUNT}\n") + +foreach(font ${FONTS}) + file(APPEND ${FONT_C} "extern LG_Font LGF_${font};\n") +endforeach() + +file(APPEND ${FONT_C} "\nconst LG_Font * LG_Fonts[] =\n{\n") +foreach(font ${FONTS}) + file(APPEND ${FONT_C} " &LGF_${font},\n") +endforeach() +file(APPEND ${FONT_C} " NULL\n};\n\n") add_library(fonts STATIC - src/sdl.c + ${FONT_C} ) target_link_libraries(fonts - ${FONTS_PKGCONFIG_LIBRARIES} -) - -target_include_directories(fonts - PUBLIC - $ - $ - PRIVATE - src - ${FONTS_PKGCONFIG_INCLUDE_DIRS} + ${FONTS_LINK} ) diff --git a/client/fonts/SDL/CMakeLists.txt b/client/fonts/SDL/CMakeLists.txt new file mode 100644 index 00000000..1684fefa --- /dev/null +++ b/client/fonts/SDL/CMakeLists.txt @@ -0,0 +1,25 @@ +cmake_minimum_required(VERSION 3.0) +project(font_SDL LANGUAGES C) + +find_package(PkgConfig) +pkg_check_modules(FONT_SDL_PKGCONFIG REQUIRED + SDL2_ttf + fontconfig +) + +add_library(font_SDL STATIC + src/sdl.c +) + +target_link_libraries(font_SDL + ${FONT_SDL_PKGCONFIG_LIBRARIES} +) + +target_include_directories(font_SDL + PUBLIC + $ + $ + PRIVATE + src + ${FONT_SDL_PKGCONFIG_INCLUDE_DIRS} +) diff --git a/client/fonts/src/sdl.c b/client/fonts/SDL/src/sdl.c similarity index 100% rename from client/fonts/src/sdl.c rename to client/fonts/SDL/src/sdl.c diff --git a/client/include/lg-clipboards.h b/client/include/lg-clipboards.h deleted file mode 100644 index d91e5799..00000000 --- a/client/include/lg-clipboards.h +++ /dev/null @@ -1,34 +0,0 @@ -/* -Looking Glass - KVM FrameRelay (KVMFR) Client -Copyright (C) 2017-2019 Geoffrey McRae -https://looking-glass.hostfission.com - -This program is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free Software -Foundation; either version 2 of the License, or (at your option) any later -version. - -This program is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -PARTICULAR PURPOSE. See the GNU General Public License for more details. - -You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#pragma once - -#include - -#include "interface/clipboard.h" - -extern const LG_Clipboard LGC_X11; - -const LG_Clipboard * LG_Clipboards[] = -{ - &LGC_X11, - NULL -}; - -#define LG_CLIPBOARD_COUNT ((sizeof(LG_Clipboards) / sizeof(LG_Clipboard *)) - 1) \ No newline at end of file diff --git a/client/include/lg-fonts.h b/client/include/lg-fonts.h deleted file mode 100644 index e3b5e2e1..00000000 --- a/client/include/lg-fonts.h +++ /dev/null @@ -1,23 +0,0 @@ -/* -Looking Glass - KVM FrameRelay (KVMFR) Client -Copyright (C) 2017-2019 Geoffrey McRae -https://looking-glass.hostfission.com - -This program is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free Software -Foundation; either version 2 of the License, or (at your option) any later -version. - -This program is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -PARTICULAR PURPOSE. See the GNU General Public License for more details. - -You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#pragma once -#include "interface/font.h" - -extern const LG_Font * LG_Fonts[]; \ No newline at end of file diff --git a/client/include/lg-renderers.h b/client/include/lg-renderers.h deleted file mode 100644 index 7f9ec8dd..00000000 --- a/client/include/lg-renderers.h +++ /dev/null @@ -1,33 +0,0 @@ -/* -Looking Glass - KVM FrameRelay (KVMFR) Client -Copyright (C) 2017-2019 Geoffrey McRae -https://looking-glass.hostfission.com - -This program is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free Software -Foundation; either version 2 of the License, or (at your option) any later -version. - -This program is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -PARTICULAR PURPOSE. See the GNU General Public License for more details. - -You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#pragma once -#include "interface/renderer.h" - -extern const LG_Renderer LGR_EGL; -extern const LG_Renderer LGR_OpenGL; - -const LG_Renderer * LG_Renderers[] = -{ - &LGR_EGL, - &LGR_OpenGL, - NULL // end of array sentinal -}; - -#define LG_RENDERER_COUNT ((sizeof(LG_Renderers) / sizeof(LG_Renderer *)) - 1) \ No newline at end of file diff --git a/client/renderers/CMakeLists.txt b/client/renderers/CMakeLists.txt index f524ee35..66d7e4da 100644 --- a/client/renderers/CMakeLists.txt +++ b/client/renderers/CMakeLists.txt @@ -1,11 +1,48 @@ cmake_minimum_required(VERSION 3.0) project(renderers LANGUAGES C) -add_subdirectory(opengl) -add_subdirectory(egl) +set(RENDERER_H "${CMAKE_BINARY_DIR}/include/dynamic/renderers.h") +set(RENDERER_C "${CMAKE_BINARY_DIR}/src/renderers.c") -add_library(renderers INTERFACE) -target_link_libraries(renderers INTERFACE - renderer_opengl - renderer_egl +file(WRITE ${RENDERER_H} "#include \"interface/renderer.h\"\n\n") +file(APPEND ${RENDERER_H} "extern LG_Renderer * LG_Renderers[];\n\n") + +file(WRITE ${RENDERER_C} "#include \"interface/renderer.h\"\n\n") +file(APPEND ${RENDERER_C} "#include \n\n") + +set(RENDERERS) +set(RENDERERS_LINK) +function(add_renderer name) + set(RENDERERS "${RENDERERS};${name}" PARENT_SCOPE) + set(RENDERERS_LINK "${RENDERERS_LINK};renderer_${name}" PARENT_SCOPE) + add_subdirectory(${name}) +endfunction() + +# Add/remove renderers here! +add_renderer(EGL) +add_renderer(OpenGL) + +list(REMOVE_AT RENDERERS 0) +list(REMOVE_AT RENDERERS_LINK 0) + +list(LENGTH RENDERERS RENDERER_COUNT) +file(APPEND ${RENDERER_H} "#define LG_RENDERER_COUNT ${RENDERER_COUNT}\n") + +foreach(renderer ${RENDERERS}) + file(APPEND ${RENDERER_C} "extern LG_Renderer LGR_${renderer};\n") +endforeach() + +file(APPEND ${RENDERER_C} "\nconst LG_Renderer * LG_Renderers[] =\n{\n") +foreach(renderer ${RENDERERS}) + file(APPEND ${RENDERER_C} " &LGR_${renderer},\n") +endforeach() +file(APPEND ${RENDERER_C} " NULL\n};") + + +add_library(renderers STATIC + ${RENDERER_C} +) + +target_link_libraries(renderers + ${RENDERERS_LINK} ) diff --git a/client/renderers/egl/CMakeLists.txt b/client/renderers/EGL/CMakeLists.txt similarity index 83% rename from client/renderers/egl/CMakeLists.txt rename to client/renderers/EGL/CMakeLists.txt index 4bdf10d3..758f84e4 100644 --- a/client/renderers/egl/CMakeLists.txt +++ b/client/renderers/EGL/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.0) -project(renderer_egl LANGUAGES C) +project(renderer_EGL LANGUAGES C) find_package(PkgConfig) pkg_check_modules(RENDERER_EGL_PKGCONFIG REQUIRED @@ -29,7 +29,7 @@ make_object( shader/splash_logo.frag ) -add_library(renderer_egl STATIC +add_library(renderer_EGL STATIC egl.c shader.c texture.c @@ -43,11 +43,12 @@ add_library(renderer_egl STATIC ${EGL_SHADER_OBJS} ) -target_link_libraries(renderer_egl +target_link_libraries(renderer_EGL ${RENDERER_EGL_PKGCONFIG_LIBRARIES} + fonts ) -target_include_directories(renderer_egl +target_include_directories(renderer_EGL PRIVATE src ${EGL_SHADER_INCS} diff --git a/client/renderers/egl/alert.c b/client/renderers/EGL/alert.c similarity index 100% rename from client/renderers/egl/alert.c rename to client/renderers/EGL/alert.c diff --git a/client/renderers/egl/alert.h b/client/renderers/EGL/alert.h similarity index 97% rename from client/renderers/egl/alert.h rename to client/renderers/EGL/alert.h index 32c5b38b..9c54f667 100644 --- a/client/renderers/egl/alert.h +++ b/client/renderers/EGL/alert.h @@ -21,7 +21,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA #include -#include "lg-fonts.h" +#include "interface/font.h" typedef struct EGL_Alert EGL_Alert; diff --git a/client/renderers/egl/cursor.c b/client/renderers/EGL/cursor.c similarity index 100% rename from client/renderers/egl/cursor.c rename to client/renderers/EGL/cursor.c diff --git a/client/renderers/egl/cursor.h b/client/renderers/EGL/cursor.h similarity index 100% rename from client/renderers/egl/cursor.h rename to client/renderers/EGL/cursor.h diff --git a/client/renderers/egl/desktop.c b/client/renderers/EGL/desktop.c similarity index 100% rename from client/renderers/egl/desktop.c rename to client/renderers/EGL/desktop.c diff --git a/client/renderers/egl/desktop.h b/client/renderers/EGL/desktop.h similarity index 100% rename from client/renderers/egl/desktop.h rename to client/renderers/EGL/desktop.h diff --git a/client/renderers/egl/draw.c b/client/renderers/EGL/draw.c similarity index 100% rename from client/renderers/egl/draw.c rename to client/renderers/EGL/draw.c diff --git a/client/renderers/egl/draw.h b/client/renderers/EGL/draw.h similarity index 100% rename from client/renderers/egl/draw.h rename to client/renderers/EGL/draw.h diff --git a/client/renderers/egl/egl.c b/client/renderers/EGL/egl.c similarity index 99% rename from client/renderers/egl/egl.c rename to client/renderers/EGL/egl.c index 0394a32a..1479fc8a 100644 --- a/client/renderers/egl/egl.c +++ b/client/renderers/EGL/egl.c @@ -21,7 +21,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA #include "debug.h" #include "utils.h" -#include "lg-fonts.h" +#include "dynamic/fonts.h" #include #include diff --git a/client/renderers/egl/fps.c b/client/renderers/EGL/fps.c similarity index 100% rename from client/renderers/egl/fps.c rename to client/renderers/EGL/fps.c diff --git a/client/renderers/egl/fps.h b/client/renderers/EGL/fps.h similarity index 97% rename from client/renderers/egl/fps.h rename to client/renderers/EGL/fps.h index 51044bef..65acc2a3 100644 --- a/client/renderers/egl/fps.h +++ b/client/renderers/EGL/fps.h @@ -21,7 +21,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA #include -#include "lg-fonts.h" +#include "interface/font.h" typedef struct EGL_FPS EGL_FPS; diff --git a/client/renderers/egl/model.c b/client/renderers/EGL/model.c similarity index 100% rename from client/renderers/egl/model.c rename to client/renderers/EGL/model.c diff --git a/client/renderers/egl/model.h b/client/renderers/EGL/model.h similarity index 100% rename from client/renderers/egl/model.h rename to client/renderers/EGL/model.h diff --git a/client/renderers/egl/shader.c b/client/renderers/EGL/shader.c similarity index 100% rename from client/renderers/egl/shader.c rename to client/renderers/EGL/shader.c diff --git a/client/renderers/egl/shader.h b/client/renderers/EGL/shader.h similarity index 100% rename from client/renderers/egl/shader.h rename to client/renderers/EGL/shader.h diff --git a/client/renderers/egl/shader/alert.frag b/client/renderers/EGL/shader/alert.frag similarity index 100% rename from client/renderers/egl/shader/alert.frag rename to client/renderers/EGL/shader/alert.frag diff --git a/client/renderers/egl/shader/alert.vert b/client/renderers/EGL/shader/alert.vert similarity index 100% rename from client/renderers/egl/shader/alert.vert rename to client/renderers/EGL/shader/alert.vert diff --git a/client/renderers/egl/shader/alert_bg.frag b/client/renderers/EGL/shader/alert_bg.frag similarity index 100% rename from client/renderers/egl/shader/alert_bg.frag rename to client/renderers/EGL/shader/alert_bg.frag diff --git a/client/renderers/egl/shader/cursor.vert b/client/renderers/EGL/shader/cursor.vert similarity index 100% rename from client/renderers/egl/shader/cursor.vert rename to client/renderers/EGL/shader/cursor.vert diff --git a/client/renderers/egl/shader/cursor_mono.frag b/client/renderers/EGL/shader/cursor_mono.frag similarity index 100% rename from client/renderers/egl/shader/cursor_mono.frag rename to client/renderers/EGL/shader/cursor_mono.frag diff --git a/client/renderers/egl/shader/cursor_rgb.frag b/client/renderers/EGL/shader/cursor_rgb.frag similarity index 100% rename from client/renderers/egl/shader/cursor_rgb.frag rename to client/renderers/EGL/shader/cursor_rgb.frag diff --git a/client/renderers/egl/shader/desktop.vert b/client/renderers/EGL/shader/desktop.vert similarity index 100% rename from client/renderers/egl/shader/desktop.vert rename to client/renderers/EGL/shader/desktop.vert diff --git a/client/renderers/egl/shader/desktop_rgb.frag b/client/renderers/EGL/shader/desktop_rgb.frag similarity index 100% rename from client/renderers/egl/shader/desktop_rgb.frag rename to client/renderers/EGL/shader/desktop_rgb.frag diff --git a/client/renderers/egl/shader/desktop_yuv.frag b/client/renderers/EGL/shader/desktop_yuv.frag similarity index 100% rename from client/renderers/egl/shader/desktop_yuv.frag rename to client/renderers/EGL/shader/desktop_yuv.frag diff --git a/client/renderers/egl/shader/fps.frag b/client/renderers/EGL/shader/fps.frag similarity index 100% rename from client/renderers/egl/shader/fps.frag rename to client/renderers/EGL/shader/fps.frag diff --git a/client/renderers/egl/shader/fps.vert b/client/renderers/EGL/shader/fps.vert similarity index 100% rename from client/renderers/egl/shader/fps.vert rename to client/renderers/EGL/shader/fps.vert diff --git a/client/renderers/egl/shader/fps_bg.frag b/client/renderers/EGL/shader/fps_bg.frag similarity index 100% rename from client/renderers/egl/shader/fps_bg.frag rename to client/renderers/EGL/shader/fps_bg.frag diff --git a/client/renderers/egl/shader/splash_bg.frag b/client/renderers/EGL/shader/splash_bg.frag similarity index 100% rename from client/renderers/egl/shader/splash_bg.frag rename to client/renderers/EGL/shader/splash_bg.frag diff --git a/client/renderers/egl/shader/splash_bg.vert b/client/renderers/EGL/shader/splash_bg.vert similarity index 100% rename from client/renderers/egl/shader/splash_bg.vert rename to client/renderers/EGL/shader/splash_bg.vert diff --git a/client/renderers/egl/shader/splash_logo.frag b/client/renderers/EGL/shader/splash_logo.frag similarity index 100% rename from client/renderers/egl/shader/splash_logo.frag rename to client/renderers/EGL/shader/splash_logo.frag diff --git a/client/renderers/egl/shader/splash_logo.vert b/client/renderers/EGL/shader/splash_logo.vert similarity index 100% rename from client/renderers/egl/shader/splash_logo.vert rename to client/renderers/EGL/shader/splash_logo.vert diff --git a/client/renderers/egl/splash.c b/client/renderers/EGL/splash.c similarity index 100% rename from client/renderers/egl/splash.c rename to client/renderers/EGL/splash.c diff --git a/client/renderers/egl/splash.h b/client/renderers/EGL/splash.h similarity index 97% rename from client/renderers/egl/splash.h rename to client/renderers/EGL/splash.h index 9e635688..7c58751e 100644 --- a/client/renderers/egl/splash.h +++ b/client/renderers/EGL/splash.h @@ -21,8 +21,6 @@ Place, Suite 330, Boston, MA 02111-1307 USA #include -#include "lg-fonts.h" - typedef struct EGL_Splash EGL_Splash; bool egl_splash_init(EGL_Splash ** splash); diff --git a/client/renderers/egl/texture.c b/client/renderers/EGL/texture.c similarity index 100% rename from client/renderers/egl/texture.c rename to client/renderers/EGL/texture.c diff --git a/client/renderers/egl/texture.h b/client/renderers/EGL/texture.h similarity index 100% rename from client/renderers/egl/texture.h rename to client/renderers/EGL/texture.h diff --git a/client/renderers/opengl/CMakeLists.txt b/client/renderers/OpenGL/CMakeLists.txt similarity index 61% rename from client/renderers/opengl/CMakeLists.txt rename to client/renderers/OpenGL/CMakeLists.txt index 35c50855..665aac6d 100644 --- a/client/renderers/opengl/CMakeLists.txt +++ b/client/renderers/OpenGL/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.0) -project(renderer_opengl LANGUAGES C) +project(renderer_Opengl LANGUAGES C) find_package(PkgConfig) pkg_check_modules(RENDERER_OPENGL_PKGCONFIG REQUIRED @@ -7,16 +7,17 @@ pkg_check_modules(RENDERER_OPENGL_PKGCONFIG REQUIRED glu ) -add_library(renderer_opengl STATIC +add_library(renderer_OpenGL STATIC opengl.c ) -target_link_libraries(renderer_opengl +target_link_libraries(renderer_OpenGL ${RENDERER_OPENGL_PKGCONFIG_LIBRARIES} decoders + fonts ) -target_include_directories(renderer_opengl +target_include_directories(renderer_OpenGL PRIVATE src ${RENDERER_OPENGL_PKGCONFIG_INCLUDE_DIRS} diff --git a/client/renderers/opengl/opengl.c b/client/renderers/OpenGL/opengl.c similarity index 99% rename from client/renderers/opengl/opengl.c rename to client/renderers/OpenGL/opengl.c index c583687a..8c85398e 100644 --- a/client/renderers/opengl/opengl.c +++ b/client/renderers/OpenGL/opengl.c @@ -33,7 +33,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA #include "debug.h" #include "utils.h" #include "lg-decoders.h" -#include "lg-fonts.h" +#include "dynamic/fonts.h" #include "ll.h" #define BUFFER_COUNT 2 diff --git a/client/src/lg-fonts.c b/client/src/lg-fonts.c deleted file mode 100644 index e36e0eb3..00000000 --- a/client/src/lg-fonts.c +++ /dev/null @@ -1,31 +0,0 @@ -/* -Looking Glass - KVM FrameRelay (KVMFR) Client -Copyright (C) 2017-2019 Geoffrey McRae -https://looking-glass.hostfission.com - -This program is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free Software -Foundation; either version 2 of the License, or (at your option) any later -version. - -This program is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A -PARTICULAR PURPOSE. See the GNU General Public License for more details. - -You should have received a copy of the GNU General Public License along with -this program; if not, write to the Free Software Foundation, Inc., 59 Temple -Place, Suite 330, Boston, MA 02111-1307 USA -*/ - -#include "lg-fonts.h" -#include - -extern const LG_Font LGF_SDL; - -const LG_Font * LG_Fonts[] = -{ - &LGF_SDL, - NULL // end of array sentinal -}; - -#define LG_FONT_COUNT ((sizeof(LG_Fonts) / sizeof(LG_Font *)) - 1) \ No newline at end of file diff --git a/client/src/main.c b/client/src/main.c index e9447c61..74813fcd 100644 --- a/client/src/main.c +++ b/client/src/main.c @@ -42,8 +42,8 @@ Place, Suite 330, Boston, MA 02111-1307 USA #include "kb.h" #include "ll.h" -#include "lg-renderers.h" -#include "lg-clipboards.h" +#include "dynamic/renderers.h" +#include "dynamic/clipboards.h" struct AppState { @@ -1097,7 +1097,7 @@ int run() 1 ); - state.lgc = &LGC_X11; + state.lgc = LG_Clipboards[0]; } } else { DEBUG_ERROR("Could not get SDL window information %s", SDL_GetError());