Commit graph

46 commits

Author SHA1 Message Date
Syping
1b7b3c977b libragephoto: add benchmark to C implementation
CMakeLists.txt: update RAGEPHOTO_BENCHMARK description
RagePhoto.c: add benchmark
RagePhoto.cpp: change benchmark clock from
std::chrono::high_resolution_clock to std::chrono::steady_clock
2023-12-10 07:57:15 +01:00
Syping
0f1cfe630b libragephoto: add ragephoto Python Package
- separate RagePhoto and RagePhoto-Extract sources
2023-11-09 20:17:37 +01:00
Syping
9a5bcabf8c libragephoto: improve get and serializer reliability
- get functions do not return NULL or nullptr anymore
- serializer checks for valid references to not crash
- tight buffers do not prematurely end writing anymore
- add zeroBuffer function for future nullbyte insertions
- IconvTest.cpp: remove some C-style casts
- RagePhoto.cpp: improve initializer reliability
- RagePhotoA.hpp: throw error when instance could not be allocated
- README.md: minor markdown fix
2023-10-30 14:31:50 +01:00
Syping
c74b4a415f libragephoto 0.5.1 release
- ragephoto_open: fix memory leak when instance can't be allocated
- ragephoto_loadfile: fix file handle leak when data heap can't be
allocated
- ragephotodata_load: fix printf print types
- RagePhoto.cpp: remove std namespace from C functions
2023-10-25 16:33:01 +02:00
Syping
6fdc075741 libragephoto 0.5.0 release
- CMakeLists.txt: add missing RagePhotoA for C API builds
- updated README.md
2023-06-11 23:07:41 +02:00
Syping
12507be85d libragephoto: add RagePhotoB for best implementation
CMakeLists.txt: add RagePhotoB class, improve settings clarification
doc/build.doc: add RAGEPHOTO_C_LIBRARY flag
doc/index.doc: correct RagePhoto.h header
doc/usage.doc: fix minor documentation issue, clarify class differences
ragephoto-gtkviewer: use RagePhotoB class
ragephoto-qtviewer: use RagePhotoB class
RagePhoto-Extract.cpp: use RagePhotoB class
RagePhoto.cpp: LIBRAGEPHOTO_C_API -> LIBRAGEPHOTO_CXX_C
RagePhotoA.hpp: simplify brief
RagePhotoB.hpp: add best implementation detection
RagePhotoLibrary.h: fix WASM C API inclusion by default
README.md: add RAGEPHOTO_C_LIBRARY flag
2023-06-11 05:41:32 +02:00
Syping
b838c505a4 libragephoto: C++ headers have now .hpp extension
RagePhoto.h -> RagePhoto.hpp
RagePhotoA.h -> RagePhotoA.hpp
RagePhotoC.h -> RagePhoto.h

unicode.cmake: exclude codecvt for C builds
GitHub Actions: separate C and CXX builds
2023-06-07 06:57:23 +02:00
Syping
3046cbd077 libragephoto: introduce C library port
CMakeLists.txt: fixes for MSVC and C library support
RagePhoto: non C++11 support
RagePhotoC: clarify C instance support in comment
RagePhotoTypedefs: add typedefs for C library
2023-06-06 19:39:22 +02:00
Syping
af3580dff4 libragephoto 0.4.1 release
RagePhotoA: fix setData() pointer passthrough
2023-05-25 23:30:26 +02:00
Syping
4aedd8b869 libragephoto 0.4.0 release
- CMakeLists.txt: bump version to 0.4.0
- RagePhoto(A): add headerSum2 for RDR 2
- RagePhotoC: add ragephoto_setphotoheader2() for RDR 2
- RagePhotoTypedefs: remove unnamedSum1, rename unnamedSum2 ->
headerSum2
- RagePhotoTypedefs: remove ragephoto_bool_t for bool
2023-05-14 11:44:59 +02:00
Syping
d8c0d7d470 libragephoto: rename BINDING to PUBLIC, some other changes
- doc/Doxyfile.in: rename BINDING to PUBLIC
- doc/usage.doc: fix a usage example
- CMakeLists.txt: include CPack only when libragephoto is Top Level
- RagePhoto.h: rename BINDING TO PUBLIC
- RagePhotoC.h: rename BINDING TO PUBLIC
- RagePhotoLibrary.h: rename BINDING to PUBLIC, add new checks
2023-04-09 21:22:13 +02:00
Syping
564a8c92b5 CMakeLists.txt: add C++17 build flags for MSVC 2023-03-09 05:30:01 +01:00
Syping
3c433ca072 libragephoto: add opt-in C++17 support
- RagePhoto(A): add jpeg_view() function
- CMakeLists.txt: move C++17 and WebAssembly stuff inside include files
2023-03-03 03:26:59 +01:00
Syping
d75eba2a46 libragephoto: add new ragephotodata functions and improvements
RagePhoto: changed photo(), photoData(), photoSize() and setPhoto() to
jpeg(), jpegData(), jpegSize() and setJpeg()
RagePhoto: setData() now takes takeCopy instead of takeOwnership
RagePhoto: changed static member argument order for easier coding
RagePhotoA: changed photo(), photoData(), photoSize() and setPhoto() to
jpeg(), jpegData(), jpegSize() and setJpeg()
RagePhotoA: setData() now takes takeCopy instead of takeOwnership
RagePhotoA: changed static member argument order for easier coding
RagePhotoA: add new C API functions
RagePhotoC: add ragephotodata_save() and ragephotodata_savef()
RagePhoto-Extract: update for API changes, stop assuming RDR 2 when GTA
V format not found
ragephoto-gtkviewer: update for API changes
ragephoto-qtviewer: update for API changes
2023-02-23 09:17:53 +01:00
Syping
429f011cff CMakeLists.txt: add CPack package generation 2023-02-11 18:53:15 +01:00
Syping
45a45701f6 libragephoto: various changes
- libragephoto_global.h seperated to RagePhotoConfig.h and
RagePhotoLibrary.h
- RagePhotoData.h renamed to RagePhotoTypedefs.h
- RagePhotoData: updated struct and documentated it
- RagePhotoC: changed ragephoto_setphotodata ABI, added
ragephoto_setphotodatac for copying
- RagePhotoA: adapted for the ABI changes
- RagePhoto: adapted for the ABI changes and updated struct
2023-02-07 03:06:22 +01:00
Syping
e08b45d980 low level improvements and data type changes
- RagePhoto: removed setFormatLoadFunction (will be replaced with a
better solution later)
- RagePhoto: code updates for the RagePhotoData changes
- RagePhotoA: have now RagePhoto enum's available
- RagePhotoData: changed description, json, header and title types to
char*
- RagePhotoData: removed photoLoaded in favour of nullptr check
- examples: prepared for the API update
2023-01-07 20:43:11 +01:00
Syping
4b9637e0fd Emscripten: add _malloc to EXPORTED_FUNCTIONS 2023-01-05 16:03:47 +01:00
Syping
54912a63ab Emscripten: set ALLOW_MEMORY_GROWTH to 1 2023-01-05 15:46:57 +01:00
Syping
1d522d0667 CMakeLists.txt 2022 update 2022-08-04 06:26:54 +02:00
Syping
6a50ca75a1 CMakeLists.txt update, RagePhoto add data() function
RagePhoto::data() returns internal RagePhotoData object
2021-12-14 03:15:52 +01:00
Syping
eed3290633 CMake and GitHub Actions update installations 2021-12-02 03:14:19 +01:00
Syping
aa9ac44f3e CMake, Doc and README updates
CMake: add EM_ON EM_OFF and rename BUILD_* and WITH_* options to
RAGEPHOTO_*
Doc: change C++ API to C/C++ API
README: change build libragephoto section and add the reworked CMake
options
2021-12-01 07:41:47 +01:00
Syping
c6566c8f17 WebAssembly CMake support and other changes
RagePhoto-Extract: removed unnecessary includes
Windows RagePhoto-Extract: included Windows resource file

