diff --git a/libs/gfx/CMakeLists.txt b/libs/gfx/CMakeLists.txt index d916b62a..e5c0086a 100644 --- a/libs/gfx/CMakeLists.txt +++ b/libs/gfx/CMakeLists.txt @@ -1,5 +1,6 @@ set(OpenGL_GL_PREFERENCE LEGACY) find_package(OpenGL REQUIRED) +find_package(PNG REQUIRED) find_file(KHR_PLATFORM_FILE KHR/khrplatform.h) @@ -8,12 +9,12 @@ file(GLOB_RECURSE PSEMEK_GFX_SOURCES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "sou psemek_add_library(psemek-gfx ${PSEMEK_GFX_HEADERS} ${PSEMEK_GFX_SOURCES}) target_include_directories(psemek-gfx PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include") -target_link_libraries(psemek-gfx PUBLIC psemek-util psemek-geom psemek-cg psemek-random OpenGL::GL) +target_link_libraries(psemek-gfx PUBLIC psemek-util psemek-geom psemek-cg psemek-random OpenGL::GL PNG::PNG) if(NOT KHR_PLATFORM_FILE) message(STATUS "KHR/khrplatform.h not found, using a substitute header") target_include_directories(psemek-gfx PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/extra/khr/include") endif() psemek_add_public_resources(psemek-gfx - resources/font_9x12.pbm psemek/gfx/resource/font_9x12 + resources/font_9x12.png psemek/gfx/resource/font_9x12_png ) diff --git a/libs/gfx/resources/font_9x12.pbm b/libs/gfx/resources/font_9x12.pbm deleted file mode 100644 index dc215b32..00000000 --- a/libs/gfx/resources/font_9x12.pbm +++ /dev/null @@ -1,3 +0,0 @@ -P4 -176 84 -џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ§ўџџџџџџџџџџџ“§Пяџџп§ўџяџџџџџџїџџЗ§зџџпћџƒ§џџџџџїџџЗњўџяўпћџя§џџџџџяџџџ№~џљ§џпћџз§џџџџџяџџџњџЧ§џџћџзр?џСџџпџџџџ№~пћњПџћџџ§џџџџџпџџџџњў?ѕћџћџџ§џŸџќџПџџџѕџПћќПџ§ўџџ§џПџќџПџџџџѕџПџџџџ§ўџџџџ?џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџёўЧјџЯсў?ёў?џџџџџџџџюџЛїЏя§џwю§пџџџЯџѓџЯюџћџЏяћџїю§пЯќџПџ§џЗюџїќџoујяё§пЯќўСўїюџяџ~я§ћПяюўџџ§џџџПяюџпџ~§ћПяюџпџџўСўпюџЛїянћПпюџПЯќџПџ§џџёќƒјџЧуќпёќЯљџЯџѓџŸџџџџџџџџџџџџџџџћџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџёџџџџџџџџџџџџџџџџџџџџџюўј|?№?‡Ф|Ут>?ˆёюџЛї~пнћПwюџїїЩљПwьўПЛїўязњџюџїіџЩљПwъўП‡їўяЧјџрџїѕџењПwъўПЛїўязњџcюџЗёџењПwьќЛїўяпћџwюџЗіџoнњПwя§пЛї~пнћџwюџЗїoнћ?wюјјќ?ёџФ|Яу>ˆё?ёџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџјџџуџџџсў?љ|ˆё#Юxƒћўџћўџџі§пЛі}ЗнћПwю§пЛћџћўџџі§пЛїџПнћПwѕўПїћџћ§џі§пЛјџПн§WћўПяћџћћПџё§п‡џПн§WћџяћџПћџџџї§пЗџПн§WѕџпћџПћџџџї§пЛѓПнўџWюџЛћџпћџџџуў?єџуўџЏЮ~?ƒћџпћџџџџџџџџџџџџџџџџџјџпуџџџџџџџџџџџџџџџџџџџџџџџўџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџћџџџџџџџџџџџџџџџџџџџџџ§џџ?џџЯџў?џЯџячџ?џџџџџџџПџџяџ§џџяџџџїџПџџџџџў?Їј/уј?“щќ‡єП‹ђџ§п›ї~Ян§џgцџїіџПељПwџўЛїўяС§џwюџїёџПећПwџ§пЛїўяп§џwюџїѕџПећПwџ§пЛї~яп§џwюџїіџПећПwџўјџсј?‡Ф|їф~€ёџџџџџџџџџџїџџџїџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџўџПяџџџџџџџџџџџџџџџџџџ§џПї§Пџџџџџџўџџџџџџџџџ§џПїњџЩўO“ј|™ё#цxƒ§џПїџџџц§ŸЯї~џнћПwі§пЗ§џПїџџџю§ппјўџнћПWљўпяћџПћџџџю§ппџ~џн§WљўПп§џПїџџџю§ппї~яй§Wіџ?Л§џПїџџџсўƒ№џфўџЏцƒ§џПїџџџяџпџџџџџџџџџџџўџџяџџџЧџџџџџџџџџџќ?џџџџџџџџџџџџџџџџџџџџџџџџџџџџџџ \ No newline at end of file diff --git a/libs/gfx/resources/font_9x12.png b/libs/gfx/resources/font_9x12.png new file mode 100644 index 00000000..f85e8ce1 Binary files /dev/null and b/libs/gfx/resources/font_9x12.png differ diff --git a/libs/gfx/source/painter.cpp b/libs/gfx/source/painter.cpp index 43973172..1209e203 100644 --- a/libs/gfx/source/painter.cpp +++ b/libs/gfx/source/painter.cpp @@ -2,7 +2,7 @@ #include #include #include -#include +#include #include #include #include @@ -164,8 +164,8 @@ namespace psemek::gfx text_mesh.setup, gfx::normalized, geom::point>(); texture_mesh.setup, gfx::normalized>>(); - util::memory_istream font_data(resource::font_9x12); - font_texture.load(gfx::read_pbm(font_data)); + util::memory_istream font_data(resource::font_9x12_png); + font_texture.load(gfx::read_png_monochrome(font_data)); font_texture.bind(); gl::TexParameteri(gl::TEXTURE_2D, gl::TEXTURE_SWIZZLE_G, gl::RED); diff --git a/libs/ui/source/default_fonts.cpp b/libs/ui/source/default_fonts.cpp index 7cf9aa70..2a7036b3 100644 --- a/libs/ui/source/default_fonts.cpp +++ b/libs/ui/source/default_fonts.cpp @@ -1,7 +1,7 @@ #include #include -#include +#include #include @@ -14,8 +14,8 @@ namespace psemek::ui std::string_view name = "default_9x12"; geom::vector size{9, 12}; - util::memory_istream is{gfx::resource::font_9x12}; - gfx::texture_2d atlas = gfx::texture_2d::from_pixmap(gfx::read_pbm(is)); + util::memory_istream is{gfx::resource::font_9x12_png}; + gfx::texture_2d atlas = gfx::texture_2d::from_pixmap(gfx::read_png_monochrome(is)); atlas.nearest_filter(); atlas.clamp(); gl::TexParameteri(atlas.target, gl::TEXTURE_SWIZZLE_G, gl::RED);