diff --git a/CMakeLists.txt b/CMakeLists.txt index 475e294..152d927 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,6 +4,7 @@ project(lily_png) set(CMAKE_CXX_STANDARD 23) add_subdirectory(file_reader) +target_include_directories(file_read INTERFACE "file_reader") find_package(ZLIB) add_library(lily_png STATIC src/lily_png.cpp @@ -13,5 +14,5 @@ add_library(lily_png STATIC src/lily_png.cpp src/utils.h src/filter.cpp src/filter.h) -target_link_libraries(lily_png file_read ZLIB::ZLIB) +target_link_libraries(lily_png PRIVATE file_read ZLIB::ZLIB) diff --git a/file_reader b/file_reader index f8f0ef3..ec3d796 160000 --- a/file_reader +++ b/file_reader @@ -1 +1 @@ -Subproject commit f8f0ef364ee87473300ff2f51e192465843e0a8c +Subproject commit ec3d79677455c47c31f3244a763d53933da84eb8 diff --git a/src/filter.cpp b/src/filter.cpp index e76e8d2..4a4089e 100644 --- a/src/filter.cpp +++ b/src/filter.cpp @@ -43,7 +43,7 @@ void filter_scanline(unsigned char *scanline, unsigned char *previous_scanline, } } -void filter(buffer_unsigned &data, buffer_unsigned &dest ,metadata &meta) +void filter(buffer &data, buffer &dest ,metadata &meta) { unsigned long index = 0; unsigned long index_dest = 0; diff --git a/src/filter.h b/src/filter.h index daf128c..3b66ac4 100644 --- a/src/filter.h +++ b/src/filter.h @@ -2,5 +2,5 @@ #include "utils.h" void filter_scanline(unsigned char *scanline, unsigned char *previous_scanline, unsigned char *dest, metadata &meta, unsigned char filter_type); -void filter(buffer_unsigned &data, buffer_unsigned &dest ,metadata &meta); +void filter(buffer &data, buffer &dest ,metadata &meta); diff --git a/src/lily_png.cpp b/src/lily_png.cpp index fae4683..6d59601 100644 --- a/src/lily_png.cpp +++ b/src/lily_png.cpp @@ -3,7 +3,7 @@ std::vector palette; bool palette_found = false; -static void read_raw_data(const std::string &file_path, buffer_unsigned &data, metadata &meta) +static void read_raw_data(const std::string &file_path, buffer &data, metadata &meta) { std::println("Zlib version is {}", zlibVersion()); unsigned char magic[9] = {137, 80, 78, 71, 13, 10, 26, 10}; @@ -15,10 +15,10 @@ static void read_raw_data(const std::string &file_path, buffer_unsigned &data, m std::println("File is not a png!"); return ; } - buffer_unsigned raw_dat{}; + buffer raw_dat{}; while (true) { - std::tuple chunk_header; + std::tuple> chunk_header; std::get<1>(chunk_header).size = 4; auto ret = reader.read_from_tuple(chunk_header); if (ret.second == READ_FILE_ENDED || ret.second == READ_INCOMPLETE) @@ -29,9 +29,9 @@ static void read_raw_data(const std::string &file_path, buffer_unsigned &data, m unsigned int size = std::get<0>(chunk_header); //std::println("Chunk type {} Size {}", std::get<1>(chunk_header).data, std::get<0>(chunk_header)); - buffer_unsigned raw_data{}; + buffer raw_data{}; raw_data.size = std::get<0>(chunk_header); - std::tuple dat; + std::tuple, unsigned> dat; std::get<0>(dat).size = std::get<0>(chunk_header); ret = reader.read_from_tuple(dat); if (ret.second == READ_FILE_ENDED || ret.second == READ_INCOMPLETE) @@ -100,7 +100,7 @@ static void apply_palette_scanline(unsigned char *scanline, unsigned char *dest, } } -static void apply_palette(buffer_unsigned &data, buffer_unsigned &dest, metadata &meta) +static void apply_palette(buffer &data, buffer &dest, metadata &meta) { unsigned long index = 0; unsigned long index_dest = 0; @@ -120,14 +120,14 @@ static void apply_palette(buffer_unsigned &data, buffer_unsigned &dest, metadata } } -void read_png(const std::string &file_path, buffer_unsigned &data) +void read_png(const std::string &file_path, buffer &data) { - buffer_unsigned tmp_data{}; + buffer tmp_data{}; metadata meta{0}; read_raw_data(file_path, tmp_data, meta); if (palette_found == true) { - buffer_unsigned dest_palette{}; + buffer dest_palette{}; apply_palette(tmp_data, dest_palette, meta); tmp_data = dest_palette; } diff --git a/src/lily_png.h b/src/lily_png.h index f260cc6..ea316f9 100644 --- a/src/lily_png.h +++ b/src/lily_png.h @@ -2,7 +2,6 @@ #include "../file_reader/src/file_read.h" #include -#include #include #include "utils.h" #include "filter.h" @@ -15,4 +14,4 @@ struct color unsigned char b = 0; }; -void read_png(const std::string &file_path, buffer_unsigned &data); \ No newline at end of file +void read_png(const std::string &file_path, buffer &data); \ No newline at end of file diff --git a/src/metadata.cpp b/src/metadata.cpp index 2978ffe..ca4007c 100644 --- a/src/metadata.cpp +++ b/src/metadata.cpp @@ -1,7 +1,7 @@ #include "metadata.h" -metadata parse_metadata(buffer &data) +metadata parse_metadata(buffer &data) { std::tuple meta; constexpr std::size_t size = std::tuple_size_v; diff --git a/src/metadata.h b/src/metadata.h index 0ca3b48..01f77df 100644 --- a/src/metadata.h +++ b/src/metadata.h @@ -12,4 +12,4 @@ struct metadata char interface; }; -metadata parse_metadata(buffer &data); +metadata parse_metadata(buffer &data);