RagePhotoA: include iostream to fix undefined std::

RagePhoto: seperate C and CXX exports to export only C functions with
WebAssembly
Windows RagePhoto: changed Windows resource file language to 0x0

Doxyfile: change PROJECT_VERSION variable to ragephoto_VERSION variable
2021-11-16 06:20:20 +01:00
Syping
a5a501f6fe C API and .gitattributes improvements
C API: separate C++ and C Header files
.gitattributes: use cp1252 as encoding for .rc.in files
2021-11-13 04:41:01 +01:00
Syping
bb53b342b7 CMake updates, Win32 resources and .gitattributes added
CMake: Improve RPATH handling for both TARGET and non-TARGET builds
CMake: Updating configure_file's to handle ragephoto_ instead of PROJECT_
variables
Win32 resources: Add basic library description with CMake's configure_file
2021-11-12 06:55:37 +01:00
Syping
b47456844a CMake: Seperate Unicode tests 2021-11-09 03:25:27 +01:00
Syping
adebf504bb Unicode: changed implementation selection 2021-11-07 20:32:06 +01:00
Syping
05890541dc add Win32 API Unicode converter, other small changes
Qt Example: add file.close() (consistency between GTK example)
RagePhoto: saveFile() checks for good(), more data() -> c_str()
2021-11-06 20:17:28 +01:00
Syping
85ab850895 CMake: improve overview 2021-11-06 14:52:25 +01:00
Syping
67ed433f6b C/C++ API improvements, CMake include dir change
C API: add format functions
C++ API: add ABI stable wrapper RagePhotoA based on C API
2021-11-04 13:21:18 +01:00
Syping
d8c99b9067 RagePhoto-Extract: use C API when enabled 2021-11-03 11:21:37 +01:00
Syping
2fcc5b0ba7 add version features 2021-11-03 10:54:35 +01:00
Syping
1be4ae5e4a improve library structure, update documentation 2021-11-03 10:19:32 +01:00
Syping
18b92c24f2 added a Simple C API 2021-10-29 11:52:59 +02:00
Syping
136520372d add custom load functions, move private data to struct 2021-10-28 03:28:36 +02:00
Syping
3fa0068251 add documentation and set functions 2021-09-14 19:35:46 +02:00
Syping
01bb6e1bcf Fix CMake top-level detection, install build with CI 2021-09-04 17:24:22 +02:00
Syping
9af28f0aa6 CMake improvements, photoFormat improvement 2021-09-04 17:13:03 +02:00
Syping
7721aab48b fix Windows static build 2021-08-29 03:06:14 +02:00
Syping
dd47087afd add pkgconfig, improve Qt example 2021-08-27 21:48:33 +02:00
Syping
33c3dcb512 add Qt example, GTK example fixes, README update 2021-08-27 20:07:14 +02:00
Syping
e1bdccfb0d memory fixes, GTK example added 2021-08-27 05:33:20 +02:00
Syping
c9b33b324d add codecvt support 2021-08-27 01:47:09 +02:00
Syping
63c0977ed6 add error function, README and CI 2021-08-26 00:22:11 +02:00
Syping
93b81484a6 initial commit 2021-08-25 00:30:10 +02:00