diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index f65b13b..0000000 Binary files a/.DS_Store and /dev/null differ diff --git a/.gitignore b/.gitignore deleted file mode 100644 index acb25ee..0000000 --- a/.gitignore +++ /dev/null @@ -1,21 +0,0 @@ -# Xcode files # -###################### -DynamicGraphView.xcodeproj/project.xcworkspace/xcuserdata/*.xcuserdatad/* -DynamicGraphView.xcodeproj/xcuserdata/*.xcuserdatad/* -DynamicGraphView.xcodeproj/project.xcworkspace/xcuserdata/*.xcuserdatad/UserInterfaceState.xcuserstate -DynamicGraphView.xcodeproj/project.xcworkspace/xcuserdata/* -DynamicGraphView.xcodeproj/xcuserdata/* -DynamicGraphView.xcodeproj/project.xcworkspace/xcshareddata/DynamicGraphView.xccheckout -*.xccheckout - -# OSX files # -###################### -.DS_Store -.DS_Store? -._* -.Spotlight-V100 -.Trashes -Icon? -ehthumbs.db -Thumbs.db - diff --git a/DynamicGraphView.xcodeproj/project.pbxproj b/DynamicGraphView.xcodeproj/project.pbxproj deleted file mode 100644 index a409ee4..0000000 --- a/DynamicGraphView.xcodeproj/project.pbxproj +++ /dev/null @@ -1,492 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 40E6D20717635B0500C39563 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 40E6D20617635B0500C39563 /* UIKit.framework */; }; - 40E6D20917635B0500C39563 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 40E6D20817635B0500C39563 /* Foundation.framework */; }; - 40E6D20B17635B0500C39563 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 40E6D20A17635B0500C39563 /* CoreGraphics.framework */; }; - 40E6D21117635B0600C39563 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 40E6D20F17635B0600C39563 /* InfoPlist.strings */; }; - 40E6D21317635B0600C39563 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 40E6D21217635B0600C39563 /* main.m */; }; - 40E6D21717635B0600C39563 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 40E6D21617635B0600C39563 /* AppDelegate.m */; }; - 40E6D21917635B0600C39563 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 40E6D21817635B0600C39563 /* Default.png */; }; - 40E6D21B17635B0600C39563 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 40E6D21A17635B0600C39563 /* Default@2x.png */; }; - 40E6D21D17635B0600C39563 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 40E6D21C17635B0600C39563 /* Default-568h@2x.png */; }; - 40E6D22017635B0600C39563 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 40E6D21F17635B0600C39563 /* ViewController.m */; }; - 40E6D22317635B0600C39563 /* ViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 40E6D22117635B0600C39563 /* ViewController.xib */; }; - 40E6D22B17635B0700C39563 /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 40E6D22A17635B0700C39563 /* SenTestingKit.framework */; }; - 40E6D22C17635B0700C39563 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 40E6D20617635B0500C39563 /* UIKit.framework */; }; - 40E6D22D17635B0700C39563 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 40E6D20817635B0500C39563 /* Foundation.framework */; }; - 40E6D23517635B0700C39563 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 40E6D23317635B0700C39563 /* InfoPlist.strings */; }; - 40E6D23817635B0700C39563 /* DynamicGraphViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 40E6D23717635B0700C39563 /* DynamicGraphViewTests.m */; }; - 40E6D24317635CCE00C39563 /* GraphView.m in Sources */ = {isa = PBXBuildFile; fileRef = 40E6D24217635CCE00C39563 /* GraphView.m */; }; - 40E6D2481763674500C39563 /* orangeButton.png in Resources */ = {isa = PBXBuildFile; fileRef = 40E6D2441763674500C39563 /* orangeButton.png */; }; - 40E6D2491763674500C39563 /* orangeButton@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 40E6D2451763674500C39563 /* orangeButton@2x.png */; }; - 40E6D24A1763674500C39563 /* orangeButtonHighlight.png in Resources */ = {isa = PBXBuildFile; fileRef = 40E6D2461763674500C39563 /* orangeButtonHighlight.png */; }; - 40E6D24B1763674500C39563 /* orangeButtonHighlight@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 40E6D2471763674500C39563 /* orangeButtonHighlight@2x.png */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 40E6D22E17635B0700C39563 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 40E6D1FB17635B0500C39563 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 40E6D20217635B0500C39563; - remoteInfo = DynamicGraphView; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 40E6D20317635B0500C39563 /* DynamicGraphView.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DynamicGraphView.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 40E6D20617635B0500C39563 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; - 40E6D20817635B0500C39563 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; - 40E6D20A17635B0500C39563 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; - 40E6D20E17635B0500C39563 /* DynamicGraphView-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "DynamicGraphView-Info.plist"; sourceTree = ""; }; - 40E6D21017635B0600C39563 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; - 40E6D21217635B0600C39563 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 40E6D21417635B0600C39563 /* DynamicGraphView-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "DynamicGraphView-Prefix.pch"; sourceTree = ""; }; - 40E6D21517635B0600C39563 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; - 40E6D21617635B0600C39563 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; - 40E6D21817635B0600C39563 /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; }; - 40E6D21A17635B0600C39563 /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; }; - 40E6D21C17635B0600C39563 /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; }; - 40E6D21E17635B0600C39563 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; - 40E6D21F17635B0600C39563 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; - 40E6D22217635B0600C39563 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/ViewController.xib; sourceTree = ""; }; - 40E6D22917635B0700C39563 /* DynamicGraphViewTests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DynamicGraphViewTests.octest; sourceTree = BUILT_PRODUCTS_DIR; }; - 40E6D22A17635B0700C39563 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; }; - 40E6D23217635B0700C39563 /* DynamicGraphViewTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "DynamicGraphViewTests-Info.plist"; sourceTree = ""; }; - 40E6D23417635B0700C39563 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; - 40E6D23617635B0700C39563 /* DynamicGraphViewTests.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DynamicGraphViewTests.h; sourceTree = ""; }; - 40E6D23717635B0700C39563 /* DynamicGraphViewTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DynamicGraphViewTests.m; sourceTree = ""; }; - 40E6D24117635CCE00C39563 /* GraphView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GraphView.h; sourceTree = ""; }; - 40E6D24217635CCE00C39563 /* GraphView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GraphView.m; sourceTree = ""; }; - 40E6D2441763674500C39563 /* orangeButton.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = orangeButton.png; sourceTree = ""; }; - 40E6D2451763674500C39563 /* orangeButton@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "orangeButton@2x.png"; sourceTree = ""; }; - 40E6D2461763674500C39563 /* orangeButtonHighlight.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = orangeButtonHighlight.png; sourceTree = ""; }; - 40E6D2471763674500C39563 /* orangeButtonHighlight@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "orangeButtonHighlight@2x.png"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 40E6D20017635B0500C39563 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 40E6D20717635B0500C39563 /* UIKit.framework in Frameworks */, - 40E6D20917635B0500C39563 /* Foundation.framework in Frameworks */, - 40E6D20B17635B0500C39563 /* CoreGraphics.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 40E6D22517635B0700C39563 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 40E6D22B17635B0700C39563 /* SenTestingKit.framework in Frameworks */, - 40E6D22C17635B0700C39563 /* UIKit.framework in Frameworks */, - 40E6D22D17635B0700C39563 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 40E6D1FA17635B0500C39563 = { - isa = PBXGroup; - children = ( - 40E6D20C17635B0500C39563 /* DynamicGraphView */, - 40E6D23017635B0700C39563 /* DynamicGraphViewTests */, - 40E6D20517635B0500C39563 /* Frameworks */, - 40E6D20417635B0500C39563 /* Products */, - ); - sourceTree = ""; - }; - 40E6D20417635B0500C39563 /* Products */ = { - isa = PBXGroup; - children = ( - 40E6D20317635B0500C39563 /* DynamicGraphView.app */, - 40E6D22917635B0700C39563 /* DynamicGraphViewTests.octest */, - ); - name = Products; - sourceTree = ""; - }; - 40E6D20517635B0500C39563 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 40E6D20617635B0500C39563 /* UIKit.framework */, - 40E6D20817635B0500C39563 /* Foundation.framework */, - 40E6D20A17635B0500C39563 /* CoreGraphics.framework */, - 40E6D22A17635B0700C39563 /* SenTestingKit.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 40E6D20C17635B0500C39563 /* DynamicGraphView */ = { - isa = PBXGroup; - children = ( - 40E6D21517635B0600C39563 /* AppDelegate.h */, - 40E6D21617635B0600C39563 /* AppDelegate.m */, - 40E6D21E17635B0600C39563 /* ViewController.h */, - 40E6D21F17635B0600C39563 /* ViewController.m */, - 40E6D24117635CCE00C39563 /* GraphView.h */, - 40E6D24217635CCE00C39563 /* GraphView.m */, - 40E6D22117635B0600C39563 /* ViewController.xib */, - 40E6D20D17635B0500C39563 /* Supporting Files */, - ); - path = DynamicGraphView; - sourceTree = ""; - }; - 40E6D20D17635B0500C39563 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 40E6D2441763674500C39563 /* orangeButton.png */, - 40E6D2451763674500C39563 /* orangeButton@2x.png */, - 40E6D2461763674500C39563 /* orangeButtonHighlight.png */, - 40E6D2471763674500C39563 /* orangeButtonHighlight@2x.png */, - 40E6D20E17635B0500C39563 /* DynamicGraphView-Info.plist */, - 40E6D20F17635B0600C39563 /* InfoPlist.strings */, - 40E6D21217635B0600C39563 /* main.m */, - 40E6D21417635B0600C39563 /* DynamicGraphView-Prefix.pch */, - 40E6D21817635B0600C39563 /* Default.png */, - 40E6D21A17635B0600C39563 /* Default@2x.png */, - 40E6D21C17635B0600C39563 /* Default-568h@2x.png */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - 40E6D23017635B0700C39563 /* DynamicGraphViewTests */ = { - isa = PBXGroup; - children = ( - 40E6D23617635B0700C39563 /* DynamicGraphViewTests.h */, - 40E6D23717635B0700C39563 /* DynamicGraphViewTests.m */, - 40E6D23117635B0700C39563 /* Supporting Files */, - ); - path = DynamicGraphViewTests; - sourceTree = ""; - }; - 40E6D23117635B0700C39563 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 40E6D23217635B0700C39563 /* DynamicGraphViewTests-Info.plist */, - 40E6D23317635B0700C39563 /* InfoPlist.strings */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 40E6D20217635B0500C39563 /* DynamicGraphView */ = { - isa = PBXNativeTarget; - buildConfigurationList = 40E6D23B17635B0700C39563 /* Build configuration list for PBXNativeTarget "DynamicGraphView" */; - buildPhases = ( - 40E6D1FF17635B0500C39563 /* Sources */, - 40E6D20017635B0500C39563 /* Frameworks */, - 40E6D20117635B0500C39563 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = DynamicGraphView; - productName = DynamicGraphView; - productReference = 40E6D20317635B0500C39563 /* DynamicGraphView.app */; - productType = "com.apple.product-type.application"; - }; - 40E6D22817635B0700C39563 /* DynamicGraphViewTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 40E6D23E17635B0700C39563 /* Build configuration list for PBXNativeTarget "DynamicGraphViewTests" */; - buildPhases = ( - 40E6D22417635B0700C39563 /* Sources */, - 40E6D22517635B0700C39563 /* Frameworks */, - 40E6D22617635B0700C39563 /* Resources */, - 40E6D22717635B0700C39563 /* ShellScript */, - ); - buildRules = ( - ); - dependencies = ( - 40E6D22F17635B0700C39563 /* PBXTargetDependency */, - ); - name = DynamicGraphViewTests; - productName = DynamicGraphViewTests; - productReference = 40E6D22917635B0700C39563 /* DynamicGraphViewTests.octest */; - productType = "com.apple.product-type.bundle"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 40E6D1FB17635B0500C39563 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0460; - ORGANIZATIONNAME = "Bastian Kohlbauer"; - }; - buildConfigurationList = 40E6D1FE17635B0500C39563 /* Build configuration list for PBXProject "DynamicGraphView" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = 40E6D1FA17635B0500C39563; - productRefGroup = 40E6D20417635B0500C39563 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 40E6D20217635B0500C39563 /* DynamicGraphView */, - 40E6D22817635B0700C39563 /* DynamicGraphViewTests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 40E6D20117635B0500C39563 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 40E6D21117635B0600C39563 /* InfoPlist.strings in Resources */, - 40E6D21917635B0600C39563 /* Default.png in Resources */, - 40E6D21B17635B0600C39563 /* Default@2x.png in Resources */, - 40E6D21D17635B0600C39563 /* Default-568h@2x.png in Resources */, - 40E6D22317635B0600C39563 /* ViewController.xib in Resources */, - 40E6D2481763674500C39563 /* orangeButton.png in Resources */, - 40E6D2491763674500C39563 /* orangeButton@2x.png in Resources */, - 40E6D24A1763674500C39563 /* orangeButtonHighlight.png in Resources */, - 40E6D24B1763674500C39563 /* orangeButtonHighlight@2x.png in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 40E6D22617635B0700C39563 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 40E6D23517635B0700C39563 /* InfoPlist.strings in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 40E6D22717635B0700C39563 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 40E6D1FF17635B0500C39563 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 40E6D21317635B0600C39563 /* main.m in Sources */, - 40E6D21717635B0600C39563 /* AppDelegate.m in Sources */, - 40E6D22017635B0600C39563 /* ViewController.m in Sources */, - 40E6D24317635CCE00C39563 /* GraphView.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 40E6D22417635B0700C39563 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 40E6D23817635B0700C39563 /* DynamicGraphViewTests.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 40E6D22F17635B0700C39563 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 40E6D20217635B0500C39563 /* DynamicGraphView */; - targetProxy = 40E6D22E17635B0700C39563 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 40E6D20F17635B0600C39563 /* InfoPlist.strings */ = { - isa = PBXVariantGroup; - children = ( - 40E6D21017635B0600C39563 /* en */, - ); - name = InfoPlist.strings; - sourceTree = ""; - }; - 40E6D22117635B0600C39563 /* ViewController.xib */ = { - isa = PBXVariantGroup; - children = ( - 40E6D22217635B0600C39563 /* en */, - ); - name = ViewController.xib; - sourceTree = ""; - }; - 40E6D23317635B0700C39563 /* InfoPlist.strings */ = { - isa = PBXVariantGroup; - children = ( - 40E6D23417635B0700C39563 /* en */, - ); - name = InfoPlist.strings; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 40E6D23917635B0700C39563 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 6.1; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - }; - name = Debug; - }; - 40E6D23A17635B0700C39563 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 6.1; - OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 40E6D23C17635B0700C39563 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "DynamicGraphView/DynamicGraphView-Prefix.pch"; - INFOPLIST_FILE = "DynamicGraphView/DynamicGraphView-Info.plist"; - PRODUCT_NAME = "$(TARGET_NAME)"; - WRAPPER_EXTENSION = app; - }; - name = Debug; - }; - 40E6D23D17635B0700C39563 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "DynamicGraphView/DynamicGraphView-Prefix.pch"; - INFOPLIST_FILE = "DynamicGraphView/DynamicGraphView-Info.plist"; - PRODUCT_NAME = "$(TARGET_NAME)"; - WRAPPER_EXTENSION = app; - }; - name = Release; - }; - 40E6D23F17635B0700C39563 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/DynamicGraphView.app/DynamicGraphView"; - FRAMEWORK_SEARCH_PATHS = ( - "\"$(SDKROOT)/Developer/Library/Frameworks\"", - "\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"", - ); - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "DynamicGraphView/DynamicGraphView-Prefix.pch"; - INFOPLIST_FILE = "DynamicGraphViewTests/DynamicGraphViewTests-Info.plist"; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUNDLE_LOADER)"; - WRAPPER_EXTENSION = octest; - }; - name = Debug; - }; - 40E6D24017635B0700C39563 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/DynamicGraphView.app/DynamicGraphView"; - FRAMEWORK_SEARCH_PATHS = ( - "\"$(SDKROOT)/Developer/Library/Frameworks\"", - "\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"", - ); - GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = "DynamicGraphView/DynamicGraphView-Prefix.pch"; - INFOPLIST_FILE = "DynamicGraphViewTests/DynamicGraphViewTests-Info.plist"; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUNDLE_LOADER)"; - WRAPPER_EXTENSION = octest; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 40E6D1FE17635B0500C39563 /* Build configuration list for PBXProject "DynamicGraphView" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 40E6D23917635B0700C39563 /* Debug */, - 40E6D23A17635B0700C39563 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 40E6D23B17635B0700C39563 /* Build configuration list for PBXNativeTarget "DynamicGraphView" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 40E6D23C17635B0700C39563 /* Debug */, - 40E6D23D17635B0700C39563 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 40E6D23E17635B0700C39563 /* Build configuration list for PBXNativeTarget "DynamicGraphViewTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 40E6D23F17635B0700C39563 /* Debug */, - 40E6D24017635B0700C39563 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 40E6D1FB17635B0500C39563 /* Project object */; -} diff --git a/DynamicGraphView.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/DynamicGraphView.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 46d65a6..0000000 --- a/DynamicGraphView.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/DynamicGraphView.xcodeproj/project.xcworkspace/xcuserdata/Basti.xcuserdatad/UserInterfaceState.xcuserstate b/DynamicGraphView.xcodeproj/project.xcworkspace/xcuserdata/Basti.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 54ee1d6..0000000 Binary files a/DynamicGraphView.xcodeproj/project.xcworkspace/xcuserdata/Basti.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ diff --git a/DynamicGraphView.xcodeproj/xcuserdata/Basti.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist b/DynamicGraphView.xcodeproj/xcuserdata/Basti.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist deleted file mode 100644 index 05301bc..0000000 --- a/DynamicGraphView.xcodeproj/xcuserdata/Basti.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/DynamicGraphView.xcodeproj/xcuserdata/Basti.xcuserdatad/xcschemes/DynamicGraphView.xcscheme b/DynamicGraphView.xcodeproj/xcuserdata/Basti.xcuserdatad/xcschemes/DynamicGraphView.xcscheme deleted file mode 100644 index da27473..0000000 --- a/DynamicGraphView.xcodeproj/xcuserdata/Basti.xcuserdatad/xcschemes/DynamicGraphView.xcscheme +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/DynamicGraphView.xcodeproj/xcuserdata/Basti.xcuserdatad/xcschemes/xcschememanagement.plist b/DynamicGraphView.xcodeproj/xcuserdata/Basti.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index 6968b9c..0000000 --- a/DynamicGraphView.xcodeproj/xcuserdata/Basti.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,27 +0,0 @@ - - - - - SchemeUserState - - DynamicGraphView.xcscheme - - orderHint - 0 - - - SuppressBuildableAutocreation - - 40E6D20217635B0500C39563 - - primary - - - 40E6D22817635B0700C39563 - - primary - - - - - diff --git a/DynamicGraphView/AppDelegate.h b/DynamicGraphView/AppDelegate.h deleted file mode 100644 index 9d6ff62..0000000 --- a/DynamicGraphView/AppDelegate.h +++ /dev/null @@ -1,26 +0,0 @@ -// -// AppDelegate.h -// DynamicGraphView -// -// Created by Bastian Kohlbauer on 08.06.13. -// Copyright (c) 2013 Bastian Kohlbauer. 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, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 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 - -@class ViewController; - -@interface AppDelegate : UIResponder - -@property (strong, nonatomic) UIWindow *window; - -@property (strong, nonatomic) ViewController *viewController; - -@end diff --git a/DynamicGraphView/AppDelegate.m b/DynamicGraphView/AppDelegate.m deleted file mode 100644 index ff151e8..0000000 --- a/DynamicGraphView/AppDelegate.m +++ /dev/null @@ -1,59 +0,0 @@ -// -// AppDelegate.m -// DynamicGraphView -// -// Created by Bastian Kohlbauer on 08.06.13. -// Copyright (c) 2013 Bastian Kohlbauer. 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, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 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" - -#import "ViewController.h" - -@implementation AppDelegate - -- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions -{ - self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; - // Override point for customization after application launch. - self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; - self.window.rootViewController = self.viewController; - [self.window makeKeyAndVisible]; - return YES; -} - -- (void)applicationWillResignActive:(UIApplication *)application -{ - // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. - // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. -} - -- (void)applicationDidEnterBackground:(UIApplication *)application -{ - // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. - // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. -} - -- (void)applicationWillEnterForeground:(UIApplication *)application -{ - // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. -} - -- (void)applicationDidBecomeActive:(UIApplication *)application -{ - // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. -} - -- (void)applicationWillTerminate:(UIApplication *)application -{ - // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. -} - -@end diff --git a/DynamicGraphView/Default-568h@2x.png b/DynamicGraphView/Default-568h@2x.png deleted file mode 100644 index 0891b7a..0000000 Binary files a/DynamicGraphView/Default-568h@2x.png and /dev/null differ diff --git a/DynamicGraphView/Default.png b/DynamicGraphView/Default.png deleted file mode 100644 index 4c8ca6f..0000000 Binary files a/DynamicGraphView/Default.png and /dev/null differ diff --git a/DynamicGraphView/Default@2x.png b/DynamicGraphView/Default@2x.png deleted file mode 100644 index 35b84cf..0000000 Binary files a/DynamicGraphView/Default@2x.png and /dev/null differ diff --git a/DynamicGraphView/DynamicGraphView-Info.plist b/DynamicGraphView/DynamicGraphView-Info.plist deleted file mode 100644 index 8150bd7..0000000 --- a/DynamicGraphView/DynamicGraphView-Info.plist +++ /dev/null @@ -1,36 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleDisplayName - ${PRODUCT_NAME} - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - Bastian-Kohlbauer.${PRODUCT_NAME:rfc1034identifier} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1.0 - LSRequiresIPhoneOS - - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - - - diff --git a/DynamicGraphView/DynamicGraphView-Prefix.pch b/DynamicGraphView/DynamicGraphView-Prefix.pch deleted file mode 100644 index 234b39e..0000000 --- a/DynamicGraphView/DynamicGraphView-Prefix.pch +++ /dev/null @@ -1,14 +0,0 @@ -// -// Prefix header for all source files of the 'DynamicGraphView' target in the 'DynamicGraphView' project -// - -#import - -#ifndef __IPHONE_4_0 -#warning "This project uses features only available in iOS SDK 4.0 and later." -#endif - -#ifdef __OBJC__ - #import - #import -#endif diff --git a/DynamicGraphView/GraphView.h b/DynamicGraphView/GraphView.h deleted file mode 100644 index d313b9d..0000000 --- a/DynamicGraphView/GraphView.h +++ /dev/null @@ -1,82 +0,0 @@ -// -// GraphView.h -// DynamicGraphView -// -// Created by Bastian Kohlbauer on 08.06.13. -// Copyright (c) 2013 Bastian Kohlbauer. 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, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 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 - -@interface GraphView : UIView { - - NSMutableArray *pointArray; - - float dx; - float dy; - - int spacing; - - BOOL fillGraph; - - UILabel *max; - UILabel *zero; - UILabel *min; - - int setZero; - - UIColor *strokeColor; - UIColor *fillColor; - - UIColor *zeroLineStrokeColor; - - int lineWidth; - - int granularity; - -} - -// add point to the array dynamically --(void)setPoint:(float)point; - -// reset graph to all 0.0 values --(void)resetGraph; - -// set an array of alues to be displayed in a the graph --(void)setArray:(NSArray*)array ; - -// set the spacing from the max value in graph array to top of view. default = 10. --(void)setSpacing:(int)space; - -// set the view to fill below graph. default = YES --(void)setFill:(BOOL)fill; - -// set the color of the graph line. default = [UIColor redColor]. --(void)setStrokeColor:(UIColor*)color; - -// set the color of the zero line. default = [UIColor greenColor]. --(void)setZeroLineStrokeColor:(UIColor*)color; - -// set the filled space below graph. default = [UIColor orangeColor]. --(void)setFillColor:(UIColor*)color; - -// set the color of the graph line. default = 2. --(void)setLineWidth:(int)width; - -// set up the number of values diplayes in the graph along the x-axis --(void)setNumberOfPointsInGraph:(int)numberOfPoints; - -// set curved graph lines. default = YES; --(void)setCurvedLines:(BOOL)curved; - -// hides the axis labels --(void)hideAxis:(BOOL)yesOrNo; - -@end diff --git a/DynamicGraphView/GraphView.m b/DynamicGraphView/GraphView.m deleted file mode 100644 index cfdc5e0..0000000 --- a/DynamicGraphView/GraphView.m +++ /dev/null @@ -1,342 +0,0 @@ -// -// GraphView.m -// DynamicGraphView -// -// Created by Bastian Kohlbauer on 08.06.13. -// Copyright (c) 2013 Bastian Kohlbauer. 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, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 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 "GraphView.h" - -@implementation GraphView - - -- (instancetype)initWithFrame:(CGRect)frame -{ - self = [super initWithFrame:frame]; - if (self) { - [self setupGraph]; - } - - return self; -} - -- (instancetype)initWithCoder:(NSCoder *)aDecoder -{ - self = [super initWithCoder:aDecoder]; - if (self) { - [self setupGraph]; - } - - return self; -} - -- (void)setupGraph -{ - // Initialization code - - self.backgroundColor = [UIColor yellowColor]; - - fillGraph = YES; - - spacing = 10; - - strokeColor = [UIColor redColor]; - - fillColor = [UIColor orangeColor]; - - zeroLineStrokeColor = [UIColor greenColor]; - - lineWidth = 2; - - max = [[UILabel alloc] initWithFrame:CGRectMake(2, 2, 25, 16)]; - [max setAdjustsFontSizeToFitWidth:YES]; - [max setBackgroundColor:[UIColor clearColor]]; - [max setTextColor:[UIColor blackColor]]; - [max setText:@"10"]; - [self addSubview:max]; - - zero = [[UILabel alloc] initWithFrame:CGRectMake(2, CGRectGetMidY(self.frame) - 7.5, 25, 16)]; - [zero setAdjustsFontSizeToFitWidth:YES]; - [zero setBackgroundColor:[UIColor clearColor]]; - [zero setTextColor:[UIColor blackColor]]; - [self addSubview:zero]; - - min = [[UILabel alloc] initWithFrame:CGRectMake(2, CGRectGetHeight(self.frame)-15, 25, 16)]; - [min setAdjustsFontSizeToFitWidth:YES]; - [min setBackgroundColor:[UIColor clearColor]]; - [min setTextColor:[UIColor blackColor]]; - [min setText:@"0"]; - [self addSubview:min]; - - dx = 50; // number of points shown in graph - dy = 100; // default value for dy - - pointArray = [[NSMutableArray alloc]init]; //stores the energy values - for (int i = 0; i < dx; i++) { - [pointArray addObject:@0.0f]; - } -} - --(void)setPoint:(float)point { - - [pointArray insertObject:@(point) atIndex:0]; - [pointArray removeObjectAtIndex:[pointArray count] - 1]; - - [self setNeedsDisplay]; -} - --(void)resetGraph { - - pointArray = [[NSMutableArray alloc]init]; //stores the energy values - for (int i = 0; i < dx; i++) { - [pointArray addObject:@0.0f]; - } - - [self setNeedsDisplay]; - -} - --(void)setArray:(NSArray*)array { - - pointArray = [[NSMutableArray alloc]initWithArray:array]; - - dx = [pointArray count]; - - [self setNeedsDisplay]; -} - --(void)setSpacing:(int)space { - - spacing = space; - - [self setNeedsDisplay]; -} - --(void)setFill:(BOOL)fill { - - fillGraph = fill; - - [self setNeedsDisplay]; -} - --(void)setStrokeColor:(UIColor*)color { - - strokeColor = color; - - [self setNeedsDisplay]; -} - --(void)setZeroLineStrokeColor:(UIColor*)color { - - zeroLineStrokeColor = color; - - [self setNeedsDisplay]; -} - --(void)setFillColor:(UIColor*)color { - - fillColor = color; - - [self setNeedsDisplay]; -} - --(void)setLineWidth:(int)width { - - lineWidth = width; - - [self setNeedsDisplay]; -} - --(void)setNumberOfPointsInGraph:(int)numberOfPoints { - - dx = numberOfPoints; - - if ([pointArray count] < dx) { - - int dCount = dx - [pointArray count]; - - for (int i = 0; i < dCount; i++) { - [pointArray addObject:@(0.0f)]; - } - - } - - if ([pointArray count] > dx) { - - int dCount = [pointArray count] - dx; - - for (int i = 0; i < dCount; i++) { - [pointArray removeLastObject]; - } - - } - - [self setNeedsDisplay]; - -} - --(void)setCurvedLines:(BOOL)curved { - - //the granularity value sets "curviness" of the graph depending on amount wanted and precission of the graph - - if (curved == YES) { - granularity = 20; - }else{ - granularity = 0; - } -} - -// here the graph is actually being drawn -- (void)drawRect:(CGRect)rect { - - [self calculateHeight]; - - // draw null line in the middle - if (setZero == 2) { - - [zeroLineStrokeColor setStroke]; - - UIBezierPath *zeroLine = [UIBezierPath bezierPath]; - [zeroLine moveToPoint:CGPointMake(0, self.frame.size.height/2)]; - [zeroLine addLineToPoint:CGPointMake(self.frame.size.width, self.frame.size.height/2)]; - zeroLine.lineWidth = lineWidth; // line width - [zeroLine stroke]; - } - - CGPoint leftBottom = CGPointMake(0, self.frame.size.height); - CGPoint rightBottom = CGPointMake(self.frame.size.width, self.frame.size.height); - - NSMutableArray *points = [[self arrayOfPoints] mutableCopy]; - - // Add control points to make the math make sense - [points insertObject:points[0] atIndex:0]; - [points addObject:[points lastObject]]; - - UIBezierPath *lineGraph = [UIBezierPath bezierPath]; - - [lineGraph moveToPoint:[points[0] CGPointValue]]; - - for (NSUInteger index = 1; index < points.count - 2; index++) - { - - CGPoint p0 = [(NSValue *)points[index - 1] CGPointValue]; - CGPoint p1 = [(NSValue *)points[index] CGPointValue]; - CGPoint p2 = [(NSValue *)points[index + 1] CGPointValue]; - CGPoint p3 = [(NSValue *)points[index + 2] CGPointValue]; - - // now add n points starting at p1 + dx/dy up until p2 using Catmull-Rom splines - for (int i = 1; i < granularity; i++) - { - float t = (float) i * (1.0f / (float) granularity); - float tt = t * t; - float ttt = tt * t; - - CGPoint pi; // intermediate point - pi.x = 0.5 * (2*p1.x+(p2.x-p0.x)*t + (2*p0.x-5*p1.x+4*p2.x-p3.x)*tt + (3*p1.x-p0.x-3*p2.x+p3.x)*ttt); - pi.y = 0.5 * (2*p1.y+(p2.y-p0.y)*t + (2*p0.y-5*p1.y+4*p2.y-p3.y)*tt + (3*p1.y-p0.y-3*p2.y+p3.y)*ttt); - [lineGraph addLineToPoint:pi]; - } - - // Now add p2 - [lineGraph addLineToPoint:p2]; - } - - // finish by adding the last point - [lineGraph addLineToPoint:[(NSValue *)points[(points.count - 1)] CGPointValue]]; - - [fillColor setFill]; - [strokeColor setStroke]; - - if (fillGraph) { - [lineGraph addLineToPoint:CGPointMake(leftBottom.x, leftBottom.y)]; - [lineGraph addLineToPoint:CGPointMake(rightBottom.x, rightBottom.y)]; - [lineGraph closePath]; - [lineGraph fill]; // fill color (if closed) - } - - lineGraph.lineCapStyle = kCGLineCapRound; - lineGraph.lineJoinStyle = kCGLineJoinRound; - lineGraph.flatness = 0.5; - lineGraph.lineWidth = lineWidth; // line width - [lineGraph stroke]; - - -} - -- (NSArray*)arrayOfPoints { - - NSMutableArray *points = [NSMutableArray array]; - - int viewWidth = CGRectGetWidth(self.frame); - int viewHeight = CGRectGetHeight(self.frame); - - for (int i = 0; i < [pointArray count]; i++) { - - - float point1x = viewWidth - (viewWidth / dx) * i; // start graph x on the right hand side - float point1y = (viewHeight - (viewHeight / dy) * [pointArray[i] floatValue]) / setZero; //start graph y on the bottom - - float point2x = viewWidth - (viewWidth / dx) * i - (viewWidth / dx); - float point2y = point1y; - - if (i != [pointArray count]-1) { - point2y = (viewHeight - (viewHeight / dy) * [pointArray[i+1] floatValue]) / setZero; - } - - CGPoint p; - - if (i == 0) { - p = CGPointMake(point1x, point1y); - }else{ - p = CGPointMake(point2x, point2y); - } - [points addObject:[NSValue valueWithCGPoint:p]]; - - NSLog(@"point: %@", NSStringFromCGPoint(p)); - } - - return points; - -} - -// this is where the dynamic height of the graph is calculated --(void)calculateHeight { - - int minValue = [[pointArray valueForKeyPath:@"@min.self"] integerValue]; - int maxValue = [[pointArray valueForKeyPath:@"@max.self"] integerValue]; - - dy = maxValue + abs(minValue) + spacing; - - // set maxValue and round the float - [max setText:[NSString stringWithFormat:@"%i", (int)(dy + 0.0) ]]; - - - // set graphView for values below 0 - if (minValue < 0) { - setZero = 2; - [zero setText:@"0"]; - [min setText:[NSString stringWithFormat:@"-%i", (int)(dy + 0.0) ]]; - }else{ - setZero = 1; - [zero setText:@""]; - [min setText:[NSString stringWithFormat:@"0"]]; - } -} - -// hides the axis labels -- (void)hideAxis:(BOOL)yesOrNo -{ - [max setHidden:yesOrNo]; - [min setHidden:yesOrNo]; - [zero setHidden:yesOrNo]; -} - -@end diff --git a/DynamicGraphView/ViewController.h b/DynamicGraphView/ViewController.h deleted file mode 100644 index ca9daa8..0000000 --- a/DynamicGraphView/ViewController.h +++ /dev/null @@ -1,28 +0,0 @@ -// -// ViewController.h -// DynamicGraphView -// -// Created by Bastian Kohlbauer on 08.06.13. -// Copyright (c) 2013 Bastian Kohlbauer. 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, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 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 -#import "GraphView.h" - -@interface ViewController : UIViewController { - - GraphView *graphView; - - UITextField *visiblePoints; -} - -@property (strong, nonatomic) GraphView *graphView; - -@end diff --git a/DynamicGraphView/ViewController.m b/DynamicGraphView/ViewController.m deleted file mode 100644 index 73a92e0..0000000 --- a/DynamicGraphView/ViewController.m +++ /dev/null @@ -1,243 +0,0 @@ -// -// ViewController.m -// DynamicGraphView -// -// Created by Bastian Kohlbauer on 08.06.13. -// Copyright (c) 2013 Bastian Kohlbauer. 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, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 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 "ViewController.h" -#import - -@interface ViewController () - -@end - -@implementation ViewController - -@synthesize graphView = _graphView; - -- (void)viewDidLoad -{ - [super viewDidLoad]; - // Do any additional setup after loading the view, typically from a nib. - - - // init graphView and set up options - graphView = [[GraphView alloc]initWithFrame:CGRectMake(10, 10, self.view.frame.size.width-20, 180)]; - [graphView setBackgroundColor:[UIColor yellowColor]]; - [graphView setSpacing:10]; - [graphView setFill:YES]; - [graphView setStrokeColor:[UIColor redColor]]; - [graphView setZeroLineStrokeColor:[UIColor greenColor]]; - [graphView setFillColor:[UIColor orangeColor]]; - [graphView setLineWidth:2]; - [graphView setCurvedLines:YES]; - [self.view addSubview:graphView]; - - // setting up a border around the view. for this you need to: #import - //[graphView.layer setBorderColor:[UIColor redColor].CGColor]; - //[graphView.layer setBorderWidth:2]; - - // button images - UIImage *buttonImage = [[UIImage imageNamed:@"orangeButton.png"] - resizableImageWithCapInsets:UIEdgeInsetsMake(18, 18, 18, 18)]; - UIImage *buttonImageHighlight = [[UIImage imageNamed:@"orangeButtonHighlight.png"] - resizableImageWithCapInsets:UIEdgeInsetsMake(18, 18, 18, 18)]; - - // set up button for pre defined array - UIButton *setArray = [[UIButton alloc]initWithFrame: CGRectMake((self.view.frame.size.width/2)-80, 200, 160, 40)]; - [setArray setTitle:@"Set Array" forState:UIControlStateNormal]; - [setArray setBackgroundImage:buttonImage forState:UIControlStateNormal]; - [setArray setBackgroundImage:buttonImageHighlight forState:UIControlStateHighlighted]; - [setArray addTarget:self action:@selector(setArrayButtonAction) forControlEvents:UIControlEventTouchUpInside]; - [self.view addSubview:setArray]; - - // set up button for points - UIButton *setPoint = [[UIButton alloc]initWithFrame: CGRectMake((self.view.frame.size.width/2)-80, 250, 160, 40)]; - [setPoint setTitle:@"Set Points" forState:UIControlStateNormal]; - [setPoint setBackgroundImage:buttonImage forState:UIControlStateNormal]; - [setPoint setBackgroundImage:buttonImageHighlight forState:UIControlStateHighlighted]; - [setPoint addTarget:self action:@selector(setPointButtonAction) forControlEvents:UIControlEventTouchUpInside]; - [self.view addSubview:setPoint]; - - // set up button for resetting array - UIButton *resetGraph = [[UIButton alloc]initWithFrame: CGRectMake((self.view.frame.size.width/2)-80, 300, 160, 40)]; - [resetGraph setTitle:@"Reset Graph" forState:UIControlStateNormal]; - [resetGraph setBackgroundImage:buttonImage forState:UIControlStateNormal]; - [resetGraph setBackgroundImage:buttonImageHighlight forState:UIControlStateHighlighted]; - [resetGraph addTarget:self action:@selector(resetGraphButtonAction) forControlEvents:UIControlEventTouchUpInside]; - [self.view addSubview:resetGraph]; - - // set up button for adding points - UIButton *setVisiblePoints = [[UIButton alloc]initWithFrame: CGRectMake((self.view.frame.size.width/2)-80, 350, 160, 40)]; - [setVisiblePoints setTitle:@"Set Visible Points" forState:UIControlStateNormal]; - [setVisiblePoints setBackgroundImage:buttonImage forState:UIControlStateNormal]; - [setVisiblePoints setBackgroundImage:buttonImageHighlight forState:UIControlStateHighlighted]; - [setVisiblePoints addTarget:self action:@selector(numberOfPointsVisible) forControlEvents:UIControlEventTouchUpInside]; - [self.view addSubview:setVisiblePoints]; - - // set up button for filling space below graph line - UIButton *setFilling = [[UIButton alloc]initWithFrame: CGRectMake((self.view.frame.size.width/2)-150, 400, 140, 40)]; - [setFilling setTitle:@"Fill Graph" forState:UIControlStateNormal]; - [setFilling setBackgroundImage:buttonImage forState:UIControlStateNormal]; - [setFilling setBackgroundImage:buttonImageHighlight forState:UIControlStateHighlighted]; - [setFilling addTarget:self action:@selector(setFillingButtonAction) forControlEvents:UIControlEventTouchUpInside]; - [self.view addSubview:setFilling]; - - // set up button for removing filling space below graph line - UIButton *setNoFilling = [[UIButton alloc]initWithFrame: CGRectMake(self.view.frame.size.width-150, 400, 140, 40)]; - [setNoFilling setTitle:@"Don't Fill Graph" forState:UIControlStateNormal]; - [setNoFilling setBackgroundImage:buttonImage forState:UIControlStateNormal]; - [setNoFilling setBackgroundImage:buttonImageHighlight forState:UIControlStateHighlighted]; - [setNoFilling addTarget:self action:@selector(setNotFillingButtonAction) forControlEvents:UIControlEventTouchUpInside]; - [self.view addSubview:setNoFilling]; - - visiblePoints = [[UITextField alloc]initWithFrame:CGRectMake((self.view.frame.size.width/2)-150, 355, 60, 30)]; - [visiblePoints setTextAlignment:NSTextAlignmentCenter]; - [visiblePoints setText:@"100"]; - [visiblePoints setBorderStyle:UITextBorderStyleRoundedRect]; - [visiblePoints setReturnKeyType:UIReturnKeyDone]; - [visiblePoints setDelegate:self]; - [self.view addSubview:visiblePoints]; -} - --(void)setArrayButtonAction { - - // set up array for diplay in graphView - NSArray *points = @[@0.0f, - @0.0f, - @0.0f, - @13.0f, - @7.0f, - @9.0f, - @20.0f, - @04, - @0.0f, - @0.0f, - @0.0f, - @0.0f, - @0.0f, - @0.0f, - @0.0f, - @0.0f, - @0.0f, - @0.0f, - @0.0f, - @0.0f, - @0.0f, - @0.0f, - @0.0f, - @1.0f, - @2.0f, - @3.0f, - @4.0f, - @5.0f, - @6.0f, - @7.0f, - @8.0f, - @9.0f, - @10.0f, - @11.0f, - @12.0f, - @13.0f, - @14.0f, - @13.0f, - @12.0f, - @11.0f, - @10.0f, - @9.0f, - @8.0f, - @7.0f, - @6.0f, - @5.0f, - @4.0f, - @3.0f, - @2.0f, - @1.0f]; - - [graphView setArray:points]; -} - --(void)setPointButtonAction { - - // generate random numbers between +100 and -100 - float low_bound = -100.00; - float high_bound = 100.00; - float rndValue = (((float)arc4random()/0x100000000)*(high_bound-low_bound)+low_bound); - int intRndValue = (int)(rndValue + 0.5); - - [graphView setPoint:intRndValue]; - -} - --(void)resetGraphButtonAction { - - [graphView resetGraph]; -} - --(void)numberOfPointsVisible { - - - [graphView setNumberOfPointsInGraph:[[NSString stringWithString: visiblePoints.text]floatValue]]; // change the int of points from textField - - -} - --(void)setFillingButtonAction { - - [graphView setFill:YES]; -} - --(void)setNotFillingButtonAction { - - [graphView setFill:NO]; -} - --(void)textFieldDidBeginEditing:(UITextField *)textField { - - NSTimeInterval animationDuration = 0.3; - CGRect frame = self.view.frame; - frame.origin.y -= 216-44; - frame.size.height += 216-44; - [UIView beginAnimations:@"ResizeForKeyboard" context:nil]; - [UIView setAnimationDuration:animationDuration]; - self.view.frame = frame; - [UIView commitAnimations]; - -} - --(BOOL)textFieldShouldReturn:(UITextField *)textField { - - if ([visiblePoints.text isEqualToString: @""]) { - [visiblePoints setText:@"100"]; - } - - NSTimeInterval animationDuration = 0.3; - CGRect frame = self.view.frame; - frame.origin.y += 216-44; - frame.size.height -= 216-44; - [UIView beginAnimations:@"ResizeForKeyboard" context:nil]; - [UIView setAnimationDuration:animationDuration]; - self.view.frame = frame; - [UIView commitAnimations]; - - [textField resignFirstResponder]; - - return YES; -} - -- (void)didReceiveMemoryWarning -{ - [super didReceiveMemoryWarning]; - // Dispose of any resources that can be recreated. -} - -@end diff --git a/DynamicGraphView/en.lproj/InfoPlist.strings b/DynamicGraphView/en.lproj/InfoPlist.strings deleted file mode 100644 index 477b28f..0000000 --- a/DynamicGraphView/en.lproj/InfoPlist.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* Localized versions of Info.plist keys */ - diff --git a/DynamicGraphView/en.lproj/ViewController.xib b/DynamicGraphView/en.lproj/ViewController.xib deleted file mode 100644 index 18825b5..0000000 --- a/DynamicGraphView/en.lproj/ViewController.xib +++ /dev/null @@ -1,138 +0,0 @@ - - - - 1536 - 12A269 - 2835 - 1187 - 624.00 - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 1919 - - - IBProxyObject - IBUIView - - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - PluginDependencyRecalculationVersion - - - - - IBFilesOwner - IBCocoaTouchFramework - - - IBFirstResponder - IBCocoaTouchFramework - - - - 274 - {{0, 20}, {320, 548}} - - - - - 3 - MC43NQA - - 2 - - - NO - - - IBUIScreenMetrics - - YES - - - - - - {320, 568} - {568, 320} - - - IBCocoaTouchFramework - Retina 4 Full Screen - 2 - - IBCocoaTouchFramework - - - - - - - view - - - - 7 - - - - - - 0 - - - - - - -1 - - - File's Owner - - - -2 - - - - - 6 - - - - - - - ViewController - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIResponder - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - - - - - 7 - - - - - ViewController - UIViewController - - IBProjectSource - ./Classes/ViewController.h - - - - - 0 - IBCocoaTouchFramework - YES - 3 - YES - 1919 - - diff --git a/DynamicGraphView/main.m b/DynamicGraphView/main.m deleted file mode 100644 index 8b298f3..0000000 --- a/DynamicGraphView/main.m +++ /dev/null @@ -1,18 +0,0 @@ -// -// main.m -// DynamicGraphView -// -// Created by Bastian Kohlbauer on 08.06.13. -// Copyright (c) 2013 Bastian Kohlbauer. All rights reserved. -// - -#import - -#import "AppDelegate.h" - -int main(int argc, char *argv[]) -{ - @autoreleasepool { - return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); - } -} diff --git a/DynamicGraphView/orangeButton.png b/DynamicGraphView/orangeButton.png deleted file mode 100644 index 9374b23..0000000 Binary files a/DynamicGraphView/orangeButton.png and /dev/null differ diff --git a/DynamicGraphView/orangeButton@2x.png b/DynamicGraphView/orangeButton@2x.png deleted file mode 100644 index 2285794..0000000 Binary files a/DynamicGraphView/orangeButton@2x.png and /dev/null differ diff --git a/DynamicGraphView/orangeButtonHighlight.png b/DynamicGraphView/orangeButtonHighlight.png deleted file mode 100644 index 75a42db..0000000 Binary files a/DynamicGraphView/orangeButtonHighlight.png and /dev/null differ diff --git a/DynamicGraphView/orangeButtonHighlight@2x.png b/DynamicGraphView/orangeButtonHighlight@2x.png deleted file mode 100644 index 9069ef6..0000000 Binary files a/DynamicGraphView/orangeButtonHighlight@2x.png and /dev/null differ diff --git a/DynamicGraphViewTests/DynamicGraphViewTests-Info.plist b/DynamicGraphViewTests/DynamicGraphViewTests-Info.plist deleted file mode 100644 index 97289c6..0000000 --- a/DynamicGraphViewTests/DynamicGraphViewTests-Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - Bastian-Kohlbauer.${PRODUCT_NAME:rfc1034identifier} - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - - diff --git a/DynamicGraphViewTests/DynamicGraphViewTests.h b/DynamicGraphViewTests/DynamicGraphViewTests.h deleted file mode 100644 index 0be871a..0000000 --- a/DynamicGraphViewTests/DynamicGraphViewTests.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// DynamicGraphViewTests.h -// DynamicGraphViewTests -// -// Created by Bastian Kohlbauer on 08.06.13. -// Copyright (c) 2013 Bastian Kohlbauer. All rights reserved. -// - -#import - -@interface DynamicGraphViewTests : SenTestCase - -@end diff --git a/DynamicGraphViewTests/DynamicGraphViewTests.m b/DynamicGraphViewTests/DynamicGraphViewTests.m deleted file mode 100644 index e8b4f8b..0000000 --- a/DynamicGraphViewTests/DynamicGraphViewTests.m +++ /dev/null @@ -1,32 +0,0 @@ -// -// DynamicGraphViewTests.m -// DynamicGraphViewTests -// -// Created by Bastian Kohlbauer on 08.06.13. -// Copyright (c) 2013 Bastian Kohlbauer. All rights reserved. -// - -#import "DynamicGraphViewTests.h" - -@implementation DynamicGraphViewTests - -- (void)setUp -{ - [super setUp]; - - // Set-up code here. -} - -- (void)tearDown -{ - // Tear-down code here. - - [super tearDown]; -} - -- (void)testExample -{ - STFail(@"Unit tests are not implemented yet in DynamicGraphViewTests"); -} - -@end diff --git a/DynamicGraphViewTests/en.lproj/InfoPlist.strings b/DynamicGraphViewTests/en.lproj/InfoPlist.strings deleted file mode 100644 index 477b28f..0000000 --- a/DynamicGraphViewTests/en.lproj/InfoPlist.strings +++ /dev/null @@ -1,2 +0,0 @@ -/* Localized versions of Info.plist keys */ - diff --git a/LICENSE.md b/LICENSE.md deleted file mode 100644 index 990a739..0000000 --- a/LICENSE.md +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2013 Bastian Kohlbauer - -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, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 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. diff --git a/README.md b/README.md index 5c4d649..b4ca73c 100644 --- a/README.md +++ b/README.md @@ -1,76 +1,4 @@ DynamicGraphView ================ -A simple but effective dynamic GraphView implementation for iPhone SDK for float values. - -The left image shows a graph with only positive values and without curved lines. The right graph draws from positve and negative values and has the option for curved lines activated. - -![Screenshot](http://i.imgur.com/Kur98cx.png)-----![Screenshot](http://i.imgur.com/uN8ddq8.jpg) - -Implementing this control into your project is very easy. - -#####1) Copy both GraphView.h and GraphView.m into your projet resources. - -#####2) In your ViewController.h: - - - import - import "GraphView.h" - - - @interface ViewController : UIViewController { - - GraphView *graphView; - - } - - @property (strong, nonatomic) GraphView *graphView; - - @end - -#####3) In your ViewController.m: - - - (void)viewDidLoad - { - graphView = [[GraphView alloc]initWithFrame:CGRectMake(10, 10, self.view.frame.size.width-20, 180)]; - [graphView setBackgroundColor:[UIColor yellowColor]]; - [graphView setSpacing:10]; - [graphView setFill:YES]; - [graphView setStrokeColor:[UIColor redColor]]; - [graphView setZeroLineStrokeColor:[UIColor greenColor]]; - [graphView setFillColor:[UIColor orangeColor]]; - [graphView setLineWidth:2]; - [graphView setCurvedLines:YES]; - [self.view addSubview:graphView]; - } - -Done! - -#####To control the graph, use following functions: - -1) This will display a graph of float values: - - [graphView setArray:(NSArray)] - -2) This will add a point to the graph. You can add as many as you like and even do this dynamically. The graph will update every time a new value has been added: - - [graphView setPoint:(float)] - -3) This will reset the graph to all 0 values: - - [graphView resetGraph] - -4) This sets the number of values displayed in the graph: - - [graphView setNumberOfPointsInGraph:(int)] - -5) This will make the space beneth the graph line fill or not: - - [graphView setFill:(BOOL)] - -Thats all! - -If you have any more question, please read the comments in GraphView.h and GraphView.m or send me a message. - -Please concider the MIT License agreement. - +A simple but effective dynamic GraphView implementation for iPhone SDK diff --git a/images/body-bg.png b/images/body-bg.png new file mode 100644 index 0000000..d0618fe Binary files /dev/null and b/images/body-bg.png differ diff --git a/images/highlight-bg.jpg b/images/highlight-bg.jpg new file mode 100644 index 0000000..4c4a78e Binary files /dev/null and b/images/highlight-bg.jpg differ diff --git a/images/hr.png b/images/hr.png new file mode 100644 index 0000000..6c723a5 Binary files /dev/null and b/images/hr.png differ diff --git a/images/octocat-icon.png b/images/octocat-icon.png new file mode 100644 index 0000000..f0ba137 Binary files /dev/null and b/images/octocat-icon.png differ diff --git a/images/tar-gz-icon.png b/images/tar-gz-icon.png new file mode 100644 index 0000000..d50f34f Binary files /dev/null and b/images/tar-gz-icon.png differ diff --git a/images/zip-icon.png b/images/zip-icon.png new file mode 100644 index 0000000..162c425 Binary files /dev/null and b/images/zip-icon.png differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..1485956 --- /dev/null +++ b/index.html @@ -0,0 +1,122 @@ + + + + + + + + + + + Dynamicgraphview by freshking + + + +
+
+ +
+

