Skip to content

Commit dabcbee

Browse files
committed
added ERCGUtilities.h, fixed scheme for OSX
1 parent a59934a commit dabcbee

File tree

4 files changed

+71
-1
lines changed

4 files changed

+71
-1
lines changed

EngineRoom-OSX/EngineRoom-OSX.xcodeproj/project.pbxproj

+4
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
0473D1F51246BF64004FAD1E /* AboutIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = 0473D1F41246BF64004FAD1E /* AboutIcon.png */; };
5858
0490DD80124D576B0057D874 /* logpoints_default_policy.h in Headers */ = {isa = PBXBuildFile; fileRef = 0490DD7F124D576B0057D874 /* logpoints_default_policy.h */; settings = {ATTRIBUTES = (Public, ); }; };
5959
049299E712D682DB0056392E /* er_symbols.h in Headers */ = {isa = PBXBuildFile; fileRef = 049299E612D682DB0056392E /* er_symbols.h */; settings = {ATTRIBUTES = (Public, ); }; };
60+
04A0D8DB1479A7AA00585DD5 /* ERCGUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 04A0D8DA1479A7AA00585DD5 /* ERCGUtilities.h */; };
6061
04AA5A8912D6C09D0097656D /* logpoints.c in Headers */ = {isa = PBXBuildFile; fileRef = 042213FE1200584D0011C415 /* logpoints.c */; settings = {ATTRIBUTES = (Public, ); }; };
6162
04AA5A8A12D6C09D0097656D /* logpoints.m in Headers */ = {isa = PBXBuildFile; fileRef = 042214001200584D0011C415 /* logpoints.m */; settings = {ATTRIBUTES = (Public, ); }; };
6263
04B305641418F5650023AA11 /* NSObject_ERExtensions.h in Headers */ = {isa = PBXBuildFile; fileRef = 04B305621418F5650023AA11 /* NSObject_ERExtensions.h */; settings = {ATTRIBUTES = (Public, ); }; };
@@ -132,6 +133,7 @@
132133
0473D1F41246BF64004FAD1E /* AboutIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = AboutIcon.png; path = ../Resources/AboutIcon.png; sourceTree = SOURCE_ROOT; };
133134
0490DD7F124D576B0057D874 /* logpoints_default_policy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = logpoints_default_policy.h; sourceTree = "<group>"; };
134135
049299E612D682DB0056392E /* er_symbols.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = er_symbols.h; sourceTree = "<group>"; };
136+
04A0D8DA1479A7AA00585DD5 /* ERCGUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ERCGUtilities.h; sourceTree = "<group>"; };
135137
04B305621418F5650023AA11 /* NSObject_ERExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSObject_ERExtensions.h; sourceTree = "<group>"; };
136138
04B305631418F5650023AA11 /* NSObject_ERExtensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSObject_ERExtensions.m; sourceTree = "<group>"; };
137139
04B89F81134BA4760018CC3D /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
@@ -211,6 +213,7 @@
211213
04C5175412FDBF6F00C907EF /* ERUtility */ = {
212214
isa = PBXGroup;
213215
children = (
216+
04A0D8DA1479A7AA00585DD5 /* ERCGUtilities.h */,
214217
044C0BAE134B1DC9006624D8 /* ERColor.h */,
215218
044C0BAF134B1DC9006624D8 /* ERColor.m */,
216219
04DFAD68135CE69500E56F27 /* ERColorTransformer.h */,
@@ -370,6 +373,7 @@
370373
044C0BB0134B1DC9006624D8 /* ERColor.h in Headers */,
371374
044C0BB4134B4FB4006624D8 /* ERValueConverter.h in Headers */,
372375
04DFAD6A135CE69500E56F27 /* ERColorTransformer.h in Headers */,
376+
04A0D8DB1479A7AA00585DD5 /* ERCGUtilities.h in Headers */,
373377
);
374378
runOnlyForDeploymentPostprocessing = 0;
375379
};

EngineRoom-OSX/EngineRoom-OSX.xcodeproj/xcshareddata/xcschemes/EngineRoom-OSX.xcscheme

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
BlueprintIdentifier = "8DC2EF4F0486A6940098B216"
1717
BuildableName = "EngineRoom.framework"
1818
BlueprintName = "EngineRoom-OSX"
19-
ReferencedContainer = "container:../../../../../../Volumes/_artifacts/vc/EngineRoom/EngineRoom-OSX/EngineRoom-OSX.xcodeproj">
19+
ReferencedContainer = "container:EngineRoom-OSX.xcodeproj">
2020
</BuildableReference>
2121
</BuildActionEntry>
2222
</BuildActionEntries>

EngineRoom-iOS/EngineRoom-iOS.xcodeproj/project.pbxproj

