Migrated repository
Go to file
2023-04-04 11:05:49 +00:00
apps modify numberpicker,add NumberPicker::mValue 's init 2023-04-03 10:49:42 +00:00
cmake add directfb graph support,all functions include rotations is testok 2023-04-04 11:05:49 +00:00
docs update readme and screenshots 2022-07-06 09:58:05 +08:00
scripts add surface global alpha support,fix idgen.strings 2023-04-03 03:45:09 +00:00
src add directfb graph support,all functions include rotations is testok 2023-04-04 11:05:49 +00:00
tests fix gradientdrawable & shapedrawable's parser 2023-03-25 09:29:54 +00:00
.gitignore add plplot 2021-12-14 18:33:00 +08:00
build.sh fix Matrix::transform_rectangle,fix view's click&invalidate in rotate!=0 2023-03-08 14:29:40 +00:00
CMakeLists.txt fix gradientdrawable & shapedrawable's parser 2023-03-25 09:29:54 +00:00
Doxyfile.in CDROID's First commit 2021-06-24 10:12:55 +08:00
LICENSE CDROID's First commit 2021-06-24 10:12:55 +08:00
README.md modify drawable's parser 2023-03-26 10:56:30 +00:00
sigmastar.sh add sigmastar graph_gfx port 2022-12-07 10:32:37 +00:00

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

demo1 demo2 Pott ListView+Progress

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
  • 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 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)
  • 3.install cdroid deplibs: vcpkg install gtest sdl2 libunibreak libjpeg-turbo[jpeg8] libzip cairo --triplet=x64-linux-dynamic (Recommand you use dynamic triplet(static is not tested)
  • 4.create buildings:./build.sh --product=x64 --build=debug
  • 5.enter directory out${product}-${build} and make the cdroid project