Dynamicgraphview

+

A simple but effective dynamic GraphView implementation for iPhone SDK

+
+ +
+ Download .zip + Download .tar.gz + View on GitHub +
+ +
+ +
+

+DynamicGraphView

+ +

A simple but effective dynamic GraphView implementation for iPhone SDK for float values >= 0.

+ +

Implementing this control into your project is very easy.

+ +
+1) Copy both GraphView.h and GraphView.m into your projet resources.
+ +
+2) Into your ViewController.h:
+ +
import <UIKit/UIKit.h>
+import "GraphView.h"
+
+
+@interface ViewController : UIViewController <UITextFieldDelegate> {
+
+GraphView *graphView;
+
+}
+
+@property (strong, nonatomic) GraphView *graphView;
+
+@end
+
+ +

3) In your ViewController.m:

+ +
- (void)viewDidLoad 
+{
+graphView = [[GraphView alloc]initWithFrame:CGRectMake(10, 10, self.view.frame.size.width-20, 180)];
+[graphView setBackgroundColor:[UIColor yellowColor]];
+[graphView setSpacing:10];
+[graphView setFill:YES];
+[graphView setStrokeColor:[UIColor redColor]];
+[graphView setFillColor:[UIColor orangeColor]];
+[graphView setLineWidth:2];
+[self.view addSubview:graphView];
+}
+
+ +

