Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Using shorter class names; added Ole Begemann's iPhone app icon

Also implement print-to-console using key-paths.
  • Loading branch information...
commit 5619959632bf19d3d811dae27e738779d4fa37d6 1 parent 07dfbe4
@royratcliffe authored
Showing with 327 additions and 238 deletions.
  1. +10 −9 RRCausticColorMatcher.h
  2. +10 −9 RRCausticColorMatcher.m
  3. +10 −9 RRExponentialFunction.h
  4. +10 −9 RRExponentialFunction.m
  5. +10 −9 RRGlossCausticShader.h
  6. +10 −9 RRGlossCausticShader.m
  7. +10 −9 RRLuminanceFromRGBComponents.h
  8. +10 −9 RRLuminanceFromRGBComponents.m
  9. +19 −1 SampleAppOSX/AppDelegate.h
  10. +19 −1 SampleAppOSX/AppDelegate.m
  11. +27 −18 SampleAppOSX/GlossCausticShader.xcodeproj/project.pbxproj
  12. +19 −1 SampleAppOSX/GlossCausticShaderView.h
  13. +19 −1 SampleAppOSX/GlossCausticShaderView.m
  14. +1 −1  SampleAppOSX/main.m
  15. +5 −5 SampleAppiPhone/Classes/{GlossCausticShaderAppDelegate.h → AppDelegate.h}
  16. +4 −4 SampleAppiPhone/Classes/{GlossCausticShaderAppDelegate.m → AppDelegate.m}
  17. +2 −2 SampleAppiPhone/Classes/{GlossCausticShaderView.h → ShaderView.h}
  18. +3 −3 SampleAppiPhone/Classes/{GlossCausticShaderView.m → ShaderView.m}
  19. +5 −5 SampleAppiPhone/Classes/{GlossCausticShaderViewController.h → ShaderViewController.h}
  20. +60 −38 SampleAppiPhone/Classes/{GlossCausticShaderViewController.m → ShaderViewController.m}
  21. +1 −1  SampleAppiPhone/GlossCausticShader-Info.plist
  22. +40 −43 SampleAppiPhone/GlossCausticShader.xcodeproj/project.pbxproj
  23. +11 −21 SampleAppiPhone/GlossCausticShaderViewController.xib
  24. BIN  SampleAppiPhone/Icon.png
  25. +12 −21 SampleAppiPhone/MainWindow.xib
