#include "low_level_touch.h" #include "low_level_touch_ft6336u.h" #include LowLevelTouch* LowLevelTouch::create(TouchType type, int screen_width, int screen_height, bool swap_xy, bool invert_x, bool invert_y) { LowLevelTouch* touch = nullptr; switch (type) { case TOUCH_TYPE_FT6336U: printf("Creating FT6336U touch controller...\n"); touch = new LowLevelTouchFT6336U(screen_width, screen_height, swap_xy, invert_x, invert_y); break; case TOUCH_TYPE_NONE: printf("No touch controller configured\n"); return nullptr; default: printf("Unknown touch type: %d\n", type); return nullptr; } if (touch && !touch->init()) { printf("Failed to initialize touch controller\n"); delete touch; return nullptr; } return touch; }