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

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

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 ×