Skip to content

Commit c93dc35

Browse files
committed
Added: ImageUtil library
1 parent a6fafe6 commit c93dc35

12 files changed

Lines changed: 1466 additions & 0 deletions

File tree

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,6 @@
3131
[submodule "External/TinyEXIF"]
3232
path = External/TinyEXIF
3333
url = https://github.com/OpenImageViewer/TinyEXIF.git
34+
[submodule "External/ExoticNumbers"]
35+
path = External/ExoticNumbers
36+
url = https://github.com/OpenImageViewer/ExoticNumbers.git

CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ include_directories(./External/LLUtils/Include)
1010
option(IMCODEC_DISABLE_WARNINGS_EXTERNAL_LIBS "Disable warnings for external libraries" TRUE)
1111

1212

13+
option(IMCODEC_BUILD_IMAGE_UTIL "Build Image util" TRUE)
1314
option(IMCODEC_BUILD_CODEC_PSD "Build Codec PSD" TRUE)
1415
option(IMCODEC_BUILD_CODEC_JPG "Build Codec JPG" TRUE)
1516
option(IMCODEC_BUILD_CODEC_PNG "Build Codec PNG" TRUE)
@@ -73,6 +74,11 @@ add_subdirectory(./External/TinyEXIF)
7374

7475
add_subdirectory(ImageCodec)
7576

77+
if (IMCODEC_BUILD_IMAGE_UTIL)
78+
add_subdirectory(ImageUtil)
79+
endif()
80+
81+
7682
if (IMCODEC_BUILD_EXAMPLES AND IMCODEC_BUILD_CODEC_JPG AND IMCODEC_BUILD_CODEC_PNG)
7783
add_subdirectory(Example)
7884
endif()

External/ExoticNumbers

Submodule ExoticNumbers added at 09af312

ImageUtil/CMakeLists.txt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
file(GLOB_RECURSE sourceFiles
2+
"./Source/*.h"
3+
"./Source/*.cpp"
4+
)
5+
6+
set(TargetName ImageUtil)
7+
add_library (${TargetName} STATIC ${sourceFiles})
8+
9+
target_include_directories(${TargetName} PRIVATE ./Include)
10+
target_include_directories(${TargetName} PRIVATE ./Source)
11+
target_include_directories(${TargetName} PRIVATE ../External/ExoticNumbers/Include)
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#pragma once
2+
#include <LLUtils/EnumClassBitwise.h>
3+
4+
namespace IMUtil
5+
{
6+
enum AxisAlignedRotation
7+
{
8+
None = 0
9+
, Rotate90CW = 1
10+
, Rotate180 = 2
11+
, Rotate90CCW = 3
12+
};
13+
14+
enum class AxisAlignedFlip
15+
{
16+
None = 0 << 0
17+
, Horizontal = 1 << 0
18+
, Vertical = 1 << 1
19+
};
20+
21+
22+
struct AxisAlignedTransform
23+
{
24+
AxisAlignedRotation rotation;
25+
AxisAlignedFlip flip;
26+
};
27+
}
28+
29+
LLUTILS_DEFINE_ENUM_CLASS_FLAG_OPERATIONS(IMUtil::AxisAlignedFlip)

0 commit comments

Comments
 (0)