ESPHome  2024.4.1
touchscreen_binary_sensor.h
Go to the documentation of this file.
1 #pragma once
2 
7 #include "esphome/core/helpers.h"
8 
9 namespace esphome {
10 namespace touchscreen {
11 
13  public Component,
14  public TouchListener,
15  public Parented<Touchscreen> {
16  public:
17  void setup() override;
18 
20  void set_area(int16_t x_min, int16_t x_max, int16_t y_min, int16_t y_max) {
21  this->x_min_ = x_min;
22  this->x_max_ = x_max;
23  this->y_min_ = y_min;
24  this->y_max_ = y_max;
25  }
26  int16_t get_x_min() { return this->x_min_; }
27  int16_t get_x_max() { return this->x_max_; }
28  int16_t get_y_min() { return this->y_min_; }
29  int16_t get_y_max() { return this->y_max_; }
30  int16_t get_width() { return this->x_max_ - this->x_min_; }
31  int16_t get_height() { return this->y_max_ - this->y_min_; }
32 
33  void set_page(display::DisplayPage *page) { this->page_ = page; }
34 
35  void touch(TouchPoint tp) override;
36  void release() override;
37 
38  protected:
39  int16_t x_min_, x_max_, y_min_, y_max_;
41 };
42 
43 } // namespace touchscreen
44 } // namespace esphome
void set_area(int16_t x_min, int16_t x_max, int16_t y_min, int16_t y_max)
Set the touch screen area where the button will detect the touch.
This is a workaround until we can figure out a way to get the tflite-micro idf component code availab...
Definition: a01nyub.cpp:7
Base class for all binary_sensor-type classes.
Definition: binary_sensor.h:37
Helper class to easily give an object a parent of type T.
Definition: helpers.h:515