Giter VIP home page Giter VIP logo

houstudio / cdroid Goto Github PK

View Code? Open in Web Editor NEW
29.0 6.0 12.0 179.29 MB

CDroid is a android like GUI toolkit base on C++11,It is a cross-platform GUI engine for embedded system.Mybe an other choice of emwin ,touchgfx,awtk. it is more friendly for android developers.

Home Page: https://houstudio.github.io/cdroid/

License: GNU Lesser General Public License v2.1

CMake 0.97% Shell 0.04% C++ 62.31% Makefile 0.30% C 36.16% Python 0.18% SourcePawn 0.03%
gui android emwin touchgfx guilite iot wearable-devices lvgl graphics embedded

cdroid's Introduction

Introduction

CDroid is a android like GUI toolkit base on C++11,It is a cross-platform GUI engine for embedded system.

Features:

  • Multi Layer/Multi Window
  • Integrated with 40+ UI Components and 20+ Drawables(compatible with android)
  • All UI Components(Layouts,Drawables...)can be designed in AndroidStudio or Eclipse
  • Vector Graph supported via Cairo

Quick Start

  • VM(Ware):https://pan.baidu.com/s/1-v-rLcHxo5W5TXvJ2NUWxA fetchcode:spux (VM Ubuntu User:cdroid password:123456)
  • After login pls run git pull to get new version of cdroid
  • You'd better remove outXXX and run build.sh to rebuild makefiles after each git pull.

IDE(AndroidStudio/Eclipse)

IDE

ScreenShots

demo0 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 Pott

UI Components:

  • View
  • TextView
  • EditText
  • Button
  • ImageView
  • ImageButton,
  • CompoundButton
  • ToggleButton
  • CheckBox
  • RadioButton
  • ProgressBar
  • SeekBar
  • Chronometer
  • AnalogClock,
  • SimpleMonthView
  • ViewGroup
  • RadioGroup
  • ScrollView
  • HorizontalScrollView
  • CalendarView
  • ViewPager
  • TabWidget
  • NumberPicker
  • AdapterView
  • AbsListView
  • Spinner
  • ListView
  • GridView
  • RecyclerView
  • YearPickerView

Supported Layouts:

  • FrameLayout
  • LinearLayout
  • TableRow
  • TableLayout
  • AbsoluteLayout
  • GridLayout

Supported Drawables:

  • ColorDrawable
  • BitmapDrawable
  • NinepatchDrawable
  • InsetDrawable
  • ShapeDrawable
  • TransitionDrawable
  • LayerDrawable
  • StateListDrawable
  • LevelListDrawable
  • ClipDrawable
  • GradientDrawable
  • RotateDrawable
  • ScaleDrawable
  • AnimatedRotateDrawable
  • AnimatedImageDrawable
  • TransitionDrawable

Porting guide:

  • 1 A new product porting should be placed to src/porting/xxx(where xxx is you chipset name)
  • 2 implement your porting api to xxx directory
  • 3 modify build.sh to support your port(you should configure sysroot toolchain...).
  • 4 call build.sh --product=xxx
  • 5 make you project(SeeAlso Building CDROID)

Building CDROID:

1.install dependencs:

sudo apt install autoconf libtool build-essential cmake gdb pkg-config zip gettext libx11-dev bison python>=3.7 pip3-python meson

2.install vcpkg:

3.install cdroid deplibs:

  • ./cdroid_install_libs.sh --triplet=x64-linux-dynamic

4.download cdroid source code:

5.build cdroid:

  • cd cdroid
  • ./build.sh --build=debug
  • cd outX64-Debug
  • make -j

6.prepare system and app resource

The cdroid.pak and yourapp's pak must be in your working directory

  • cp src/gui/cdroid.pak ./
  • cp apps/appname/appname.pak ./

7.run samples(in directory outX64-Debug

  • apps/samples/helloworld
  • apps/uidemo1/uidemo1

cdroid's People

Contributors

byterk avatar hookjc avatar houstudio avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.