MROGeometry
MROGeometry copied to clipboard
♊️ Mirror of http://purl.mro.name/ios/MROGeometry | √ C and Objective C math and geometry helpers
MROGeometry
Some C / Objective-C helpers related to
- CGPoint,
- CGAffineTransform,
- CGPath and
- SVG path.
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 | × |