11#ifndef M5AVATAR_EYES_HPP_
12#define M5AVATAR_EYES_HPP_
14#include <BoundingRect.h>
15#include <DrawContext.h>
22void drawStraightEyelid(M5Canvas *canvas, int16_t x, int16_t y, int16_t width,
23 int16_t height, uint16_t color);
37 uint16_t iris_bg_color_;
42 Expression expression_;
46 BaseEye(uint16_t width, uint16_t height,
bool is_left);
52 using BaseEye::BaseEye;
58 void computeEyelidBaseWaypoints(
float &medial_x,
float &medial_y,
59 float ¢er_x,
float ¢er_y,
60 float &lateral_x,
float &lateral_y,
61 uint16_t eyelid_width, uint16_t eyelid_height,
62 uint16_t eyelid_bottom);
63 void computeEyelashBaseWaypoints(
64 float &tip_x,
float &tip_y,
float &bottom_x,
float &bottom_y,
65 float &medial_x,
float &medial_y, uint16_t eye_lash_width,
66 uint16_t eye_lash_height, uint16_t eyelid_lateral_x,
67 uint16_t eyelid_bottom, uint16_t eyelid_width, uint16_t eyelid_height);
70 using BaseEye::BaseEye;
73 void drawEyelid(M5Canvas *canvas);
74 void drawEyelash(M5Canvas *canvas);
75 void overwriteOpenRatio();
82 void computeEyelidBaseWaypoints(
float &medial_x,
float &medial_y,
83 float ¢er_x,
float ¢er_y,
84 float &lateral_x,
float &lateral_y,
85 uint16_t eyelid_width, uint16_t eyelid_height,
86 uint16_t eyelid_bottom);
87 void computeEyelashBaseWaypoints(
88 float &tip_x,
float &tip_y,
float &bottom_x,
float &bottom_y,
89 float &medial_x,
float &medial_y, uint16_t eye_lash_width,
90 uint16_t eye_lash_height, uint16_t eyelid_lateral_x,
91 uint16_t eyelid_bottom, uint16_t eyelid_width, uint16_t eyelid_height);
94 using BaseEye::BaseEye;
98 void drawEyelid(M5Canvas *canvas);
99 void drawEyelash(M5Canvas *canvas);
100 void overwriteOpenRatio();
106 using BaseEye::BaseEye;
107 void drawEyelid(M5Canvas *canvas);
108 void overwriteOpenRatio();
114 using BaseEye::BaseEye;
drawing utils including geometry handling
Definition: BoundingRect.h:10
Definition: ColorPalette.h:50
Definition: DrawContext.h:22
Definition: Drawable.h:13