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

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

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 ×