Cdroid/README.md

114 lines
3.3 KiB
Markdown
Raw Normal View History

2021-06-24 10:12:55 +08:00
# **Introduction**
**CDroid** is a android like GUI toolkit base on C++11,It is a cross-platform GUI engine for embedded system.
2023-10-06 16:49:12 +08:00
* Main repository: [https://gitee.com/houstudio/cdroid](https://gitee.com/houstudio/cdroid)
* Mirrored repository: [https://github.com/houstudio/cdroid](https://github.com/houstudio/cdroid)
2021-06-24 10:12:55 +08:00
# **Features:**
* Multi Layer/Multi Window
2022-07-06 09:58:05 +08:00
* Integrated with 40+ UI Components and 20+ Drawables(compatible with android)
2022-07-06 10:01:49 +08:00
* All UI Components(Layouts,Drawables...)can be designed in **AndroidStudio or Eclipse**
* Vector Graph supported via **Cairo**
2023-10-06 16:49:12 +08:00
# **Quick Start**
* Start experimenting now with X86 Simulator https://gitee.com/jiangcheng/cdroidX64
2021-06-24 10:12:55 +08:00
# **Screen Shots**
2023-10-06 16:49:12 +08:00
![demo0](https://gitee.com/jiangcheng/cdroidX64/raw/master/apps/images/asd61236.gif)
2022-07-06 09:46:10 +08:00
![demo1](https://gitee.com/houstudio/cdroid/raw/master/docs/videos/uidemo1.gif)
2022-07-06 09:58:05 +08:00
![demo2](https://gitee.com/houstudio/cdroid/raw/master/docs/videos/uidemo2.gif)
2022-01-07 18:08:20 +08:00
![Pott](https://gitee.com/houstudio/cdroid/raw/master/docs/images/screenshots/plot.png)
2021-08-27 18:41:10 +08:00
![ListView+Progress](https://gitee.com/houstudio/cdroid/raw/master/docs/videos/list_with_progress.gif)
2023-10-06 16:49:12 +08:00
2021-06-24 10:12:55 +08:00
# **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
2023-08-08 17:00:51 +08:00
* ListView (with both vertical and horizontal layout support)
* GridView (with both vertical and horizontal layout support)
2021-06-24 10:12:55 +08:00
* 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:**
2023-10-06 16:49:12 +08:00
* 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**)
2021-06-24 10:12:55 +08:00
2023-02-03 09:43:18 +08:00
# **Building CDROID:**
2023-10-06 16:49:12 +08:00
### 1.install dependencs:
sudo apt install autoconf libtool build-essential cmake gdb pkg-config zip gettext libx11-dev bison python>=3.7
### 2.install vcpkg:
* git clone https://gitee.com/houstudio/vcpkg.git
* cd vcpkg
* ./bootstrap-vcpkg.sh
### 3.install cdroid deplibs:
* ./cdroid_install_libs.sh --triplet=x64-linux-dynamic<br>
### 4.download cdroid source code:
* cd ~
* git clone http://www.gitee.com/houstudio/cdroid.git<br>
### 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/${your_app}/${your_app}.pak ./
### 7.run samples(in directory outX64-Debug
* apps/samples/helloworld
* apps/uidemo1/uidemo1
2023-08-08 17:00:51 +08:00
2023-02-03 09:43:18 +08:00
2021-06-24 10:12:55 +08:00