* `calculator_logic` defines `CalculatorContext` with all the business logic of a calculator.
It takes as input operations and numbers, and outputs the text to display.
* `calculator` implements the portable graphical interface using the _app.nit_ framework
+* `scientific_calculator` refines `calculator` to add scientific operations.
+* `android_calculator` refines `calculator` to get a nicer aesthetic on Android.
+* `ios_calculator` refines `calculator` to get a nicer aesthetic on iOS.
* `calculator_test` test `CalculatorContext` as a black box.
# Compilation
* Compile and run on the desktop (GNU/Linux and OS X) with:
- ~~~
+ ~~~raw
make
bin/calculator
~~~
* Compile for Android and install on a device or emulator with:
- ~~~
+ ~~~raw
make bin/android.apk
adb install -r bin/calculator.apk
~~~
* Compile for iOS and run on the simulator with:
- ~~~
+ ~~~raw
make bin/android.app
ios-sim launch bin/calculator.app
~~~
+
+# Screenshots
+
+![Scientific calculator on Linux with GTK+](doc/linux-scientific.png)
+
+![Scientific calculator on Android](doc/android-scientific.png)
+
+![Scientific calculator on iOS](doc/ios-scientific.png)