A Cross-platform framework using C++ for 2D vector drawing frameworks such as vgios, vgandroid and vgwpf.
TouchVGCore contains the following cross-platform modules:
- geom: Math and geometry module.
- graph: 2D Graphics interface module using geom module.
- gshape: 2D Shape module using geom module.
- shape: 2D Shape module using geom, graph and gshape modules.
- shapedoc: Shape document module using above modules.
- jsonstorage: A storage adapter using rapidjson(a fast JSON parser/generator).
- cmdbase: Base classes for deriving more drawing commands.
- cmdbasic: Commands to draw basic shapes.
- cmdmgr: Command manager module.
- view: Interactive drawing kernel module.
- export: SVG exportor module.
- record: Undo/redo and shape record module.
VGShape contains only geom and gshape modules used for other rendering.
This is an open source BSD licensed project that is in active development. Contributors and sponsors are welcome.
It uses the following open source projects:
- simple-svg (BSD license): A C++ header file for creating SVG files.
- rapidjson (MIT license): A fast JSON parser/generator for C++ with both SAX/DOM style API.
- Nano-SVG (zlib license): Simple stupid single-header-file SVG parser.
- UTF8-CPP: A simple, portable and lightweight library for handling UTF-8 encoded strings.
TouchVGCore is available on CocoaPods. Just add the following to your project Podfile:
pod 'TouchVGCore'
Alternatively, you can add the project to your workspace and build as one of the following methods:
-
Open
ios/TouchVGCore/TouchVGCore.xcodeproj
in Xcode, then build the library project. -
Or cd the 'ios' folder of this project and type
./build.sh
to buildios/output/libTouchVGCore.a
.- Type
./build.sh -arch arm64
to make iOS libraries for iOS 64-bit. Type./build.sh clean
to remove object files.
- Type
-
Cd the 'android' folder of this project and type
./build.sh
to build with ndk-build.- MSYS is recommend on Windows.
- The library
libTouchVGCore.a
will be outputed toandroid/output/armeabi
. - Type
./build.sh -B
to rebuild the native libraries.
-
Type
./build.sh APP_ABI=x86
to build for the x86 Emulator. The library will be outputed toandroid/output/x86
.
- Open
win\vc2010.sln
in Visual Studio 2010, then build the TouchVGCore library project (Win32 VC++ static library).
-
Cd the 'core' folder of this project and type
make
ormake all install
to generate libraries on Mac, Linux or Windows. -
Type
make java
,make python
ormake csharp
to generate libraries for another language applications using Java, Python or C#. -
Type
make clean java.clean python.clean
to remove the program object files.