summaryrefslogtreecommitdiff
path: root/readme.txt
diff options
context:
space:
mode:
Diffstat (limited to 'readme.txt')
-rw-r--r--readme.txt33
1 files changed, 32 insertions, 1 deletions
diff --git a/readme.txt b/readme.txt
index 82a5226..67d4b40 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,9 +1,25 @@
+FLTK Binding for the Ada Programming Language
+=============================================
+
+
+
+
+This is a thick binding. In particular, dynamic allocation of FLTK objects is
+not necessary as in Ada they can be placed on the stack and automatically cleaned
+up. Ada 2012 iterators have also been made available for the Fl_Group and Fl_Menu
+bindings.
+
+For documentation on what C++ method or class corresponds to what Ada function,
+procedure, or package, see the /doc/index.html file.
+
+
+
+
Dependencies:
GNAT
-
FLTK
@@ -28,3 +44,18 @@ For further information on the build tools, consult
https://docs.adacore.com/gprbuild-docs/html/gprbuild_ug.html
+
+
+A technical note on callbacks and overriding:
+
+As part of its normal operation, FLTK calls a Widget's Draw and Handle methods from its
+main loop to deal with draw and input events. Since it's another part of the program
+that is invoking them, even if it's a part the programmer has no direct control over,
+this binding is set up so that if you override Draw or Handle, the behaviour will change.
+
+On the other hand, something like the Push method in tabbed groups is usually invoked
+from within that same tabbed group widget's Handle method. Therefore, keeping consistency
+with Ada semantics, overriding the Push method will NOT change the behaviour of the
+corresponding Handle method. You must also override Handle.
+
+