+4
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@
5858
048FE95A14618E2400BC2546 /* logpoints_types.h in Headers */ = {isa = PBXBuildFile; fileRef = 04221556120072700011C415 /* logpoints_types.h */; settings = {ATTRIBUTES = (Public, ); }; };
5959
048FE95B14618E2400BC2546 /* logpoints.h in Headers */ = {isa = PBXBuildFile; fileRef = 04221558120072700011C415 /* logpoints.h */; settings = {ATTRIBUTES = (Public, ); }; };
6060
048FE95C14618E2400BC2546 /* tracer.h in Headers */ = {isa = PBXBuildFile; fileRef = 0422155B120072700011C415 /* tracer.h */; settings = {ATTRIBUTES = (Public, ); }; };
61+
04A0D8D514799F4400585DD5 /* ERCGUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 04A0D8D414799F4400585DD5 /* ERCGUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; };
6162
04C5194512FE54EF00C907EF /* ERUtility.m in Sources */ = {isa = PBXBuildFile; fileRef = 04C5194012FE54EF00C907EF /* ERUtility.m */; };
6263
AACBBE4A0F95108600F1A2B1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AACBBE490F95108600F1A2B1 /* Foundation.framework */; };
6364
/* End PBXBuildFile section */
@@ -114,6 +115,7 @@
114115
047DA17F135CF59600B20CDD /* ERValueConverter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ERValueConverter.m; sourceTree = "<group>"; };
115116
047DA180135CF59600B20CDD /* ERValueTransformer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ERValueTransformer.h; sourceTree = "<group>"; };
116117
047DA181135CF59600B20CDD /* ERValueTransformer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ERValueTransformer.m; sourceTree = "<group>"; };
118+
04A0D8D414799F4400585DD5 /* ERCGUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ERCGUtilities.h; sourceTree = "<group>"; };
117119
04AA591D12D6B8B90097656D /* er_symbols.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = er_symbols.h; sourceTree = "<group>"; };
118120
04C5193D12FE546A00C907EF /* Convenience.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Convenience.h; sourceTree = "<group>"; };
119121
04C5193F12FE54EF00C907EF /* ERUtility.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ERUtility.h; sourceTree = "<group>"; };
@@ -217,6 +219,7 @@
217219
047DA181135CF59600B20CDD /* ERValueTransformer.m */,
218220
04C5193F12FE54EF00C907EF /* ERUtility.h */,
219221
04C5194012FE54EF00C907EF /* ERUtility.m */,
222+
04A0D8D414799F4400585DD5 /* ERCGUtilities.h */,
220223
);
221224
path = ERUtility;
222225
sourceTree = "<group>";
@@ -289,6 +292,7 @@
289292
048FE95A14618E2400BC2546 /* logpoints_types.h in Headers */,
290293
048FE95B14618E2400BC2546 /* logpoints.h in Headers */,
291294
048FE95C14618E2400BC2546 /* tracer.h in Headers */,
295+
04A0D8D514799F4400585DD5 /* ERCGUtilities.h in Headers */,
292296
);
293297
runOnlyForDeploymentPostprocessing = 0;
294298
};

EngineRoom/ERUtility/ERCGUtilities.h

+62
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
//
2+
// ERCGUtilities.h
3+
// EngineRoom-iOS
4+
//
5+
// Created by Bjoern Kriews on 20.11.11.
6+
// Copyright (c) 2011 __MyCompanyName__. All rights reserved.
7+
//
8+
9+
#ifndef EngineRoom_iOS_ERCGUtilities_h
10+
#define EngineRoom_iOS_ERCGUtilities_h
11+
12+
// these CGAffine Utilities were kindly put into the public domain by Jeff LaMarche
13+
// I like to recommend his blog at http://iphonedevelopment.blogspot.com/
14+
15+
#import <CoreGraphics/CoreGraphics.h>
16+
17+
#ifdef __cplusplus
18+
extern "C" {
19+
#endif
20+
21+
#define ERDegreesToRadian(x) (M_PI * x / 180.0)
22+
#define ERRadiansToDegrees(x) (180.0 * x / M_PI)
23+
24+
static inline ERCGAffineTransform CGAffineTransformMakeShear(CGFloat shearX, CGFloat shearY)
25+
{
26+
return CGAffineTransformMake(1.f, shearY, shearX, 1.f, 0.f, 0.f);
27+
}
28+
static inline ERCGAffineTransform CGAffineTransformShear(CGAffineTransform transform, CGFloat shearX, CGFloat shearY)
29+
{
30+
CGAffineTransform sheared = ERCGAffineTransformMakeShear(shearX, shearY);
31+
return CGAffineTransformConcat(transform, sheared);
32+
}
33+
static inline CGFloat ERCGAffineTransformGetDeltaX(CGAffineTransform transform) {return transform.tx;};
34+
static inline CGFloat ERCGAffineTransformGetDeltaY(CGAffineTransform transform) {return transform.ty;};
35+
static inline CGFloat ERCGAffineTransformGetScaleX(CGAffineTransform transform) {return sqrtf( (transform.a * transform.a) + (transform.c * transform.c) );};
36+
static inline CGFloat ERCGAffineTransformGetScaleY(CGAffineTransform transform) {return sqrtf( (transform.b * transform.b) + (transform.d * transform.d) );};
37+
static inline CGFloat ERCGAffineTransformGetShearX(CGAffineTransform transform) {return transform.b;};
38+
static inline CGFloat ERCGAffineTransformGetShearY(CGAffineTransform transform) {return transform.c;};
39+
static inline CGFloat ERCGPointAngleBetweenPoints(CGPoint first, CGPoint second)
40+
{
41+
CGFloat dy = second.y - first.y;
42+
CGFloat dx = second.x - first.x;
43+
return atan2f(dy, dx);
44+
}
45+
static inline CGFloat ERCGAffineTransformGetRotation(CGAffineTransform transform)
46+
{
47+
// No exact way to get rotation out without knowing order of all previous operations
48+
// So, we'll cheat. We'll apply the transformation to two points and then determine the
49+
// angle betwen those two points
50+
51+
CGPoint testPoint1 = CGPointMake(-100.f, 0.f);
52+
CGPoint testPoint2 = CGPointMake(100.f, 0.f);
53+
CGPoint transformed1 = CGPointApplyAffineTransform(testPoint1, transform);
54+
CGPoint transformed2 = CGPointApplyAffineTransform(testPoint2, transform);
55+
return ERCGPointAngleBetweenPoints(transformed1, transformed2);
56+
}
57+
58+
#ifdef __cplusplus
59+
}
60+
#endif
61+
62+
#endif

0 commit comments

Comments
 (0)