diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 23054fd..377196c 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -1,6 +1,6 @@ #[[************************************************************************** * libragephoto RAGE Photo Parser -* Copyright (C) 2021 Syping +* Copyright (C) 2021-2024 Syping * * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: @@ -24,12 +24,13 @@ if (NOT DOXYGEN_FOUND) message(FATAL_ERROR "Doxygen is needed to build the documentation.") endif() -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY) +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in" "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile" @ONLY) add_custom_target( doc ALL - COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + COMMAND "${DOXYGEN_EXECUTABLE}" "${CMAKE_CURRENT_BINARY_DIR}/Doxyfile" COMMENT "Generate API documentation with Doxygen" + SOURCES "build.dox" "index.dox" "usage.dox" + WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" VERBATIM ) -install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION ${CMAKE_INSTALL_DOCDIR}) +install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/html" DESTINATION "${CMAKE_INSTALL_DOCDIR}") diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in index 2e37135..bff8bd1 100644 --- a/doc/Doxyfile.in +++ b/doc/Doxyfile.in @@ -1,16 +1,18 @@ PROJECT_NAME = "libragephoto" PROJECT_NUMBER = "Version: @ragephoto_VERSION@" -INPUT = "@CMAKE_CURRENT_SOURCE_DIR@/index.doc" \ - "@CMAKE_CURRENT_SOURCE_DIR@/build.doc" \ - "@CMAKE_CURRENT_SOURCE_DIR@/usage.doc" \ - "src/core" +INPUT = "src/core" \ + "@CMAKE_CURRENT_SOURCE_DIR@/index.dox" \ + "@CMAKE_CURRENT_SOURCE_DIR@/build.dox" \ + "@CMAKE_CURRENT_SOURCE_DIR@/usage.dox" OUTPUT_DIRECTORY = "@CMAKE_CURRENT_BINARY_DIR@" +FULL_PATH_NAMES = NO EXTRACT_PRIVATE = NO ENABLE_PREPROCESSING = YES MACRO_EXPANSION = YES -EXPAND_ONLY_PREDEF = YES +EXPAND_ONLY_PREDEF = NO PREDEFINED = "__cplusplus=201703L" \ "RAGEPHOTO_CXX_STD=17" \ - "@LIBRAGEPHOTO_API@" \ "LIBRAGEPHOTO_C_PUBLIC=" \ - "LIBRAGEPHOTO_CXX_PUBLIC=" + "LIBRAGEPHOTO_CXX_PUBLIC=" \ + "INT32_C(val)=val" \ + "UINT32_C(val)=val##U" \ No newline at end of file diff --git a/doc/build.doc b/doc/build.dox similarity index 97% rename from doc/build.doc rename to doc/build.dox index 0f7fab0..64cf2cd 100644 --- a/doc/build.doc +++ b/doc/build.dox @@ -21,6 +21,7 @@ To customise your libragephoto build, the following Optional CM -DRAGEPHOTO_BENCHMARK=ON -DRAGEPHOTO_C_API=OFF -DRAGEPHOTO_C_LIBRARY=ON +-DRAGEPHOTO_DEBUG=ON -DRAGEPHOTO_DOC=ON -DRAGEPHOTO_EXAMPLE_GTKVIEWER=ON -DRAGEPHOTO_EXAMPLE_QTVIEWER=ON diff --git a/doc/index.doc b/doc/index.dox similarity index 79% rename from doc/index.doc rename to doc/index.dox index 163d9d4..aacb859 100644 --- a/doc/index.doc +++ b/doc/index.dox @@ -9,12 +9,11 @@ Getting started \subpage Build "Build libragephoto" -\subpage Usage "Using libragephoto" +\subpage Usage "Using libragephoto" Reference -ragephoto::cxx_abi::photo (C++ API) -ragephoto::c_abi::photo (C++ API based on C API) -RagePhoto.h (C API) +\ref RagePhotoInstance "RagePhoto C API" +\ref ragephoto::photo "RagePhoto C++ API" RagePhotoData (Data Object Struct) RagePhotoFormatParser (Custom Format Parser Struct) diff --git a/doc/usage.doc b/doc/usage.dox similarity index 52% rename from doc/usage.doc rename to doc/usage.dox index f34a1eb..a63db8b 100644 --- a/doc/usage.doc +++ b/doc/usage.dox @@ -2,15 +2,13 @@