Done!

+ +
+To control the graph, use following functions:
+ +

1) This will display a graph of float values:

+ +
[graphView setArray:(NSArray)]
+
+ +

2) This will add a point to the graph. You can add as many as you like and even do this dynamically. The graph will update every time a new value has been added:

+ +
[graphView setPoint:(float)]
+
+ +

3) This will reset the graph to all 0 values:

+ +
[graphView resetGraph]
+
+ +

4) This sets the number of values displayed in the graph:

+ +
[graphView setNumberOfPointsInGraph:(int)]
+
+ +

5) This will make the space beneth the graph line fill or not:

+ +
[graphView setFill:(BOOL)]
+
+ +

Thats all!

+ +

If you have any more question, please read the comments in GraphView.h and GraphView.m or send me a message. +Please concider the license agreement.

+
+ + + + +
+
+ + \ No newline at end of file diff --git a/javascripts/main.js b/javascripts/main.js new file mode 100644 index 0000000..d8135d3 --- /dev/null +++ b/javascripts/main.js @@ -0,0 +1 @@ +console.log('This would be the main JS file.'); diff --git a/params.json b/params.json new file mode 100644 index 0000000..8e2df8b --- /dev/null +++ b/params.json @@ -0,0 +1 @@ +{"name":"Dynamicgraphview","tagline":"A simple but effective dynamic GraphView implementation for iPhone SDK ","body":"\r\n\r\nDynamicGraphView\r\n================\r\n\r\nA simple but effective dynamic GraphView implementation for iPhone SDK for float values >= 0.\r\n\r\nImplementing this control into your project is very easy.\r\n\r\n#####1) Copy both GraphView.h and GraphView.m into your projet resources.\r\n\r\n#####2) Into your ViewController.h:\r\n\r\n\r\n import \r\n import \"GraphView.h\"\r\n\r\n\r\n @interface ViewController : UIViewController {\r\n \r\n GraphView *graphView;\r\n \r\n }\r\n\r\n @property (strong, nonatomic) GraphView *graphView;\r\n\r\n @end\r\n\r\n3) In your ViewController.m:\r\n\r\n - (void)viewDidLoad \r\n {\r\n graphView = [[GraphView alloc]initWithFrame:CGRectMake(10, 10, self.view.frame.size.width-20, 180)];\r\n [graphView setBackgroundColor:[UIColor yellowColor]];\r\n [graphView setSpacing:10];\r\n [graphView setFill:YES];\r\n [graphView setStrokeColor:[UIColor redColor]];\r\n [graphView setFillColor:[UIColor orangeColor]];\r\n [graphView setLineWidth:2];\r\n [self.view addSubview:graphView];\r\n }\r\n\r\nDone!\r\n\r\n#####To control the graph, use following functions:\r\n\r\n1) This will display a graph of float values:\r\n\r\n [graphView setArray:(NSArray)]\r\n\r\n2) This will add a point to the graph. You can add as many as you like and even do this dynamically. The graph will update every time a new value has been added:\r\n\r\n [graphView setPoint:(float)]\r\n\r\n3) This will reset the graph to all 0 values:\r\n\r\n [graphView resetGraph]\r\n\r\n4) This sets the number of values displayed in the graph:\r\n\r\n [graphView setNumberOfPointsInGraph:(int)]\r\n\r\n5) This will make the space beneth the graph line fill or not:\r\n\r\n [graphView setFill:(BOOL)]\r\n\r\nThats all! \r\n\r\nIf you have any more question, please read the comments in GraphView.h and GraphView.m or send me a message.\r\nPlease concider the license agreement.\r\n\r\n","google":"","note":"Don't delete this file! It's used internally to help with page regeneration."} \ No newline at end of file diff --git a/stylesheets/print.css b/stylesheets/print.css new file mode 100644 index 0000000..541695b --- /dev/null +++ b/stylesheets/print.css @@ -0,0 +1,226 @@ +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} +body { + line-height: 1; +} +ol, ul { + list-style: none; +} +blockquote, q { + quotes: none; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +body { + font-size: 13px; + line-height: 1.5; + font-family: 'Helvetica Neue', Helvetica, Arial, serif; + color: #000; +} + +a { + color: #d5000d; + font-weight: bold; +} + +header { + padding-top: 35px; + padding-bottom: 10px; +} + +header h1 { + font-weight: bold; + letter-spacing: -1px; + font-size: 48px; + color: #303030; + line-height: 1.2; +} + +header h2 { + letter-spacing: -1px; + font-size: 24px; + color: #aaa; + font-weight: normal; + line-height: 1.3; +} +#downloads { + display: none; +} +#main_content { + padding-top: 20px; +} + +code, pre { + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal; + color: #222; + margin-bottom: 30px; + font-size: 12px; +} + +code { + padding: 0 3px; +} + +pre { + border: solid 1px #ddd; + padding: 20px; + overflow: auto; +} +pre code { + padding: 0; +} + +ul, ol, dl { + margin-bottom: 20px; +} + + +/* COMMON STYLES */ + +table { + width: 100%; + border: 1px solid #ebebeb; +} + +th { + font-weight: 500; +} + +td { + border: 1px solid #ebebeb; + text-align: center; + font-weight: 300; +} + +form { + background: #f2f2f2; + padding: 20px; + +} + + +/* GENERAL ELEMENT TYPE STYLES */ + +h1 { + font-size: 2.8em; +} + +h2 { + font-size: 22px; + font-weight: bold; + color: #303030; + margin-bottom: 8px; +} + +h3 { + color: #d5000d; + font-size: 18px; + font-weight: bold; + margin-bottom: 8px; +} + +h4 { + font-size: 16px; + color: #303030; + font-weight: bold; +} + +h5 { + font-size: 1em; + color: #303030; +} + +h6 { + font-size: .8em; + color: #303030; +} + +p { + font-weight: 300; + margin-bottom: 20px; +} + +a { + text-decoration: none; +} + +p a { + font-weight: 400; +} + +blockquote { + font-size: 1.6em; + border-left: 10px solid #e9e9e9; + margin-bottom: 20px; + padding: 0 0 0 30px; +} + +ul li { + list-style: disc inside; + padding-left: 20px; +} + +ol li { + list-style: decimal inside; + padding-left: 3px; +} + +dl dd { + font-style: italic; + font-weight: 100; +} + +footer { + margin-top: 40px; + padding-top: 20px; + padding-bottom: 30px; + font-size: 13px; + color: #aaa; +} + +footer a { + color: #666; +} + +/* MISC */ +.clearfix:after { + clear: both; + content: '.'; + display: block; + visibility: hidden; + height: 0; +} + +.clearfix {display: inline-block;} +* html .clearfix {height: 1%;} +.clearfix {display: block;} \ No newline at end of file diff --git a/stylesheets/pygment_trac.css b/stylesheets/pygment_trac.css new file mode 100644 index 0000000..c6a6452 --- /dev/null +++ b/stylesheets/pygment_trac.css @@ -0,0 +1,69 @@ +.highlight { background: #ffffff; } +.highlight .c { color: #999988; font-style: italic } /* Comment */ +.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ +.highlight .k { font-weight: bold } /* Keyword */ +.highlight .o { font-weight: bold } /* Operator */ +.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */ +.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ +.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #aa0000 } /* Generic.Error */ +.highlight .gh { color: #999999 } /* Generic.Heading */ +.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ +.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */ +.highlight .go { color: #888888 } /* Generic.Output */ +.highlight .gp { color: #555555 } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #800080; font-weight: bold; } /* Generic.Subheading */ +.highlight .gt { color: #aa0000 } /* Generic.Traceback */ +.highlight .kc { font-weight: bold } /* Keyword.Constant */ +.highlight .kd { font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { font-weight: bold } /* Keyword.Pseudo */ +.highlight .kr { font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */ +.highlight .m { color: #009999 } /* Literal.Number */ +.highlight .s { color: #d14 } /* Literal.String */ +.highlight .na { color: #008080 } /* Name.Attribute */ +.highlight .nb { color: #0086B3 } /* Name.Builtin */ +.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */ +.highlight .no { color: #008080 } /* Name.Constant */ +.highlight .ni { color: #800080 } /* Name.Entity */ +.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */ +.highlight .nn { color: #555555 } /* Name.Namespace */ +.highlight .nt { color: #000080 } /* Name.Tag */ +.highlight .nv { color: #008080 } /* Name.Variable */ +.highlight .ow { font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mf { color: #009999 } /* Literal.Number.Float */ +.highlight .mh { color: #009999 } /* Literal.Number.Hex */ +.highlight .mi { color: #009999 } /* Literal.Number.Integer */ +.highlight .mo { color: #009999 } /* Literal.Number.Oct */ +.highlight .sb { color: #d14 } /* Literal.String.Backtick */ +.highlight .sc { color: #d14 } /* Literal.String.Char */ +.highlight .sd { color: #d14 } /* Literal.String.Doc */ +.highlight .s2 { color: #d14 } /* Literal.String.Double */ +.highlight .se { color: #d14 } /* Literal.String.Escape */ +.highlight .sh { color: #d14 } /* Literal.String.Heredoc */ +.highlight .si { color: #d14 } /* Literal.String.Interpol */ +.highlight .sx { color: #d14 } /* Literal.String.Other */ +.highlight .sr { color: #009926 } /* Literal.String.Regex */ +.highlight .s1 { color: #d14 } /* Literal.String.Single */ +.highlight .ss { color: #990073 } /* Literal.String.Symbol */ +.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #008080 } /* Name.Variable.Class */ +.highlight .vg { color: #008080 } /* Name.Variable.Global */ +.highlight .vi { color: #008080 } /* Name.Variable.Instance */ +.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */ + +.type-csharp .highlight .k { color: #0000FF } +.type-csharp .highlight .kt { color: #0000FF } +.type-csharp .highlight .nf { color: #000000; font-weight: normal } +.type-csharp .highlight .nc { color: #2B91AF } +.type-csharp .highlight .nn { color: #000000 } +.type-csharp .highlight .s { color: #A31515 } +.type-csharp .highlight .sc { color: #A31515 } diff --git a/stylesheets/stylesheet.css b/stylesheets/stylesheet.css new file mode 100644 index 0000000..020ad6d --- /dev/null +++ b/stylesheets/stylesheet.css @@ -0,0 +1,371 @@ +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) +*/ +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} +body { + line-height: 1; +} +ol, ul { + list-style: none; +} +blockquote, q { + quotes: none; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} + +/* LAYOUT STYLES */ +body { + font-size: 1em; + line-height: 1.5; + background: #e7e7e7 url(../images/body-bg.png) 0 0 repeat; + font-family: 'Helvetica Neue', Helvetica, Arial, serif; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); + color: #6d6d6d; +} + +a { + color: #d5000d; +} +a:hover { + color: #c5000c; +} + +header { + padding-top: 35px; + padding-bottom: 25px; +} + +header h1 { + font-family: 'Chivo', 'Helvetica Neue', Helvetica, Arial, serif; font-weight: 900; + letter-spacing: -1px; + font-size: 48px; + color: #303030; + line-height: 1.2; +} + +header h2 { + letter-spacing: -1px; + font-size: 24px; + color: #aaa; + font-weight: normal; + line-height: 1.3; +} + +#container { + background: transparent url(../images/highlight-bg.jpg) 50% 0 no-repeat; + min-height: 595px; +} + +.inner { + width: 620px; + margin: 0 auto; +} + +#container .inner img { + max-width: 100%; +} + +#downloads { + margin-bottom: 40px; +} + +a.button { + -moz-border-radius: 30px; + -webkit-border-radius: 30px; + border-radius: 30px; + border-top: solid 1px #cbcbcb; + border-left: solid 1px #b7b7b7; + border-right: solid 1px #b7b7b7; + border-bottom: solid 1px #b3b3b3; + color: #303030; + line-height: 25px; + font-weight: bold; + font-size: 15px; + padding: 12px 8px 12px 8px; + display: block; + float: left; + width: 179px; + margin-right: 14px; + background: #fdfdfd; /* Old browsers */ + background: -moz-linear-gradient(top, #fdfdfd 0%, #f2f2f2 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fdfdfd), color-stop(100%,#f2f2f2)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #fdfdfd 0%,#f2f2f2 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #fdfdfd 0%,#f2f2f2 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #fdfdfd 0%,#f2f2f2 100%); /* IE10+ */ + background: linear-gradient(top, #fdfdfd 0%,#f2f2f2 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fdfdfd', endColorstr='#f2f2f2',GradientType=0 ); /* IE6-9 */ + -webkit-box-shadow: 10px 10px 5px #888; + -moz-box-shadow: 10px 10px 5px #888; + box-shadow: 0px 1px 5px #e8e8e8; +} +a.button:hover { + border-top: solid 1px #b7b7b7; + border-left: solid 1px #b3b3b3; + border-right: solid 1px #b3b3b3; + border-bottom: solid 1px #b3b3b3; + background: #fafafa; /* Old browsers */ + background: -moz-linear-gradient(top, #fdfdfd 0%, #f6f6f6 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fdfdfd), color-stop(100%,#f6f6f6)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #fdfdfd 0%,#f6f6f6 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #fdfdfd 0%,#f6f6f6 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #fdfdfd 0%,#f6f6f6 100%); /* IE10+ */ + background: linear-gradient(top, #fdfdfd 0%,#f6f6f6, 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fdfdfd', endColorstr='#f6f6f6',GradientType=0 ); /* IE6-9 */ +} + +a.button span { + padding-left: 50px; + display: block; + height: 23px; +} + +#download-zip span { + background: transparent url(../images/zip-icon.png) 12px 50% no-repeat; +} +#download-tar-gz span { + background: transparent url(../images/tar-gz-icon.png) 12px 50% no-repeat; +} +#view-on-github span { + background: transparent url(../images/octocat-icon.png) 12px 50% no-repeat; +} +#view-on-github { + margin-right: 0; +} + +code, pre { + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal; + color: #222; + margin-bottom: 30px; + font-size: 14px; +} + +code { + background-color: #f2f2f2; + border: solid 1px #ddd; + padding: 0 3px; +} + +pre { + padding: 20px; + background: #303030; + color: #f2f2f2; + text-shadow: none; + overflow: auto; +} +pre code { + color: #f2f2f2; + background-color: #303030; + border: none; + padding: 0; +} + +ul, ol, dl { + margin-bottom: 20px; +} + + +/* COMMON STYLES */ + +hr { + height: 1px; + line-height: 1px; + margin-top: 1em; + padding-bottom: 1em; + border: none; + background: transparent url('../images/hr.png') 50% 0 no-repeat; +} + +strong { + font-weight: bold; +} + +em { + font-style: italic; +} + +table { + width: 100%; + border: 1px solid #ebebeb; +} + +th { + font-weight: 500; +} + +td { + border: 1px solid #ebebeb; + text-align: center; + font-weight: 300; +} + +form { + background: #f2f2f2; + padding: 20px; + +} + + +/* GENERAL ELEMENT TYPE STYLES */ + +h1 { + font-size: 32px; +} + +h2 { + font-size: 22px; + font-weight: bold; + color: #303030; + margin-bottom: 8px; +} + +h3 { + color: #d5000d; + font-size: 18px; + font-weight: bold; + margin-bottom: 8px; +} + +h4 { + font-size: 16px; + color: #303030; + font-weight: bold; +} + +h5 { + font-size: 1em; + color: #303030; +} + +h6 { + font-size: .8em; + color: #303030; +} + +p { + font-weight: 300; + margin-bottom: 20px; +} + +a { + text-decoration: none; +} + +p a { + font-weight: 400; +} + +blockquote { + font-size: 1.6em; + border-left: 10px solid #e9e9e9; + margin-bottom: 20px; + padding: 0 0 0 30px; +} + +ul li { + list-style: disc inside; + padding-left: 20px; +} + +ol li { + list-style: decimal inside; + padding-left: 3px; +} + +dl dt { + color: #303030; +} + +footer { + background: transparent url('../images/hr.png') 0 0 no-repeat; + margin-top: 40px; + padding-top: 20px; + padding-bottom: 30px; + font-size: 13px; + color: #aaa; +} + +footer a { + color: #666; +} +footer a:hover { + color: #444; +} + +/* MISC */ +.clearfix:after { + clear: both; + content: '.'; + display: block; + visibility: hidden; + height: 0; +} + +.clearfix {display: inline-block;} +* html .clearfix {height: 1%;} +.clearfix {display: block;} + +/* #Media Queries +================================================== */ + +/* Smaller than standard 960 (devices and browsers) */ +@media only screen and (max-width: 959px) {} + +/* Tablet Portrait size to standard 960 (devices and browsers) */ +@media only screen and (min-width: 768px) and (max-width: 959px) {} + +/* All Mobile Sizes (devices and browser) */ +@media only screen and (max-width: 767px) { + header { + padding-top: 10px; + padding-bottom: 10px; + } + #downloads { + margin-bottom: 25px; + } + #download-zip, #download-tar-gz { + display: none; + } + .inner { + width: 94%; + margin: 0 auto; + } +} + +/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */ +@media only screen and (min-width: 480px) and (max-width: 767px) {} + +/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */ +@media only screen and (max-width: 479px) {}