JF002 / cfGUI

A simple GUI library for M5Stack (ESP32)
MIT License
93 stars 22 forks source link

Design decision to provide compatibility with M5Stack Core2 #18

Open Girgitt opened 3 years ago

Girgitt commented 3 years ago

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):

  1. 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?
  2. 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..
  3. 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?
lidense commented 2 years ago

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

JF002 commented 2 years ago

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 !

Girgitt commented 2 years ago

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