81 lines
2.8 KiB
Markdown
81 lines
2.8 KiB
Markdown
README.Android.md
|
|
|
|
# Building and Running FLTK with Android Studio 3
|
|
|
|
|
|
WARNING: FLTK FOR ANDROID IS WORK IN PROGRESS IN A PRETTY EARLY STAGE.
|
|
|
|
|
|
## Contents
|
|
|
|
1. Building FLTK with Android Studio 3
|
|
2. Extensions and limitation of FLTK on Android
|
|
3. Document History
|
|
|
|
|
|
## Building FLTK with Android Studio 3
|
|
|
|
There is no need to ever write a single line of Java.
|
|
|
|
Download and install AndroidStudio on your developer machine. If you use
|
|
AndroidStudio for the first time, use the IDE to download and build the
|
|
"Native Plasm" sample app. In the process, all resources required to build
|
|
FLTK will be installed. Once Native Plasm runs on your emulator or physical
|
|
device, you are ready to install FLTK.
|
|
|
|
Build FLTK for your native platform first using CMake. AndroidStudio will need a native
|
|
version of the user interface design tool _Fluid_.
|
|
|
|
The following example is for the _Xcode_ IDE on _macOS_. The same should work for
|
|
other IDEs and Makefiles on other platforms that run _AndroidStudio_.
|
|
|
|
```bash
|
|
git clone https://github.com/fltk/fltk.git fltk-1.4.git
|
|
cd fltk-1.4.git
|
|
mkdir build
|
|
cd build
|
|
mkdir Xcode
|
|
cd Xcode
|
|
cmake -G "Unix Makefiles" \
|
|
-D OPTION_USE_SYSTEM_LIBJPEG=Off \
|
|
-D OPTION_USE_SYSTEM_ZLIB=Off \
|
|
-D OPTION_USE_SYSTEM_LIBPNG=Off \
|
|
-D OPTION_CREATE_ANDROID_STUDIO_IDE=On \
|
|
../..
|
|
```
|
|
Note the last option, `-D OPTION_CREATE_ANDROID_STUDIO_IDE=On`. This option will
|
|
create the file needed to create an FLTK demo project in
|
|
`fltk-1.4.git/build/Xcode/AndroidStudio`.
|
|
|
|
- open the `build/Xcode/AndroidStudio/` directory as a project in AndroidStudio3
|
|
|
|
- click "run"; the project should compile and run out of the box
|
|
|
|
|
|
## Extensions and limitation of FLTK on Android
|
|
|
|
Android support for FLTK is in an early stage. As of January 2019, most
|
|
rendering works, fonts work, bitmaps and pixmaps work, clipping works, window
|
|
layering works, and mouse clicks and keyboard events are handled
|
|
|
|
When loading fonts:
|
|
- font names starting with a $ will have the system font path inserted
|
|
- font names starting with an @ will be loaded via the Asset Manager
|
|
- all other names will be used verbatim
|
|
|
|
Limitations:
|
|
- the screen size is currently fixed to 600x800 and is scaled up
|
|
- many many big and little functions are not yet implemented
|
|
|
|
|
|
## Document History
|
|
|
|
Jan 15 2019 - matt: rewrote document to explain the new CMake process
|
|
Mar 29 2018 - matt: many graphics functions have been implemented, keyboard
|
|
Mar 17 2018 - matt: added Android extensions for fonts
|
|
Mar 12 2018 - matt: started list of limitation that serevs as information to the
|
|
user as much as a todo list for core developers
|
|
Mar 6 2018 - matt: moved project to ide/AndroidStudio3/
|
|
Mar 2 2018 - matt: rewriting Android port and documentation from scratch
|
|
Feb 9 2016 - matt: recreated document with more warnings and active support
|