mirror of
https://gitee.com/houstudio/Cdroid.git
synced 2024-12-11 06:04:34 +08:00
Migrated repository
apps | ||
cmake | ||
docs | ||
scripts | ||
src | ||
tests | ||
.gitignore | ||
build.sh | ||
CMakeLists.txt | ||
CMakeSettings.json | ||
Doxyfile.in | ||
LICENSE | ||
README.md |
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
Screen Shots
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 (with both vertical and horizontal layout support)
- GridView (with both vertical and horizontal layout support)
- 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
- 2.install vcpkg:
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh - 3.install cdroid deplibs:(Recommand you use dynamic triplet(static is not tested)
vcpkg install gtest sdl2 libunibreak libjpeg-turbo[jpeg8] libzip cairo --triplet=x64-linux-dynamic - 4.download cdroid source code:
cd ~
git clone http://www.gitee.com/houstudio/cdroid.git - 5.build cdroid:
cd cdroid
./build.sh --build=debug
cd outX64-Debug
make -j - 6.prepare system and app resource
cp src/gui/cdroid.pak ./
cp apps/${app}/${app}.pak ./ - 7.run samples(in directory outX64-Debug
apps/samples/helloworld
apps/uidemo1/uidemo1