C++ API

-

Including and using RagePhoto

- -Include RagePhoto +

Including RagePhoto

\code{.cpp} #include \endcode -Create a RagePhoto object +Initializing a RagePhoto object \code{.cpp} RagePhoto ragePhoto; @@ -21,16 +19,14 @@ RagePhoto ragePhoto; From a file using RagePhoto::loadFile \code{.cpp} -const char* filename = "PGTA5123456789"; -const bool loaded = ragePhoto.loadFile(filename); +const bool loaded = ragePhoto.loadFile("PGTA5123456789"); \endcode From a file using RagePhoto::load(const std::string&) \code{.cpp} // Reading file -const char* filename = "PGTA5123456789"; -std::ifstream ifs(filename, std::ios::in | std::ios::binary); +std::ifstream ifs("PGTA5123456789", std::ios::in | std::ios::binary); if (!ifs.is_open()) return; std::string sdata(std::istreambuf_iterator{ifs}, {}); @@ -46,7 +42,7 @@ From a char* using RagePhoto::load(const char*, size_t) const bool loaded = ragePhoto.load(data, size); \endcode -

Using a Photo

+

Querying Photo data

\code{.cpp} // Returns the Photo Format @@ -85,64 +81,21 @@ Saving the JPEG from a Photo \code{.cpp} // Example saveJpeg function -bool saveJpeg(RagePhoto* ragePhoto, const std::string& filename) { +bool saveJpeg(RagePhoto &ragePhoto, const std::string &filename) { std::ofstream ofs(filename, std::ios::out | std::ios::binary | std::ios::trunc); if (!ofs.is_open()) return false; - ofs << ragePhoto->jpeg(); + ofs << ragePhoto.jpeg(); const bool saved = ofs.good(); ofs.close(); return saved; } // Using the saveJpeg function -const char* filename = "PGTA5123456789.jpg"; -const bool saved = saveJpeg(&ragePhoto, filename); +const bool saved = saveJpeg(ragePhoto, "photo.jpg"); \endcode -Using the JPEG in GTK+ (gtkmm) - -\code{.cpp} -// Writing pixbuf loader -GdkPixbufLoader* pixbuf_loader = gdk_pixbuf_loader_new(); -gdk_pixbuf_loader_write(pixbuf_loader, reinterpret_cast(ragePhoto.jpegData()), ragePhoto.jpegSize(), nullptr); -GdkPixbuf* pixbuf = gdk_pixbuf_loader_get_pixbuf(pixbuf_loader); -gdk_pixbuf_loader_close(pixbuf_loader, nullptr); - -// Set image -Gtk::Image image; -image.set(Glib::wrap(pixbuf)); -\endcode - -Using the JPEG in Qt - -\code{.cpp} -// Returns the JPEG as QImage -const QImage image = QImage::fromData(QByteArray::fromRawData(ragePhoto.jpegData(), ragePhoto.jpegSize()), "JPEG"); - -// Loading the JPEG in QImage -QImage image; -const bool loaded = image.loadFromData(QByteArray::fromRawData(ragePhoto.jpegData(), ragePhoto.jpegSize()), "JPEG"); -\endcode - -Using the JSON in Boost.JSON - -\code{.cpp} -boost::json::error_code ec; -const boost::json::value jv = boost::json::parse(ragePhoto.json(), ec); -if (ec) - return; -\endcode - -Using the JSON in Qt - -\code{.cpp} -const QJsonDocument jd = QJsonDocument::fromJson(ragePhoto.json()); -if (jd.isNull()) - return; -\endcode - -

Detect Photo errors

+

Querying last error

\code{.cpp} const int32_t error = ragePhoto.error(); @@ -164,6 +117,110 @@ default: Available error codes: RagePhoto::Error +

