Design decision to provide compatibility with M5Stack Core2
I have a working code that supports M5Stack Core2. A couple of things require design decisions to make the cfGUI library compatible with Core and Core2 (if both should be supported by the same code base - this is also a design decision on its own):
- Core2 uses a different library (M5Core2 instead of M5Stack) and WIdget.h includes M5Stack,h. Since in the M5Stack codebase I have not experienced the existence of namespaces.. either one must be included. How should the conditional import be approached? is a pre-processor condition acceptable (#ifdef M5Core and #ifdef M5Core2) that would import selected header file in Widget,h?
- Core2 has a touchscreen and the initial support for it in the M5Core2 uses a "Point" structure which conflicts with the "Point" structure name used in cfGUI. Primitive fix is to rename the structure in cfGUI..
- Touchscreen input changes the navigation and widgets interaction philosophy - maybe Core2 support should be done in a different branch? Or if you (@JF002) do not plan the develop this library any further - should I continue adding features in my fork?
Hi, I would be very interested in getting a version compatible with M5stackCore2 can you please tell me if there is on and if not how to adapt the code ? Thanks
I'm really sorry I did not answer the original post from @Girgitt. As you've probably noticed, I haven't worked on this project for a long time, and I do not plan on maintaining it in the near future. Feel free however to fork the project and add feature and support for newer M5Stack devices !
Thank you for responding :) I actually made a fork and adopted your code for M5stackCore2 - currently on a branch: https://github.com/Girgitt/cfGUI/tree/m5core2-support