View
19 RRCausticColorMatcher.h
@@ -1,6 +1,7 @@
// RRUtils RRCausticColorMatcher.h
//
// Copyright © 2008-2010, Roy Ratcliffe, Pioneering Software, United Kingdom
+// All rights reserved
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
@@ -9,16 +10,16 @@
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-// SOFTWARE.
+// THE SOFTWARE IS PROVIDED "AS IS," WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO
+// EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
+// OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+// DEALINGS IN THE SOFTWARE.
//
//------------------------------------------------------------------------------
View
19 RRCausticColorMatcher.m
@@ -1,6 +1,7 @@
// RRUtils RRCausticColorMatcher.m
//
// Copyright © 2008-2010, Roy Ratcliffe, Pioneering Software, United Kingdom
+// All rights reserved
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
@@ -9,16 +10,16 @@
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-// SOFTWARE.
+// THE SOFTWARE IS PROVIDED "AS IS," WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO
+// EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
+// OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+// DEALINGS IN THE SOFTWARE.
//
//------------------------------------------------------------------------------
View
19 RRExponentialFunction.h
@@ -1,6 +1,7 @@
// RRUtils RRExponentialFunction.h
//
// Copyright © 2008-2010, Roy Ratcliffe, Pioneering Software, United Kingdom
+// All rights reserved
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
@@ -9,16 +10,16 @@
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-// SOFTWARE.
+// THE SOFTWARE IS PROVIDED "AS IS," WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO
+// EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
+// OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+// DEALINGS IN THE SOFTWARE.
//
//------------------------------------------------------------------------------
View
19 RRExponentialFunction.m
@@ -1,6 +1,7 @@
// RRUtils RRExponentialFunction.m
//
// Copyright © 2008-2010, Roy Ratcliffe, Pioneering Software, United Kingdom
+// All rights reserved
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
@@ -9,16 +10,16 @@
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-// SOFTWARE.
+// THE SOFTWARE IS PROVIDED "AS IS," WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO
+// EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
+// OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+// DEALINGS IN THE SOFTWARE.
//
//------------------------------------------------------------------------------
View
19 RRGlossCausticShader.h
@@ -1,6 +1,7 @@
// RRUtils RRGlossCausticShader.h
//
// Copyright © 2008-2010, Roy Ratcliffe, Pioneering Software, United Kingdom
+// All rights reserved
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
@@ -9,16 +10,16 @@
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-// SOFTWARE.
+// THE SOFTWARE IS PROVIDED "AS IS," WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO
+// EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
+// OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+// DEALINGS IN THE SOFTWARE.
//
//------------------------------------------------------------------------------
View
19 RRGlossCausticShader.m
@@ -1,6 +1,7 @@
// RRUtils RRGlossCausticShader.m
//
// Copyright © 2008-2010, Roy Ratcliffe, Pioneering Software, United Kingdom
+// All rights reserved
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
@@ -9,16 +10,16 @@
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-// SOFTWARE.
+// THE SOFTWARE IS PROVIDED "AS IS," WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO
+// EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
+// OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+// DEALINGS IN THE SOFTWARE.
//
//------------------------------------------------------------------------------
View
19 RRLuminanceFromRGBComponents.h
@@ -1,6 +1,7 @@
// RRUtils RRLuminanceFromRGBComponents.h
//
// Copyright © 2008-2010, Roy Ratcliffe, Pioneering Software, United Kingdom
+// All rights reserved
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
@@ -9,16 +10,16 @@
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-// SOFTWARE.
+// THE SOFTWARE IS PROVIDED "AS IS," WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO
+// EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
+// OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+// DEALINGS IN THE SOFTWARE.
//
//------------------------------------------------------------------------------
View
19 RRLuminanceFromRGBComponents.m
@@ -1,6 +1,7 @@
// RRUtils RRLuminanceFromRGBComponents.m
//
// Copyright © 2008-2010, Roy Ratcliffe, Pioneering Software, United Kingdom
+// All rights reserved
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
@@ -9,16 +10,16 @@
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-// SOFTWARE.
+// THE SOFTWARE IS PROVIDED "AS IS," WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO
+// EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
+// OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+// DEALINGS IN THE SOFTWARE.
//
//------------------------------------------------------------------------------
View
20 SampleAppOSX/AppDelegate.h
@@ -1,8 +1,26 @@
// GlossCausticShader AppDelegate.h
//
-// Copyright © 2008, Roy Ratcliffe, Lancaster, United Kingdom
+// Copyright © 2008, Roy Ratcliffe, Pioneering Software, United Kingdom
// All rights reserved
//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS," WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO
+// EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
+// OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+// DEALINGS IN THE SOFTWARE.
+//
//------------------------------------------------------------------------------
#import <Cocoa/Cocoa.h>
View
20 SampleAppOSX/AppDelegate.m
@@ -1,8 +1,26 @@
// GlossCausticShader AppDelegate.m
//
-// Copyright © 2008, Roy Ratcliffe, Lancaster, United Kingdom
+// Copyright © 2008, Roy Ratcliffe, Pioneering Software, United Kingdom
// All rights reserved
//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS," WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO
+// EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
+// OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+// DEALINGS IN THE SOFTWARE.
+//
//------------------------------------------------------------------------------
#import "AppDelegate.h"
View
45 SampleAppOSX/GlossCausticShader.xcodeproj/project.pbxproj
@@ -30,14 +30,14 @@
32CA4F630368D1EE00C91783 /* GlossCausticShader_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GlossCausticShader_Prefix.pch; sourceTree = "<group>"; };
7810333D0EF015C600721CDD /* GlossCausticShader.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = GlossCausticShader.icns; sourceTree = "<group>"; };
781033410EF016A900721CDD /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
- 78500348113B76BE006A9784 /* RRCausticColorMatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RRCausticColorMatcher.h; path = ../RRCausticColorMatcher.h; sourceTree = SOURCE_ROOT; };
- 78500349113B76BE006A9784 /* RRCausticColorMatcher.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RRCausticColorMatcher.m; path = ../RRCausticColorMatcher.m; sourceTree = SOURCE_ROOT; };
- 7850034A113B76BE006A9784 /* RRExponentialFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RRExponentialFunction.h; path = ../RRExponentialFunction.h; sourceTree = SOURCE_ROOT; };
- 7850034B113B76BE006A9784 /* RRExponentialFunction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RRExponentialFunction.m; path = ../RRExponentialFunction.m; sourceTree = SOURCE_ROOT; };
- 7850034C113B76BE006A9784 /* RRGlossCausticShader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RRGlossCausticShader.h; path = ../RRGlossCausticShader.h; sourceTree = SOURCE_ROOT; };
- 7850034D113B76BE006A9784 /* RRGlossCausticShader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RRGlossCausticShader.m; path = ../RRGlossCausticShader.m; sourceTree = SOURCE_ROOT; };
- 78500351113B76CB006A9784 /* RRLuminanceFromRGBComponents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RRLuminanceFromRGBComponents.h; path = ../RRLuminanceFromRGBComponents.h; sourceTree = SOURCE_ROOT; };
- 78500352113B76CB006A9784 /* RRLuminanceFromRGBComponents.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RRLuminanceFromRGBComponents.m; path = ../RRLuminanceFromRGBComponents.m; sourceTree = SOURCE_ROOT; };
+ 78500348113B76BE006A9784 /* RRCausticColorMatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RRCausticColorMatcher.h; sourceTree = "<group>"; };
+ 78500349113B76BE006A9784 /* RRCausticColorMatcher.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RRCausticColorMatcher.m; sourceTree = "<group>"; };
+ 7850034A113B76BE006A9784 /* RRExponentialFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RRExponentialFunction.h; sourceTree = "<group>"; };
+ 7850034B113B76BE006A9784 /* RRExponentialFunction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RRExponentialFunction.m; sourceTree = "<group>"; };
+ 7850034C113B76BE006A9784 /* RRGlossCausticShader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RRGlossCausticShader.h; sourceTree = "<group>"; };
+ 7850034D113B76BE006A9784 /* RRGlossCausticShader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RRGlossCausticShader.m; sourceTree = "<group>"; };
+ 78500351113B76CB006A9784 /* RRLuminanceFromRGBComponents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RRLuminanceFromRGBComponents.h; sourceTree = "<group>"; };
+ 78500352113B76CB006A9784 /* RRLuminanceFromRGBComponents.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RRLuminanceFromRGBComponents.m; sourceTree = "<group>"; };
7852B6500EEEC160007B00C9 /* GlossCausticShaderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GlossCausticShaderView.h; sourceTree = "<group>"; };
7852B6510EEEC160007B00C9 /* GlossCausticShaderView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GlossCausticShaderView.m; sourceTree = "<group>"; };
78B4BCD80EEEF93000A9122D /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
@@ -61,16 +61,10 @@
080E96DDFE201D6D7F000001 /* Classes */ = {
isa = PBXGroup;
children = (
- 78500348113B76BE006A9784 /* RRCausticColorMatcher.h */,
- 78500349113B76BE006A9784 /* RRCausticColorMatcher.m */,
- 7850034A113B76BE006A9784 /* RRExponentialFunction.h */,
- 7850034B113B76BE006A9784 /* RRExponentialFunction.m */,
- 7850034C113B76BE006A9784 /* RRGlossCausticShader.h */,
- 7850034D113B76BE006A9784 /* RRGlossCausticShader.m */,
- 7852B6500EEEC160007B00C9 /* GlossCausticShaderView.h */,
- 7852B6510EEEC160007B00C9 /* GlossCausticShaderView.m */,
78B4BCD80EEEF93000A9122D /* AppDelegate.h */,
78B4BCD90EEEF93000A9122D /* AppDelegate.m */,
+ 7852B6500EEEC160007B00C9 /* GlossCausticShaderView.h */,
+ 7852B6510EEEC160007B00C9 /* GlossCausticShaderView.m */,
);
name = Classes;
sourceTree = "<group>";
@@ -104,6 +98,7 @@
29B97314FDCFA39411CA2CEA /* GlossCausticShader */ = {
isa = PBXGroup;
children = (
+ 7829F5171140B42C00209753 /* Gloss-Caustic Shader */,
080E96DDFE201D6D7F000001 /* Classes */,
29B97315FDCFA39411CA2CEA /* Other Sources */,
29B97317FDCFA39411CA2CEA /* Resources */,
@@ -116,8 +111,6 @@
29B97315FDCFA39411CA2CEA /* Other Sources */ = {
isa = PBXGroup;
children = (
- 78500351113B76CB006A9784 /* RRLuminanceFromRGBComponents.h */,
- 78500352113B76CB006A9784 /* RRLuminanceFromRGBComponents.m */,
32CA4F630368D1EE00C91783 /* GlossCausticShader_Prefix.pch */,
781033410EF016A900721CDD /* main.m */,
);
@@ -144,6 +137,22 @@
name = Frameworks;
sourceTree = "<group>";
};
+ 7829F5171140B42C00209753 /* Gloss-Caustic Shader */ = {
+ isa = PBXGroup;
+ children = (
+ 78500348113B76BE006A9784 /* RRCausticColorMatcher.h */,
+ 78500349113B76BE006A9784 /* RRCausticColorMatcher.m */,
+ 7850034A113B76BE006A9784 /* RRExponentialFunction.h */,
+ 7850034B113B76BE006A9784 /* RRExponentialFunction.m */,
+ 7850034C113B76BE006A9784 /* RRGlossCausticShader.h */,
+ 7850034D113B76BE006A9784 /* RRGlossCausticShader.m */,
+ 78500351113B76CB006A9784 /* RRLuminanceFromRGBComponents.h */,
+ 78500352113B76CB006A9784 /* RRLuminanceFromRGBComponents.m */,
+ );
+ name = "Gloss-Caustic Shader";
+ path = ..;
+ sourceTree = "<group>";
+ };
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
View
20 SampleAppOSX/GlossCausticShaderView.h
@@ -1,8 +1,26 @@
// GlossCausticShader GlossCausticShaderView.h
//
-// Copyright © 2008, Roy Ratcliffe, Lancaster, United Kingdom
+// Copyright © 2008, Roy Ratcliffe, Pioneering Software, United Kingdom
// All rights reserved
//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS," WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO
+// EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
+// OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+// DEALINGS IN THE SOFTWARE.
+//
//------------------------------------------------------------------------------
#import <Cocoa/Cocoa.h>
View
20 SampleAppOSX/GlossCausticShaderView.m
@@ -1,8 +1,26 @@
// GlossCausticShader GlossCausticShaderView.m
//
-// Copyright © 2008, Roy Ratcliffe, Lancaster, United Kingdom
+// Copyright © 2008, Roy Ratcliffe, Pioneering Software, United Kingdom
// All rights reserved
//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS," WITHOUT WARRANTY OF ANY KIND, EITHER
+// EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO
+// EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES
+// OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+// DEALINGS IN THE SOFTWARE.
+//
//------------------------------------------------------------------------------
#import "GlossCausticShaderView.h"
View
2  SampleAppOSX/main.m
@@ -1,6 +1,6 @@
// $Id: main.m,v 1.4 2008/06/29 17:53:46 royratcliffe Exp $
//
-// Copyright © 2008, Roy Ratcliffe, Lancaster, United Kingdom
+// Copyright © 2008, Roy Ratcliffe, Pioneering Software, United Kingdom
// All rights reserved
//
//------------------------------------------------------------------------------
View
10 ...AppiPhone/Classes/GlossCausticShaderAppDelegate.h → SampleAppiPhone/Classes/AppDelegate.h
@@ -1,4 +1,4 @@
-// GlossCausticShader GlossCausticShaderAppDelegate.h
+// GlossCausticShader AppDelegate.h
//
// Copyright © 2010, Roy Ratcliffe, Pioneering Software, United Kingdom
// All rights reserved
@@ -25,15 +25,15 @@
#import <UIKit/UIKit.h>
-@class GlossCausticShaderViewController;
+@class ShaderViewController;
-@interface GlossCausticShaderAppDelegate : NSObject<UIApplicationDelegate>
+@interface AppDelegate : NSObject<UIApplicationDelegate>
{
UIWindow *window;
- GlossCausticShaderViewController *viewController;
+ ShaderViewController *viewController;
}
@property(nonatomic, retain) IBOutlet UIWindow *window;
-@property(nonatomic, retain) IBOutlet GlossCausticShaderViewController *viewController;
+@property(nonatomic, retain) IBOutlet ShaderViewController *viewController;
@end
View
8 ...AppiPhone/Classes/GlossCausticShaderAppDelegate.m → SampleAppiPhone/Classes/AppDelegate.m
@@ -1,4 +1,4 @@
-// GlossCausticShader GlossCausticShaderAppDelegate.m
+// GlossCausticShader AppDelegate.m
//
// Copyright © 2010, Roy Ratcliffe, Pioneering Software, United Kingdom
// All rights reserved
@@ -23,10 +23,10 @@
//
//------------------------------------------------------------------------------
-#import "GlossCausticShaderAppDelegate.h"
-#import "GlossCausticShaderViewController.h"
+#import "AppDelegate.h"
+#import "ShaderViewController.h"
-@implementation GlossCausticShaderAppDelegate
+@implementation AppDelegate
@synthesize window;
@synthesize viewController;
View
4 SampleAppiPhone/Classes/GlossCausticShaderView.h → SampleAppiPhone/Classes/ShaderView.h
@@ -1,4 +1,4 @@
-// GlossCausticShader GlossCausticShaderView.h
+// GlossCausticShader ShaderView.h
//
// Copyright © 2010, Roy Ratcliffe, Pioneering Software, United Kingdom
// All rights reserved
@@ -28,7 +28,7 @@
@class RRGlossCausticShader;
// uses a shader to fill its bounds rectangle
-@interface GlossCausticShaderView : UIView
+@interface ShaderView : UIView
{
RRGlossCausticShader *shader;
}
View
6 SampleAppiPhone/Classes/GlossCausticShaderView.m → SampleAppiPhone/Classes/ShaderView.m
@@ -1,4 +1,4 @@
-// GlossCausticShader GlossCausticShaderView.m
+// GlossCausticShader ShaderView.m
//
// Copyright © 2010, Roy Ratcliffe, Pioneering Software, United Kingdom
// All rights reserved
@@ -23,13 +23,13 @@
//
//------------------------------------------------------------------------------
-#import "GlossCausticShaderView.h"
+#import "ShaderView.h"
#import "RRGlossCausticShader.h"
// for access to Core Animation layer
#import <QuartzCore/QuartzCore.h>
-@implementation GlossCausticShaderView
+@implementation ShaderView
@synthesize shader;
View
10 ...iPhone/Classes/GlossCausticShaderViewController.h → SampleAppiPhone/Classes/ShaderViewController.h
@@ -1,4 +1,4 @@
-// GlossCausticShader GlossCausticShaderViewController.h
+// GlossCausticShader ShaderViewController.h
//
// Copyright © 2010, Roy Ratcliffe, Pioneering Software, United Kingdom
// All rights reserved
@@ -25,11 +25,11 @@
#import <UIKit/UIKit.h>
-@class GlossCausticShaderView;
+@class ShaderView;
-@interface GlossCausticShaderViewController : UIViewController
+@interface ShaderViewController : UIViewController
{
- GlossCausticShaderView *shaderView;
+ ShaderView *shaderView;
UIView *controlsView;
UIScrollView *scrollView;
UIButton *colorButton;
@@ -72,7 +72,7 @@
UILabel *causticFractionRangeFactorLabel;
}
-@property(nonatomic, retain) IBOutlet GlossCausticShaderView *shaderView;
+@property(nonatomic, retain) IBOutlet ShaderView *shaderView;
@property(nonatomic, retain) IBOutlet UIView *controlsView;
@property(nonatomic, retain) IBOutlet UIScrollView *scrollView;
@property(nonatomic, retain) IBOutlet UIButton *colorButton;
View
98 ...iPhone/Classes/GlossCausticShaderViewController.m → SampleAppiPhone/Classes/ShaderViewController.m
@@ -1,4 +1,4 @@
-// GlossCausticShader GlossCausticShaderViewController.m
+// GlossCausticShader ShaderViewController.m
//
// Copyright © 2010, Roy Ratcliffe, Pioneering Software, United Kingdom
// All rights reserved
@@ -23,15 +23,40 @@
//
//------------------------------------------------------------------------------
-#import "GlossCausticShaderViewController.h"
-#import "GlossCausticShaderView.h"
+#import "ShaderViewController.h"
+#import "ShaderView.h"
#import "RRGlossCausticShader.h"
#import "UIColor+RRUIKit.h"
#import <QuartzCore/QuartzCore.h>
-@implementation GlossCausticShaderViewController
+// iPhone OS makes binding more difficult. It lacks Cocoa's key-value bindings,
+// at the current version. However, it does not lack key-value coding. The
+// controller can access shader and matcher properties using KVC. This
+// simplifies the controller to some extent. Slider tags identify which key-path
+// the slider value modifies. Tags are integers only, on iPhone.
+
+static NSString *const kKeyPaths[] =
+{
+ @"exponentialCoefficient",
+ @"glossReflectionPower",
+ @"glossStartingWhite",
+ @"glossEndingWhite",
+ @"matcher.causticHue",
+ @"matcher.graySaturationThreshold",
+ @"matcher.causticSaturationForGrays",
+ @"matcher.redHueThreshold",
+ @"matcher.blueHueThreshold",
+ @"matcher.blueCausticHue",
+ @"matcher.causticFractionDomainFactor",
+ @"matcher.causticFractionRangeFactor",
+};
+
+// Make it easier to add a digit of precision, or remove one!
+static NSString *const kFloatFormat = @"%.3f";
+
+@implementation ShaderViewController
@synthesize shaderView;
@synthesize controlsView;
@@ -72,36 +97,20 @@ @implementation GlossCausticShaderViewController
@synthesize causticFractionDomainFactorLabel;
@synthesize causticFractionRangeFactorLabel;
-static NSString *const keyPaths[] =
-{
- @"exponentialCoefficient",
- @"glossReflectionPower",
- @"glossStartingWhite",
- @"glossEndingWhite",
- @"matcher.causticHue",
- @"matcher.graySaturationThreshold",
- @"matcher.causticSaturationForGrays",
- @"matcher.redHueThreshold",
- @"matcher.blueHueThreshold",
- @"matcher.blueCausticHue",
- @"matcher.causticFractionDomainFactor",
- @"matcher.causticFractionRangeFactor",
-};
-
- (void)syncUIWithShaderSettings
{
UIColor *color = [self.shaderView.shader noncausticColor];
self.colorButton.backgroundColor = color;
- self.redLabel.text = [NSString stringWithFormat:@"%.3f", self.redSlider.value = [color redComponent]];
- self.greenLabel.text = [NSString stringWithFormat:@"%.3f", self.greenSlider.value = [color greenComponent]];
- self.blueLabel.text = [NSString stringWithFormat:@"%.3f", self.blueSlider.value = [color blueComponent]];
- for (NSUInteger i = 0; i < sizeof(keyPaths)/sizeof(keyPaths[0]); i++)
+ self.redLabel.text = [NSString stringWithFormat:kFloatFormat, self.redSlider.value = [color redComponent]];
+ self.greenLabel.text = [NSString stringWithFormat:kFloatFormat, self.greenSlider.value = [color greenComponent]];
+ self.blueLabel.text = [NSString stringWithFormat:kFloatFormat, self.blueSlider.value = [color blueComponent]];
+ for (NSUInteger i = 0; i < sizeof(kKeyPaths)/sizeof(kKeyPaths[0]); i++)
{
- float value = [[self.shaderView.shader valueForKeyPath:keyPaths[i]] floatValue];
- NSString *key = [[keyPaths[i] componentsSeparatedByString:@"."] lastObject];
+ float value = [[self.shaderView.shader valueForKeyPath:kKeyPaths[i]] floatValue];
+ NSString *key = [[kKeyPaths[i] componentsSeparatedByString:@"."] lastObject];
UISlider *slider = [self valueForKeyPath:[key stringByAppendingString:@"Slider"]];
UILabel *label = [self valueForKeyPath:[key stringByAppendingString:@"Label"]];
- label.text = [NSString stringWithFormat:@"%.3f", slider.value = value];
+ label.text = [NSString stringWithFormat:kFloatFormat, slider.value = value];
}
[self.shaderView update];
}
@@ -111,11 +120,7 @@ - (void)loadSettingsFromUserDefaults
NSData *data = [[NSUserDefaults standardUserDefaults] objectForKey:@"Shader"];
if (data)
{
- RRGlossCausticShader *shader = [NSKeyedUnarchiver unarchiveObjectWithData:data];
- if (shader)
- {
- shaderView.shader = shader;
- }
+ shaderView.shader = [NSKeyedUnarchiver unarchiveObjectWithData:data];
}
}
- (void)saveSettingsToUserDefaults
@@ -148,7 +153,22 @@ - (void)viewDidLoad
- (IBAction)printToConsoleButtonTapped:(id)sender
{
-
+ // Access by key paths simplifies the print-to-console method.
+ RRGlossCausticShader *shader = self.shaderView.shader;
+ NSString *format = [kFloatFormat stringByAppendingString:@"f"];
+ NSLog(@"UIColor *baseColor = [UIColor colorWithRed:%@ green:%@ blue:%@ alpha:1.0f];",
+ [NSString stringWithFormat:format, [[shader noncausticColor] redComponent]],
+ [NSString stringWithFormat:format, [[shader noncausticColor] greenComponent]],
+ [NSString stringWithFormat:format, [[shader noncausticColor] blueComponent]]);
+ NSLog(@"[shader setNoncausticColor:baseColor];");
+ for (NSUInteger i = 0; i < sizeof(kKeyPaths)/sizeof(kKeyPaths[0]); i++)
+ {
+ float value = [[shader valueForKeyPath:kKeyPaths[i]] floatValue];
+ NSArray *components = [kKeyPaths[i] componentsSeparatedByString:@"."];
+ NSString *subKeyPath = [components count] == 1 ? @"" : [@"." stringByAppendingString:[components objectAtIndex:0]];
+ NSString *setName = [[components lastObject] capitalizedString];
+ NSLog(@"[shader%@ set%@:%@];", subKeyPath, setName, [NSString stringWithFormat:format, value]);
+ }
}
- (IBAction)resetToDefaultsButtonTapped:(id)sender
@@ -169,9 +189,9 @@ - (IBAction)colorSliderChanged:(id)sender
self.colorButton.backgroundColor = newColor;
- self.redLabel.text = [NSString stringWithFormat:@"%.3f", [newColor redComponent]];
- self.greenLabel.text = [NSString stringWithFormat:@"%.3f", [newColor greenComponent]];
- self.blueLabel.text = [NSString stringWithFormat:@"%.3f", [newColor blueComponent]];
+ self.redLabel.text = [NSString stringWithFormat:kFloatFormat, [newColor redComponent]];
+ self.greenLabel.text = [NSString stringWithFormat:kFloatFormat, [newColor greenComponent]];
+ self.blueLabel.text = [NSString stringWithFormat:kFloatFormat, [newColor blueComponent]];
[self.shaderView.shader setNoncausticColor:newColor];
[self.shaderView update];
@@ -183,11 +203,13 @@ - (IBAction)colorSliderChanged:(id)sender
- (IBAction)sliderChanged:(id)sender
{
UISlider *slider = sender;
- NSString *keyPath = keyPaths[slider.tag];
+ NSString *keyPath = kKeyPaths[slider.tag];
NSString *key = [[keyPath componentsSeparatedByString:@"."] lastObject];
UILabel *label = [self valueForKeyPath:[key stringByAppendingString:@"Label"]];
- label.text = [NSString stringWithFormat:@"%.3f", slider.value];
+ // Slider adjustments update the shader, shader view, label and
+ // defaults. That is, everything else apart from the slider.
+ label.text = [NSString stringWithFormat:kFloatFormat, slider.value];
[self.shaderView.shader setValue:[NSNumber numberWithFloat:slider.value] forKeyPath:keyPath];
[self.shaderView update];
[self saveSettingsToUserDefaults];
View
2  SampleAppiPhone/GlossCausticShader-Info.plist
@@ -9,7 +9,7 @@
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
- <string></string>
+ <string>Icon.png</string>
<key>CFBundleIdentifier</key>
<string>com.yourcompany.${PRODUCT_NAME:rfc1034identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
View
83 SampleAppiPhone/GlossCausticShader.xcodeproj/project.pbxproj
@@ -7,47 +7,49 @@
objects = {
/* Begin PBXBuildFile section */
- 1D3623260D0F684500981E51 /* GlossCausticShaderAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* GlossCausticShaderAppDelegate.m */; };
+ 1D3623260D0F684500981E51 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* AppDelegate.m */; };
1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; };
1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; };
2899E5220DE3E06400AC0155 /* GlossCausticShaderViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 2899E5210DE3E06400AC0155 /* GlossCausticShaderViewController.xib */; };
28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD733E0D9D9553002E5188 /* MainWindow.xib */; };
- 28D7ACF80DDB3853001CB0EB /* GlossCausticShaderViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 28D7ACF70DDB3853001CB0EB /* GlossCausticShaderViewController.m */; };
+ 28D7ACF80DDB3853001CB0EB /* ShaderViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 28D7ACF70DDB3853001CB0EB /* ShaderViewController.m */; };
+ 7829F5741140BCDD00209753 /* Icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 7829F5731140BCDD00209753 /* Icon.png */; };
785003F1113B88D5006A9784 /* UIColor+RRUIKit.m in Sources */ = {isa = PBXBuildFile; fileRef = 785003F0113B88D5006A9784 /* UIColor+RRUIKit.m */; };
78500404113B92E4006A9784 /* RRCausticColorMatcher.m in Sources */ = {isa = PBXBuildFile; fileRef = 78500403113B92E4006A9784 /* RRCausticColorMatcher.m */; };
78500431113BCF5F006A9784 /* RRExponentialFunction.m in Sources */ = {isa = PBXBuildFile; fileRef = 7850042C113BCF5F006A9784 /* RRExponentialFunction.m */; };
78500432113BCF5F006A9784 /* RRGlossCausticShader.m in Sources */ = {isa = PBXBuildFile; fileRef = 7850042E113BCF5F006A9784 /* RRGlossCausticShader.m */; };
78500433113BCF5F006A9784 /* RRLuminanceFromRGBComponents.m in Sources */ = {isa = PBXBuildFile; fileRef = 78500430113BCF5F006A9784 /* RRLuminanceFromRGBComponents.m */; };
- 78500490113BDFE2006A9784 /* GlossCausticShaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7850048F113BDFE2006A9784 /* GlossCausticShaderView.m */; };
+ 78500490113BDFE2006A9784 /* ShaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7850048F113BDFE2006A9784 /* ShaderView.m */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
- 1D3623240D0F684500981E51 /* GlossCausticShaderAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GlossCausticShaderAppDelegate.h; sourceTree = "<group>"; };
- 1D3623250D0F684500981E51 /* GlossCausticShaderAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GlossCausticShaderAppDelegate.m; sourceTree = "<group>"; };
- 1D6058910D05DD3D006BFB54 /* GlossCausticShader.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = GlossCausticShader.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 1D3623240D0F684500981E51 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
+ 1D3623250D0F684500981E51 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
+ 1D6058910D05DD3D006BFB54 /* Gloss Shader.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Gloss Shader.app"; sourceTree = BUILT_PRODUCTS_DIR; };
1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
288765A40DF7441C002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
2899E5210DE3E06400AC0155 /* GlossCausticShaderViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = GlossCausticShaderViewController.xib; sourceTree = "<group>"; };
28AD733E0D9D9553002E5188 /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = "<group>"; };
- 28D7ACF60DDB3853001CB0EB /* GlossCausticShaderViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GlossCausticShaderViewController.h; sourceTree = "<group>"; };
- 28D7ACF70DDB3853001CB0EB /* GlossCausticShaderViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GlossCausticShaderViewController.m; sourceTree = "<group>"; };
+ 28D7ACF60DDB3853001CB0EB /* ShaderViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShaderViewController.h; sourceTree = "<group>"; };
+ 28D7ACF70DDB3853001CB0EB /* ShaderViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ShaderViewController.m; sourceTree = "<group>"; };
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
32CA4F630368D1EE00C91783 /* GlossCausticShader_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GlossCausticShader_Prefix.pch; sourceTree = "<group>"; };
- 785003EF113B88D5006A9784 /* UIColor+RRUIKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIColor+RRUIKit.h"; path = "../UIColor+RRUIKit.h"; sourceTree = SOURCE_ROOT; };
- 785003F0113B88D5006A9784 /* UIColor+RRUIKit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIColor+RRUIKit.m"; path = "../UIColor+RRUIKit.m"; sourceTree = SOURCE_ROOT; };
- 78500402113B92E4006A9784 /* RRCausticColorMatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RRCausticColorMatcher.h; path = ../RRCausticColorMatcher.h; sourceTree = SOURCE_ROOT; };
- 78500403113B92E4006A9784 /* RRCausticColorMatcher.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RRCausticColorMatcher.m; path = ../RRCausticColorMatcher.m; sourceTree = SOURCE_ROOT; };
- 7850042B113BCF5F006A9784 /* RRExponentialFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RRExponentialFunction.h; path = ../RRExponentialFunction.h; sourceTree = SOURCE_ROOT; };
- 7850042C113BCF5F006A9784 /* RRExponentialFunction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RRExponentialFunction.m; path = ../RRExponentialFunction.m; sourceTree = SOURCE_ROOT; };
- 7850042D113BCF5F006A9784 /* RRGlossCausticShader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RRGlossCausticShader.h; path = ../RRGlossCausticShader.h; sourceTree = SOURCE_ROOT; };
- 7850042E113BCF5F006A9784 /* RRGlossCausticShader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RRGlossCausticShader.m; path = ../RRGlossCausticShader.m; sourceTree = SOURCE_ROOT; };
- 7850042F113BCF5F006A9784 /* RRLuminanceFromRGBComponents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RRLuminanceFromRGBComponents.h; path = ../RRLuminanceFromRGBComponents.h; sourceTree = SOURCE_ROOT; };
- 78500430113BCF5F006A9784 /* RRLuminanceFromRGBComponents.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = RRLuminanceFromRGBComponents.m; path = ../RRLuminanceFromRGBComponents.m; sourceTree = SOURCE_ROOT; };
- 7850048E113BDFE2006A9784 /* GlossCausticShaderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GlossCausticShaderView.h; sourceTree = "<group>"; };
- 7850048F113BDFE2006A9784 /* GlossCausticShaderView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GlossCausticShaderView.m; sourceTree = "<group>"; };
+ 7829F5731140BCDD00209753 /* Icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Icon.png; sourceTree = "<group>"; };
+ 785003EF113B88D5006A9784 /* UIColor+RRUIKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIColor+RRUIKit.h"; sourceTree = "<group>"; };
+ 785003F0113B88D5006A9784 /* UIColor+RRUIKit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIColor+RRUIKit.m"; sourceTree = "<group>"; };
+ 78500402113B92E4006A9784 /* RRCausticColorMatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RRCausticColorMatcher.h; sourceTree = "<group>"; };
+ 78500403113B92E4006A9784 /* RRCausticColorMatcher.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RRCausticColorMatcher.m; sourceTree = "<group>"; };
+ 7850042B113BCF5F006A9784 /* RRExponentialFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RRExponentialFunction.h; sourceTree = "<group>"; };
+ 7850042C113BCF5F006A9784 /* RRExponentialFunction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RRExponentialFunction.m; sourceTree = "<group>"; };
+ 7850042D113BCF5F006A9784 /* RRGlossCausticShader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RRGlossCausticShader.h; sourceTree = "<group>"; };
+ 7850042E113BCF5F006A9784 /* RRGlossCausticShader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RRGlossCausticShader.m; sourceTree = "<group>"; };
+ 7850042F113BCF5F006A9784 /* RRLuminanceFromRGBComponents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RRLuminanceFromRGBComponents.h; sourceTree = "<group>"; };
+ 78500430113BCF5F006A9784 /* RRLuminanceFromRGBComponents.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RRLuminanceFromRGBComponents.m; sourceTree = "<group>"; };
+ 7850048E113BDFE2006A9784 /* ShaderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShaderView.h; sourceTree = "<group>"; };
+ 7850048F113BDFE2006A9784 /* ShaderView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ShaderView.m; sourceTree = "<group>"; };
8D1107310486CEB800E47090 /* GlossCausticShader-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GlossCausticShader-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = "<group>"; };
/* End PBXFileReference section */
@@ -68,12 +70,12 @@
080E96DDFE201D6D7F000001 /* Classes */ = {
isa = PBXGroup;
children = (
- 1D3623240D0F684500981E51 /* GlossCausticShaderAppDelegate.h */,
- 1D3623250D0F684500981E51 /* GlossCausticShaderAppDelegate.m */,
- 28D7ACF60DDB3853001CB0EB /* GlossCausticShaderViewController.h */,
- 28D7ACF70DDB3853001CB0EB /* GlossCausticShaderViewController.m */,
- 7850048E113BDFE2006A9784 /* GlossCausticShaderView.h */,
- 7850048F113BDFE2006A9784 /* GlossCausticShaderView.m */,
+ 1D3623240D0F684500981E51 /* AppDelegate.h */,
+ 1D3623250D0F684500981E51 /* AppDelegate.m */,
+ 28D7ACF60DDB3853001CB0EB /* ShaderViewController.h */,
+ 28D7ACF70DDB3853001CB0EB /* ShaderViewController.m */,
+ 7850048E113BDFE2006A9784 /* ShaderView.h */,
+ 7850048F113BDFE2006A9784 /* ShaderView.m */,
);
path = Classes;
sourceTree = "<group>";
@@ -81,7 +83,7 @@
19C28FACFE9D520D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
- 1D6058910D05DD3D006BFB54 /* GlossCausticShader.app */,
+ 1D6058910D05DD3D006BFB54 /* Gloss Shader.app */,
);
name = Products;
sourceTree = "<group>";
@@ -89,13 +91,12 @@
29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
isa = PBXGroup;
children = (
+ 7850046A113BDC81006A9784 /* Gloss-Caustic Shader */,
080E96DDFE201D6D7F000001 /* Classes */,
29B97315FDCFA39411CA2CEA /* Other Sources */,
29B97317FDCFA39411CA2CEA /* Resources */,
29B97323FDCFA39411CA2CEA /* Frameworks */,
19C28FACFE9D520D11CA2CBB /* Products */,
- 7850046A113BDC81006A9784 /* UIColor Extensions */,
- 7850046B113BDC8F006A9784 /* Gloss-Caustic Shader */,
);
name = CustomTemplate;
sourceTree = "<group>";
@@ -115,6 +116,7 @@
2899E5210DE3E06400AC0155 /* GlossCausticShaderViewController.xib */,
28AD733E0D9D9553002E5188 /* MainWindow.xib */,
8D1107310486CEB800E47090 /* GlossCausticShader-Info.plist */,
+ 7829F5731140BCDD00209753 /* Icon.png */,
);
name = Resources;
sourceTree = "<group>";
@@ -129,18 +131,11 @@
name = Frameworks;
sourceTree = "<group>";
};
- 7850046A113BDC81006A9784 /* UIColor Extensions */ = {
+ 7850046A113BDC81006A9784 /* Gloss-Caustic Shader */ = {
isa = PBXGroup;
children = (
785003EF113B88D5006A9784 /* UIColor+RRUIKit.h */,
785003F0113B88D5006A9784 /* UIColor+RRUIKit.m */,
- );
- name = "UIColor Extensions";
- sourceTree = "<group>";
- };
- 7850046B113BDC8F006A9784 /* Gloss-Caustic Shader */ = {
- isa = PBXGroup;
- children = (
78500402113B92E4006A9784 /* RRCausticColorMatcher.h */,
78500403113B92E4006A9784 /* RRCausticColorMatcher.m */,
7850042B113BCF5F006A9784 /* RRExponentialFunction.h */,
@@ -151,6 +146,7 @@
78500430113BCF5F006A9784 /* RRLuminanceFromRGBComponents.m */,
);
name = "Gloss-Caustic Shader";
+ path = ..;
sourceTree = "<group>";
};
/* End PBXGroup section */
@@ -170,7 +166,7 @@
);
name = GlossCausticShader;
productName = GlossCausticShader;
- productReference = 1D6058910D05DD3D006BFB54 /* GlossCausticShader.app */;
+ productReference = 1D6058910D05DD3D006BFB54 /* Gloss Shader.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
@@ -197,6 +193,7 @@
files = (
28AD733F0D9D9553002E5188 /* MainWindow.xib in Resources */,
2899E5220DE3E06400AC0155 /* GlossCausticShaderViewController.xib in Resources */,
+ 7829F5741140BCDD00209753 /* Icon.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -208,14 +205,14 @@
buildActionMask = 2147483647;
files = (
1D60589B0D05DD56006BFB54 /* main.m in Sources */,
- 1D3623260D0F684500981E51 /* GlossCausticShaderAppDelegate.m in Sources */,
- 28D7ACF80DDB3853001CB0EB /* GlossCausticShaderViewController.m in Sources */,
+ 1D3623260D0F684500981E51 /* AppDelegate.m in Sources */,
+ 28D7ACF80DDB3853001CB0EB /* ShaderViewController.m in Sources */,
785003F1113B88D5006A9784 /* UIColor+RRUIKit.m in Sources */,
78500404113B92E4006A9784 /* RRCausticColorMatcher.m in Sources */,
78500431113BCF5F006A9784 /* RRExponentialFunction.m in Sources */,
78500432113BCF5F006A9784 /* RRGlossCausticShader.m in Sources */,
78500433113BCF5F006A9784 /* RRLuminanceFromRGBComponents.m in Sources */,
- 78500490113BDFE2006A9784 /* GlossCausticShaderView.m in Sources */,
+ 78500490113BDFE2006A9784 /* ShaderView.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -232,7 +229,7 @@
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = GlossCausticShader_Prefix.pch;
INFOPLIST_FILE = "GlossCausticShader-Info.plist";
- PRODUCT_NAME = GlossCausticShader;
+ PRODUCT_NAME = "Gloss Shader";
};
name = Debug;
};
@@ -244,7 +241,7 @@
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = GlossCausticShader_Prefix.pch;
INFOPLIST_FILE = "GlossCausticShader-Info.plist";
- PRODUCT_NAME = GlossCausticShader;
+ PRODUCT_NAME = "Gloss Shader";
};
name = Release;
};
View
32 SampleAppiPhone/GlossCausticShaderViewController.xib
@@ -12,7 +12,6 @@
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
- <integer value="14"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -36,7 +35,7 @@
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
</object>
<object class="IBUIView" id="774585933">
- <reference key="NSNextResponder"/>
+ <nil key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -45,7 +44,6 @@
<int key="NSvFlags">290</int>
<string key="NSFrame">{{20, 20}, {133, 55}}</string>
<reference key="NSSuperview" ref="774585933"/>
- <reference key="NSWindow"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MCAwLjQgMC44AA</bytes>
@@ -57,7 +55,6 @@
<int key="NSvFlags">289</int>
<string key="NSFrame">{{171, 20}, {139, 35}}</string>
<reference key="NSSuperview" ref="774585933"/>
- <reference key="NSWindow"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<int key="IBUIContentHorizontalAlignment">0</int>
@@ -87,7 +84,6 @@
<int key="NSvFlags">289</int>
<string key="NSFrame">{{171, 63}, {139, 35}}</string>
<reference key="NSSuperview" ref="774585933"/>
- <reference key="NSWindow"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<int key="IBUIContentHorizontalAlignment">0</int>
@@ -107,7 +103,6 @@
<int key="NSvFlags">292</int>
<string key="NSFrame">{{0, 140}, {320, 320}}</string>
<reference key="NSSuperview" ref="774585933"/>
- <reference key="NSWindow"/>
<object class="NSColor" key="IBUIBackgroundColor" id="1063683127">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MCAwIDAAA</bytes>
@@ -119,7 +114,6 @@
<int key="NSvFlags">268</int>
<string key="NSFrame">{{19, 110}, {99, 38}}</string>
<reference key="NSSuperview" ref="774585933"/>
- <reference key="NSWindow"/>
<object class="NSColor" key="IBUIBackgroundColor" id="140167693">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MSAxIDEAA</bytes>
@@ -144,7 +138,6 @@
<int key="NSvFlags">268</int>
<string key="NSFrame">{{0, 141}, {320, 319}}</string>
<reference key="NSSuperview" ref="774585933"/>
- <reference key="NSWindow"/>
<reference key="IBUIBackgroundColor" ref="140167693"/>
<bool key="IBUIClipsSubviews">YES</bool>
<bool key="IBUIMultipleTouchEnabled">YES</bool>
@@ -152,8 +145,6 @@
</object>
</object>
<string key="NSFrameSize">{320, 460}</string>
- <reference key="NSSuperview"/>
- <reference key="NSWindow"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC43NQA</bytes>
@@ -165,7 +156,7 @@
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
</object>
<object class="IBUIView" id="790453475">
- <reference key="NSNextResponder"/>
+ <nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -902,7 +893,6 @@
</object>
</object>
<string key="NSFrameSize">{320, 850}</string>
- <reference key="NSSuperview"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
@@ -1796,7 +1786,7 @@
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
- <string>GlossCausticShaderViewController</string>
+ <string>ShaderViewController</string>
<string>UIResponder</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@@ -1846,7 +1836,7 @@
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
- <string>GlossCausticShaderView</string>
+ <string>ShaderView</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@@ -1882,15 +1872,15 @@
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
- <string key="className">GlossCausticShaderView</string>
+ <string key="className">ShaderView</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Classes/GlossCausticShaderView.h</string>
+ <string key="majorKey">IBUserSource</string>
+ <string key="minorKey"/>
</object>
</object>
<object class="IBPartialClassDescription">
- <string key="className">GlossCausticShaderViewController</string>
+ <string key="className">ShaderViewController</string>
<string key="superclassName">UIViewController</string>
<object class="NSMutableDictionary" key="actions">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -1985,12 +1975,12 @@
<string>UISlider</string>
<string>UIScrollView</string>
<string>UILabel</string>
- <string>GlossCausticShaderView</string>
+ <string>ShaderView</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Classes/GlossCausticShaderViewController.h</string>
+ <string key="majorKey">IBUserSource</string>
+ <string key="minorKey"/>
</object>
</object>
</object>
View
BIN  SampleAppiPhone/Icon.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
33 SampleAppiPhone/MainWindow.xib
@@ -2,17 +2,16 @@
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">784</int>
- <string key="IBDocument.SystemVersion">10A394</string>
- <string key="IBDocument.InterfaceBuilderVersion">732</string>
- <string key="IBDocument.AppKitVersion">1027.1</string>
- <string key="IBDocument.HIToolboxVersion">430.00</string>
+ <string key="IBDocument.SystemVersion">10C540</string>
+ <string key="IBDocument.InterfaceBuilderVersion">740</string>
+ <string key="IBDocument.AppKitVersion">1038.25</string>
+ <string key="IBDocument.HIToolboxVersion">458.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
- <string key="NS.object.0">60</string>
+ <string key="NS.object.0">62</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
- <integer value="10"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -137,12 +136,12 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<string>UIApplication</string>
<string>UIResponder</string>
- <string>GlossCausticShaderViewController</string>
+ <string>ShaderViewController</string>
<string>{{512, 351}, {320, 480}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>{{525, 346}, {320, 480}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
- <string>GlossCausticShaderAppDelegate</string>
+ <string>AppDelegate</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
</object>
@@ -168,7 +167,7 @@
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
- <string key="className">GlossCausticShaderAppDelegate</string>
+ <string key="className">AppDelegate</string>
<string key="superclassName">NSObject</string>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -179,29 +178,21 @@
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
- <string>GlossCausticShaderViewController</string>
+ <string>ShaderViewController</string>
<string>UIWindow</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Classes/GlossCausticShaderAppDelegate.h</string>
- </object>
- </object>
- <object class="IBPartialClassDescription">
- <string key="className">GlossCausticShaderAppDelegate</string>
- <string key="superclassName">NSObject</string>
- <object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBUserSource</string>
<string key="minorKey"/>
</object>
</object>
<object class="IBPartialClassDescription">
- <string key="className">GlossCausticShaderViewController</string>
+ <string key="className">ShaderViewController</string>
<string key="superclassName">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
- <string key="majorKey">IBProjectSource</string>
- <string key="minorKey">Classes/GlossCausticShaderViewController.h</string>
+ <string key="majorKey">IBUserSource</string>
+ <string key="minorKey"/>
</object>
</object>
</object>
Please sign in to comment.
Something went wrong with that request. Please try again.