C API

+ +

Including RagePhoto

+ +\code{.c} +#include +\endcode + +Initializing a RagePhoto instance + +\code{.c} +ragephoto_t instance = ragephoto_open(); +\endcode + +Destroying a RagePhoto instance + +\code{.c} +ragephoto_close(instance); +\endcode + +

Loading a Photo

+ +From a file using ragephoto_loadfile(ragephoto_t, const char*) + +\code{.c} +const bool loaded = ragephoto_loadfile(instance, "PGTA5123456789"); +\endcode + +From a char* using ragephoto_load(ragephoto_t, const char*, size_t) + +\code{.c} +const bool loaded = ragephoto_load(instance, data, size); +\endcode + +

Querying Photo data

+ +\code{.c} +// Returns the Photo Format +const uint32_t format = ragephoto_getphotoformat(instance); + +// Returns the JPEG as const char* +const char* jpeg = ragephoto_getphotojpeg(instance); +const uint32_t size = ragephoto_getphotosize(instance); + +// Returns the JSON +const char* json = ragephoto_getphotojson(instance); + +// Returns the Title +const char* title = ragephoto_getphototitle(instance); +\endcode + +Detecting if Photo is from GTA V or RDR 2 + +\code{.c} +switch (ragephoto_getphotoformat(instance)) { +case RAGEPHOTO_FORMAT_GTA5: + printf("GTA V format detected\n"); + break; +case RAGEPHOTO_FORMAT_RDR2: + printf("RDR 2 format detected\n"); + break; +default: + printf("Unknown format detected\n"); +} +\endcode + +Saving the JPEG from a Photo + +\code{.c} +// Example saveJpeg function +bool saveJpeg(ragephoto_t instance, const char* filename) { + FILE* file = fopen(filename, "wb"); + if (!file) + return false; + const uint32_t jpegSize = ragephoto_getphotosize(instance); + const size_t writeSize = fwrite(ragephoto_getphotojpeg(instance), sizeof(char), jpegSize, file); + fclose(file); + return (jpegSize == writeSize); +} + +// Using the saveJpeg function +const bool saved = saveJpeg(instance, "photo.jpg"); +\endcode + +

Querying last error

