C and Objective C math and geometry helpers http://purl.mro.name/ios/MROGeometry

Marcus Rohrmoser 04aabb9f9e code domain %!s(int64=5) %!d(string=hai) anos
MROGeometry cc2aca17a4 copyright year, author %!s(int64=9) %!d(string=hai) anos
MROGeometry.xcodeproj 95b0b9b052 podspec++, CoreGraphics dependency added. %!s(int64=10) %!d(string=hai) anos
MROGeometryTests cc2aca17a4 copyright year, author %!s(int64=9) %!d(string=hai) anos
tools cc2aca17a4 copyright year, author %!s(int64=9) %!d(string=hai) anos
.gitignore 03bcc11112 README, gitignore %!s(int64=10) %!d(string=hai) anos
.travis.yml 859f8710a7 xctool has issues. %!s(int64=7) %!d(string=hai) anos
CHANGELOG.md 166ab74298 start a cocoapod. refs #4 %!s(int64=10) %!d(string=hai) anos
Common.xcconfig cc2aca17a4 copyright year, author %!s(int64=9) %!d(string=hai) anos
Debug.xcconfig cc2aca17a4 copyright year, author %!s(int64=9) %!d(string=hai) anos
LICENSE cc2aca17a4 copyright year, author %!s(int64=9) %!d(string=hai) anos
MROGeometry.podspec 95b0b9b052 podspec++, CoreGraphics dependency added. %!s(int64=10) %!d(string=hai) anos
Makefile cc2aca17a4 copyright year, author %!s(int64=9) %!d(string=hai) anos
README.md 862f5b76c0 flattr—- %!s(int64=7) %!d(string=hai) anos
Rakefile 166ab74298 start a cocoapod. refs #4 %!s(int64=10) %!d(string=hai) anos
Release.xcconfig cc2aca17a4 copyright year, author %!s(int64=9) %!d(string=hai) anos
VERSION 82667bb3eb Release 0.1.1 %!s(int64=10) %!d(string=hai) anos
doap.rdf 04aabb9f9e code domain %!s(int64=5) %!d(string=hai) anos

README.md

Build Status Version License Platform

MROGeometry

Some C / Objective-C helpers related to

CGPathReader.h

Parse a SVG path and return a retained CGPathRef.

See PathParser.h

CGPathWriter.h

Write a very simple, non-optimized form of SVG path.

MROCGPointMath.h

Simple CGPoint math:

  • add,
  • subtract,
  • scale (multiply x and y with a number),
  • dot product,
  • distance square and distance.

NSCoder_MROCGPath.h

Persist a CGPathRef using the SVG path format as ASCII/C String.

PathParser.h

Parse a SVG path and return a retained CGPathRef.

Uses the Ragel-generate state machine PathParser.rl directly based on the W3C BNF path grammar for parsing.

TrafoParser.h

Parse a SVG transform attribute and return a CGAffineTransform.

Uses the Ragel-generate state machine TrafoParser.rl directly based on the W3C grammar for parsing.

Global Macros

There are some macros I use all over the place. Instead including the same header in every source file I put them into MROGeometry-Prefix.pch as usual.

Makefile

Generate C state machines and pdf docs from Ragel sources.

Design Goals

Quality very good good normal irrelevant
Functionality ×
Reliability ×
Usability ×
Efficiency ×
Changeability ×
Portability ×