I’ve been working hard over the last week or so, preparing various important classes for migration into the main Gee-Oh! library, having to undo some very tight coupling. The purpose of this is to get as much code re-use as possible when putting the maps into MakingTracksGPS and, ultimately, Gee-Oh! Mobile.
To that end, I have written many, many interfaces and implemented many callbacks, as well as extracted any global static variables (that cannot be avoided for now) into a new GlobalValues class that lives in the library.
Last night I finished the decoupling process and managed to move key classes across, including core grid components and the thread manager class. All rendering and I/O code now resides in the app/platform specific project(s), and the core data/functionality is in the library.