+ +\code{.c} +const int32_t error = ragephoto_error(instance); +switch (error) { +case RAGEPHOTO_ERROR_NOFORMATIDENTIFIER: + printf("No format identifier\n"); + break; +case RAGEPHOTO_ERROR_INCOMPATIBLEFORMAT: + printf("Incompatible format\n"); + break; +// Detect for more errors here... +case RAGEPHOTO_ERROR_NOERROR: + printf("No error detected\n"); + break; +default: + printf("Unknown error detected\n"); +} +\endcode +

Including libragephoto in a CMake project

Using PkgConfig

diff --git a/src/core/RagePhoto.h b/src/core/RagePhoto.h index 5623e76..7f67297 100644 --- a/src/core/RagePhoto.h +++ b/src/core/RagePhoto.h @@ -16,6 +16,10 @@ * responsible for anything with use of the software, you are self responsible. *****************************************************************************/ +/** RagePhoto C API header file +* \file RagePhoto.h +*/ + #ifndef RAGEPHOTO_H #define RAGEPHOTO_H @@ -28,33 +32,37 @@ extern "C" { #endif // __cplusplus -/** C API for RagePhoto. -* \file RagePhoto.h +/** RagePhoto typedef for C instance/C++ object. +* \memberof RagePhotoInstance */ - -/** RagePhoto C instance/C++ class typedef. */ typedef void* ragephoto_t; -/** Opens a \p ragephoto_t instance. */ +/** Opens a \p ragephoto_t instance. +* \memberof RagePhotoInstance +*/ LIBRAGEPHOTO_C_PUBLIC ragephoto_t ragephoto_open(); /** Add a custom defined RagePhotoFormatParser. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance -* \param rp_parser RagePhotoFormatParser parser to add +* \param rp_parser Parser to add */ LIBRAGEPHOTO_C_PUBLIC void ragephoto_addparser(ragephoto_t instance, RagePhotoFormatParser *rp_parser); -/** Resets the RagePhotoData object to default values. +/** Resets the Data object to default values. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance */ LIBRAGEPHOTO_C_PUBLIC void ragephoto_clear(ragephoto_t instance); -/** Resets the RagePhotoData object to default values. -* \param rp_data RagePhotoData object +/** Resets the Data object to default values. +* \memberof RagePhotoData +* \param rp_data Data object */ LIBRAGEPHOTO_C_PUBLIC void ragephotodata_clear(RagePhotoData *rp_data); /** Loads a Photo from a const char*. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance * \param data Photo data * \param size Photo data size @@ -62,78 +70,98 @@ LIBRAGEPHOTO_C_PUBLIC void ragephotodata_clear(RagePhotoData *rp_data); LIBRAGEPHOTO_C_PUBLIC bool ragephoto_load(ragephoto_t instance, const char *data, size_t size); /** Loads a Photo from a const char*. -* \param rp_data RagePhotoData object -* \param rp_parser RagePhotoFormatParser parser array +* \memberof RagePhotoData +* \param rp_data Data object +* \param rp_parser Parser array * \param data Photo data * \param size Photo data size */ LIBRAGEPHOTO_C_PUBLIC bool ragephotodata_load(RagePhotoData *rp_data, RagePhotoFormatParser *rp_parser, const char *data, size_t size); /** Loads a Photo from a file. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance * \param filename File to load */ LIBRAGEPHOTO_C_PUBLIC bool ragephoto_loadfile(ragephoto_t instance, const char *filename); /** Returns the last error occurred. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance */ LIBRAGEPHOTO_C_PUBLIC int32_t ragephoto_error(ragephoto_t instance); -/** Returns the GTA V default Photo Buffer Size. */ +/** Returns the GTA V default Photo Buffer Size. +* \relates RagePhotoInstance +*/ LIBRAGEPHOTO_C_PUBLIC uint32_t ragephoto_defpbuf_gta5(); -/** Returns the RDR 2 default Photo Buffer Size. */ +/** Returns the RDR 2 default Photo Buffer Size. +* \relates RagePhotoInstance +*/ LIBRAGEPHOTO_C_PUBLIC uint32_t ragephoto_defpbuf_rdr2(); -/** Returns the GTA V Photo Format. */ +/** Returns the GTA V Photo Format. +* \relates RagePhotoInstance +*/ LIBRAGEPHOTO_C_PUBLIC uint32_t ragephoto_format_gta5(); -/** Returns the RDR 2 Photo Format. */ +/** Returns the RDR 2 Photo Format. +* \relates RagePhotoInstance +*/ LIBRAGEPHOTO_C_PUBLIC uint32_t ragephoto_format_rdr2(); -/** Returns the internal RagePhotoData object. +/** Returns the internal Data object. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance */ LIBRAGEPHOTO_C_PUBLIC RagePhotoData* ragephoto_getphotodata(ragephoto_t instance); /** Returns the Photo description. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance */ LIBRAGEPHOTO_C_PUBLIC const char* ragephoto_getphotodesc(ragephoto_t instance); /** Returns the Photo Format (GTA V or RDR 2). +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance */ LIBRAGEPHOTO_C_PUBLIC uint32_t ragephoto_getphotoformat(ragephoto_t instance); /** Returns the Photo JPEG data. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance */ LIBRAGEPHOTO_C_PUBLIC const char* ragephoto_getphotojpeg(ragephoto_t instance); /** Returns the Photo JSON data. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance */ LIBRAGEPHOTO_C_PUBLIC const char* ragephoto_getphotojson(ragephoto_t instance); /** Returns the Photo header. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance */ LIBRAGEPHOTO_C_PUBLIC const char* ragephoto_getphotoheader(ragephoto_t instance); /** Returns the Photo JPEG sign. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance */ LIBRAGEPHOTO_C_PUBLIC uint64_t ragephoto_getphotosign(ragephoto_t instance); /** Returns the Photo JPEG sign. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance * \param photoFormat Photo Format (GTA V or RDR 2) */ LIBRAGEPHOTO_C_PUBLIC uint64_t ragephoto_getphotosignf(ragephoto_t instance, uint32_t photoFormat); /** Returns the Photo JPEG sign as string. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance * \param data String data * \param size String size @@ -141,6 +169,7 @@ LIBRAGEPHOTO_C_PUBLIC uint64_t ragephoto_getphotosignf(ragephoto_t instance, uin LIBRAGEPHOTO_C_PUBLIC void ragephoto_getphotosigns(ragephoto_t instance, char *data, size_t size); /** Returns the Photo JPEG sign as string. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance * \param data String data * \param size String size @@ -149,64 +178,75 @@ LIBRAGEPHOTO_C_PUBLIC void ragephoto_getphotosigns(ragephoto_t instance, char *d LIBRAGEPHOTO_C_PUBLIC void ragephoto_getphotosignsf(ragephoto_t instance, char *data, size_t size, uint32_t photoFormat); /** Returns the Photo JPEG sign. -* \param rp_data RagePhotoData object +* \memberof RagePhotoData +* \param rp_data Data object */ LIBRAGEPHOTO_C_PUBLIC uint64_t ragephotodata_getphotosign(RagePhotoData *rp_data); /** Returns the Photo JPEG sign. -* \param rp_data RagePhotoData object +* \memberof RagePhotoData +* \param rp_data Data object * \param photoFormat Photo Format (GTA V or RDR 2) */ LIBRAGEPHOTO_C_PUBLIC uint64_t ragephotodata_getphotosignf(RagePhotoData *rp_data, uint32_t photoFormat); /** Returns the Photo JPEG data size. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance */ LIBRAGEPHOTO_C_PUBLIC uint32_t ragephoto_getphotosize(ragephoto_t instance); /** Returns the Photo title. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance */ LIBRAGEPHOTO_C_PUBLIC const char* ragephoto_getphototitle(ragephoto_t instance); /** Returns the Photo save file size. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance */ LIBRAGEPHOTO_C_PUBLIC size_t ragephoto_getsavesize(ragephoto_t instance); /** Returns the Photo save file size. -* \param rp_data RagePhotoData object -* \param rp_parser RagePhotoFormatParser parser array +* \memberof RagePhotoData +* \param rp_data Data object +* \param rp_parser Parser array */ LIBRAGEPHOTO_C_PUBLIC size_t ragephotodata_getsavesize(RagePhotoData *rp_data, RagePhotoFormatParser *rp_parser); /** Returns the Photo save file size. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance * \param photoFormat Photo Format (GTA V or RDR 2) */ LIBRAGEPHOTO_C_PUBLIC size_t ragephoto_getsavesizef(ragephoto_t instance, uint32_t photoFormat); /** Returns the Photo save file size. -* \param rp_data RagePhotoData object -* \param rp_parser RagePhotoFormatParser parser array +* \memberof RagePhotoData +* \param rp_data Data object +* \param rp_parser Parser array * \param photoFormat Photo Format (GTA V or RDR 2) */ LIBRAGEPHOTO_C_PUBLIC size_t ragephotodata_getsavesizef(RagePhotoData *rp_data, RagePhotoFormatParser *rp_parser, uint32_t photoFormat); /** Saves a Photo to a char*. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance * \param data Photo data */ LIBRAGEPHOTO_C_PUBLIC bool ragephoto_save(ragephoto_t instance, char *data); /** Saves a Photo to a char*. -* \param rp_data RagePhotoData object -* \param rp_parser RagePhotoFormatParser parser array +* \memberof RagePhotoData +* \param rp_data Data object +* \param rp_parser Parser array * \param data Photo data */ LIBRAGEPHOTO_C_PUBLIC bool ragephotodata_save(RagePhotoData *rp_data, RagePhotoFormatParser *rp_parser, char *data); /** Saves a Photo to a char*. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance * \param data Photo data * \param photoFormat Photo Format (GTA V or RDR 2) @@ -214,20 +254,23 @@ LIBRAGEPHOTO_C_PUBLIC bool ragephotodata_save(RagePhotoData *rp_data, RagePhotoF LIBRAGEPHOTO_C_PUBLIC bool ragephoto_savef(ragephoto_t instance, char *data, uint32_t photoFormat); /** Saves a Photo to a char*. -* \param rp_data RagePhotoData object -* \param rp_parser RagePhotoFormatParser parser array +* \memberof RagePhotoData +* \param rp_data Data object +* \param rp_parser Parser array * \param data Photo data * \param photoFormat Photo Format (GTA V or RDR 2) */ LIBRAGEPHOTO_C_PUBLIC bool ragephotodata_savef(RagePhotoData *rp_data, RagePhotoFormatParser *rp_parser, char *data, uint32_t photoFormat); /** Saves a Photo to a file. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance * \param filename File to save */ LIBRAGEPHOTO_C_PUBLIC bool ragephoto_savefile(ragephoto_t instance, const char *filename); /** Saves a Photo to a file. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance * \param filename File to save * \param photoFormat Photo Format (GTA V or RDR 2) @@ -235,38 +278,45 @@ LIBRAGEPHOTO_C_PUBLIC bool ragephoto_savefile(ragephoto_t instance, const char * LIBRAGEPHOTO_C_PUBLIC bool ragephoto_savefilef(ragephoto_t instance, const char *filename, uint32_t photoFormat); /** Sets all cross-format Buffer to default size. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance */ LIBRAGEPHOTO_C_PUBLIC void ragephoto_setbufferdefault(ragephoto_t instance); /** Sets all cross-format Buffer to default size. -* \param rp_data RagePhotoData object +* \memberof RagePhotoData +* \param rp_data Data object */ LIBRAGEPHOTO_C_PUBLIC void ragephotodata_setbufferdefault(RagePhotoData *rp_data); /** Moves all Buffer offsets to correct position. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance */ LIBRAGEPHOTO_C_PUBLIC void ragephoto_setbufferoffsets(ragephoto_t instance); /** Moves all Buffer offsets to correct position. -* \param rp_data RagePhotoData object +* \memberof RagePhotoData +* \param rp_data Data object */ LIBRAGEPHOTO_C_PUBLIC void ragephotodata_setbufferoffsets(RagePhotoData *rp_data); /** Sets the internal RagePhotoData object. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance -* \param rp_data RagePhotoData object being set +* \param rp_data Data object used to replace */ LIBRAGEPHOTO_C_PUBLIC bool ragephoto_setphotodata(ragephoto_t instance, RagePhotoData *rp_data); /** Copies RagePhotoData object to internal RagePhotoData object. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance -* \param rp_data RagePhotoData object being copied +* \param rp_data Data object used to copy */ LIBRAGEPHOTO_C_PUBLIC bool ragephoto_setphotodatac(ragephoto_t instance, RagePhotoData *rp_data); /** Sets the Photo description. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance * \param description Description * \param bufferSize Description buffer size @@ -276,12 +326,14 @@ LIBRAGEPHOTO_C_PUBLIC bool ragephoto_setphotodatac(ragephoto_t instance, RagePho LIBRAGEPHOTO_C_PUBLIC void ragephoto_setphotodesc(ragephoto_t instance, const char *description, uint32_t bufferSize); /** Sets the Photo Format (GTA V or RDR 2). +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance * \param photoFormat Photo Format (GTA V or RDR 2) */ LIBRAGEPHOTO_C_PUBLIC void ragephoto_setphotoformat(ragephoto_t instance, uint32_t photoFormat); /** Sets the Photo JPEG data. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance * \param data JPEG data * \param size JPEG data size @@ -292,6 +344,7 @@ LIBRAGEPHOTO_C_PUBLIC void ragephoto_setphotoformat(ragephoto_t instance, uint32 LIBRAGEPHOTO_C_PUBLIC bool ragephoto_setphotojpeg(ragephoto_t instance, const char *data, uint32_t size, uint32_t bufferSize); /** Sets the Photo JSON data. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance * \param json JSON data * \param bufferSize JSON data buffer size @@ -300,13 +353,18 @@ LIBRAGEPHOTO_C_PUBLIC bool ragephoto_setphotojpeg(ragephoto_t instance, const ch */ LIBRAGEPHOTO_C_PUBLIC void ragephoto_setphotojson(ragephoto_t instance, const char *json, uint32_t bufferSize); -/** Sets the Photo header. */ +/** Sets the Photo header. +* \memberof RagePhotoInstance +*/ LIBRAGEPHOTO_C_PUBLIC void ragephoto_setphotoheader(ragephoto_t instance, const char *header, uint32_t headerSum); -/** Sets the Photo header. (RDR 2) */ +/** Sets the Photo header. (RDR 2) +* \memberof RagePhotoInstance +*/ LIBRAGEPHOTO_C_PUBLIC void ragephoto_setphotoheader2(ragephoto_t instance, const char *header, uint32_t headerSum, uint32_t headerSum2); /** Sets the Photo title. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance * \param title Title * \param bufferSize Title buffer size @@ -316,11 +374,14 @@ LIBRAGEPHOTO_C_PUBLIC void ragephoto_setphotoheader2(ragephoto_t instance, const LIBRAGEPHOTO_C_PUBLIC void ragephoto_setphototitle(ragephoto_t instance, const char *title, uint32_t bufferSize); /** Closes a \p ragephoto_t instance. +* \memberof RagePhotoInstance * \param instance \p ragephoto_t instance */ LIBRAGEPHOTO_C_PUBLIC void ragephoto_close(ragephoto_t instance); -/** Returns the library version. */ +/** Returns the library version. +* \relates RagePhotoInstance +*/ LIBRAGEPHOTO_C_PUBLIC const char* ragephoto_version(); #ifdef __cplusplus diff --git a/src/core/RagePhotoTypedefs.h b/src/core/RagePhotoTypedefs.h index 5a42678..23172ad 100644 --- a/src/core/RagePhotoTypedefs.h +++ b/src/core/RagePhotoTypedefs.h @@ -1,6 +1,6 @@ /***************************************************************************** * libragephoto RAGE Photo Parser -* Copyright (C) 2021-2023 Syping +* Copyright (C) 2021-2024 Syping * * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: @@ -70,10 +70,12 @@ typedef struct RagePhotoFormatParser { ragephoto_saveszfunc_t funcSaveSz; /**< Pointer to saveSize function */ } RagePhotoFormatParser; -/** RagePhoto instance struct for storing data and format parser pointer. */ +/** RagePhoto instance struct for storing data and format parser pointer. +* \struct RagePhotoInstance RagePhoto.h +*/ typedef struct RagePhotoInstance { - RagePhotoData *data; /**< Pointer for data */ - RagePhotoFormatParser *parser; /**< Pointer for format parser */ + RagePhotoData *data; /**< Pointer for internal data */ + RagePhotoFormatParser *parser; /**< Pointer for internal format parser */ } RagePhotoInstance; /* RagePhoto default sizes */ diff --git a/src/core/ragephoto_c.hpp b/src/core/ragephoto_c.hpp index 23a051d..82b8be2 100644 --- a/src/core/ragephoto_c.hpp +++ b/src/core/ragephoto_c.hpp @@ -28,6 +28,7 @@ namespace ragephoto_c { /** * \brief GTA V and RDR 2 Photo Parser (C API wrapper). +* \class ragephoto_c::photo RagePhoto.hpp RagePhoto */ class photo { diff --git a/src/core/ragephoto_cxx.hpp b/src/core/ragephoto_cxx.hpp index 10a0381..9cb7176 100644 --- a/src/core/ragephoto_cxx.hpp +++ b/src/core/ragephoto_cxx.hpp @@ -31,6 +31,7 @@ namespace ragephoto { /** * \brief GTA V and RDR 2 Photo Parser. +* \class ragephoto::photo RagePhoto.hpp RagePhoto */ class LIBRAGEPHOTO_CXX_PUBLIC photo {