/TouchVG

A lightweight 2D vector drawing framework using C++ for iOS, Android and Windows.

Primary LanguageC++OtherNOASSERTION

TouchVG

TouchVG is a lightweight 2D vector drawing framework for iOS, Android and Windows.

Features described in Online document.

arch

iphone1 | android1 | iphone2

License

This is an open source LGPL 2.1 licensed project. It uses the following open source projects:

How to Contribute

Contributors and sponsors are welcome. You may translate, commit issues or pull requests on this Github site. To contribute, please follow the branching model outlined here: A successful Git branching model.

Welcome to the Chinese QQ group 192093613 to discuss and share.

Contributors

How to Compile

Compile for Android

  • Import all projects under ./android directory of TouchVG in eclipse, then build touchvg project.

    • Android SDK version of the projects may need to modify according to your installation.
    • Recommend using the newer ADT Bundle to avoid complex configuration.
  • To regenerate libtouchvg.so, please enter android directory of TouchVG, then type ./build.sh (Need to add the NDK installation location to your PATH environment variable).

    • Type ./build.sh -B to rebuild the native libraries.

    • Type ./build.sh APP_ABI=x86 to build for the x86 (Intel Atom) Emulator.

    • If the error build/gmsl/__gmsl:512: *** non-numeric second argument to wordlist function occurs, then open the build/gmsl/__gmsl file in the NDK installation directory, and change line 512 to: int_encode = $(__gmsl_tr1)$(wordlist 1,$(words $1),$(__gmsl_input_int))

    • MSYS and TDM-GCC(a MinGW distribution) are recommended on Windows.

    • To regenerate the kernel JNI classes, type ./build.sh-swig (Need to install SWIG, and add the location to PATH).

Compile for iOS

  • Type pod install or pod install --no-repo-update (Need to install CocoaPods).

  • Open TouchVG.xcworkspace in Xcode, then build the TouchVG or TouchVG-SVG target.

    • libTouchVG.a does not support SVG display.
    • libTouchVG-SVG.a can display SVG shapes using SVGKit.
  • Or enter ios directory and type ./build.sh to compile static libraries to the ios/output directory.

    • Type ./build.sh -arch arm64 to make for iOS 64-bit.
    • Type ./build.sh clean to remove object files.

Compile for Windows

  • Open wpf/Test_cs10.sln in Visual Studio 2010 (Need VC++ and C#). Or open wpf/Test_cs9.sln in VS2008.

  • To regenerate wpf/touchvglib/core/*.cs, please enter wpf directory and type ./build.sh (Need to install SWIG, and add the location to PATH).

Compile for other platform

  • You can compile TouchVG for Python, Perl or Java applications on Linux, MinGW or Mac OS X.

    • Enter core directory which contains Makefile, then type the following make command:

      • Make all install: compile C + + static library .
      • Make java: Jar package and generate dynamic libraries for Java programs.
      • Make python, make perl: namely Python, Perl , etc. to generate class files and dynamic libraries.
      • Make clean java.clean python.clean: delete these temporary files compiled out .
    • MSYS and TDM-GCC(a MinGW distribution) are recommended on Windows.

Add more shapes and commands

  • You can use newproj.py to create library project (Recommended as GIT submodule) containing your own shapes and commands. So the TouchVG and TouchVGCore libraries does not require changes.

    • Enter thirdparty directory and type python newproj.py YourCmds.

    • Need to install python to run the script.