1 Star 0 Fork 20

chenhu / TouchVG

forked from rhcad / TouchVG 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

TouchVG

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

Features described in Online document. Please visit TouchVGTest to see more example of TouchVG.

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.
  • You can download the prebuilt libraries from TouchVGTest and extract to yourapp/libs.

  • 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).

  • How to debug native code

    • Add #include "mglog.h" and use LOGD("your message %d", someint); in C++ files needed to debug.
    • Set LogCat filter in Eclipse: tag:dalvikvm|AndroidRuntime|vgjni|touchvg|vgstack|libc|DEBUG.
    • NDK JNI log print to locate problems of libc:
      1. Add python addlog.py in TouchVG/jni/build.sh.
      2. Type ./build.sh -swig, or remove touchvg_java_wrap.cpp and type ./build.sh.

Compile for iOS

Compile with CocoaPods

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

pod 'TouchVG'

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.

空文件

简介

主要由C++实现的轻量级2D矢量绘图框架,可在 iOS、Android、Windows 上构建矢量绘图应用。 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/tigera/TouchVG.git
git@gitee.com:tigera/TouchVG.git
tigera
TouchVG
TouchVG
develop

搜索帮助