Skip to content

shuangyou/TouchVG

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Compile with CocoaPods

TouchVG is available on CocoaPods. Just add the following to your project Podfile:

pod 'TouchVG', '~> 1.1.10'

Or use the develop version:

pod 'TouchVG', :podspec => 'https://raw.githubusercontent.com/touchvg/TouchVG/develop/TouchVG.podspec'

Or add the following to use SVG rendering feature with SVGKit:

pod 'TouchVG-SVG', :podspec => 'https://raw.githubusercontent.com/touchvg/TouchVG/develop/ios/TouchVG-SVG.podspec'

Then type pod install or pod install --no-repo-update. Need to remove libPods-TouchVG.a or libPods-TouchVG-TouchVG-SVG.a from Link Binary With Libraries. Remove -lxml2 from Other Linker Flags for TouchVG-SVG target.

Compile without CocoaPods

Alternatively, you can build as one of the following methods:

  • 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 containing your own shapes and commands. So the TouchVG and TouchVGCore libraries does not require changes.

    • Checkout and enter DemoCmds directory, then type python newproj.py YourCmds:

      git clone https://github.com/touchvg/DemoCmds.git
      cd DemoCmds
      python newproj.py MyCmds
    • Need to install python to run the script.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published