From f878321628cb59196f990ff521ca043c6e4217dc Mon Sep 17 00:00:00 2001 From: lisyarus Date: Sat, 27 Feb 2021 19:45:27 +0300 Subject: [PATCH] Convert default font to PNG --- libs/gfx/CMakeLists.txt | 5 +++-- libs/gfx/resources/font_9x12.pbm | 3 --- libs/gfx/resources/font_9x12.png | Bin 0 -> 918 bytes libs/gfx/source/painter.cpp | 6 +++--- libs/ui/source/default_fonts.cpp | 6 +++--- 5 files changed, 9 insertions(+), 11 deletions(-) delete mode 100644 libs/gfx/resources/font_9x12.pbm create mode 100644 libs/gfx/resources/font_9x12.png 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 0000000000000000000000000000000000000000..f85e8ce1ec05d98f1edcecc62c51bdf513f67b3d GIT binary patch literal 918 zcmeAS@N?(olHy`uVBq!ia0vp^8-O^35lAp_Nj9VdDVB6cUq=Rpjs4tz5?O(KrX+87 z7Y4?=UBXL%JoXY#Usv|0Ows~^ve7mE*MRb;JY5_^EKcv8x-svzfk0coNbW^HtdkaskNH?r{DfOL%np+miZq-7WFdnJlx?nt59v@9pyC)&o{MNPf?pt z7?b=@@X&&Wbzg2)=iX^7ays8rE-Q1f=HJr=2CI@Ko#)0r?klKm<+W>MSTlbKe;Dhv z_t8SD3=Q^8d|dM^zmUD^K?jSUlSg^WYNdzQDmW~zR`{4k@u{x%PMpk^7*sB!eW4|I znv!Dj8s;4yPCd%UnEF|=jv0z<3^9}I5~^AIVhxA1hF1U1BD>or-p7(t&kE!io97y6 zJXiFY#NaEEaOfN*^8CA&FEt)=lst2-P$y7lYL;Bm}!N!hUDbf%6Dtn#gmV1 zH2FHo^jd{sSRUtLgY}0F%ypk|neFnESHED28^qu_2NxjwDI_p*oteSfvUTAM@%>KvTMZ&uzw=3lzv*$i2 z`*K}VlI3>ju-4eK)x#SNm#6#Fw>3R!=Yt zFst04y(Tj~n03DJyT;k;KJ;lkXV%z$vRV1a*GYw+?>}a)Tpf3AN$A!C2j@Rlx0t-! zCCmH33t&Q5Epd$~Nl7e8wMs5Z1yT$~21W+D29~ #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);