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

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

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 ×