Skip to content

Design decision to provide compatibility with M5Stack Core2 #18

@Girgitt

Description

@Girgitt

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions