Kerry Martin
/
Liz_Test_Code
KSM edits
Diff: Button.cpp
- Revision:
- 20:d25fb9c55781
- Parent:
- 19:fee3f71fab2d
--- a/Button.cpp Wed Jul 10 13:30:27 2019 +0000 +++ b/Button.cpp Thu Jul 11 14:04:19 2019 +0000 @@ -6,12 +6,8 @@ * * */ -Button::Button(loc_t arg_corner1_x, loc_t arg_corner1_y, loc_t arg_corner2_x, loc_t arg_corner2_y, color_t arg_color, RA8875 *arg_display, const char * arg_name) -: corner1_x(arg_corner1_x), - corner1_y(arg_corner1_y), - corner2_x(arg_corner2_x), - corner2_y(arg_corner2_y), - //button_name(arg_name), +Button::Button(rect_t arg_rect, color_t arg_color, RA8875 *arg_display, const char * arg_name) +: button_rect(arg_rect), button_color(arg_color), lcd(arg_display) { @@ -20,6 +16,28 @@ snprintf(button_name, len, "%s", arg_name); } +Button::Button(loc_t arg_corner1_x, loc_t arg_corner1_y, loc_t arg_corner2_x, loc_t arg_corner2_y, color_t arg_color, RA8875 *arg_display, const char * arg_name) +{ + + + //button_name(arg_name), + button_color = arg_color; + lcd = arg_display; + button_rect.p1.x = arg_corner1_x; + button_rect.p1.y = arg_corner1_y; + button_rect.p2.x = arg_corner2_x; + button_rect.p2.y = arg_corner2_y; + int len = strlen(arg_name) + 1; + button_name = new char[len]; + snprintf(button_name, len, "%s", arg_name); + + +} + + +/* + +*/ //Button::Button() //: Button(0, 0, 0, 0, RGB(0,0,0), RA8875(), string("noname")) //{ @@ -30,11 +48,14 @@ */ bool Button::isPressed(loc_t cur_x, loc_t cur_y) { - if(corner1_x < cur_x && corner2_x > cur_x && corner1_y < cur_y && corner2_y > cur_y) + /*if(corner1_x < cur_x && corner2_x > cur_x && corner1_y < cur_y && corner2_y > cur_y) { return true; - } - return false; + }*/ + point_t touch_pt; + touch_pt.x = cur_x; + touch_pt.y = cur_y; + return lcd->Intersect(button_rect, touch_pt); } /** draw @@ -43,8 +64,8 @@ */ void Button::draw() { - lcd->rect(corner1_x, corner1_y, corner2_x, corner2_y, button_color); - lcd->puts(corner1_x, corner2_y, button_name); + lcd->rect(button_rect, button_color); + lcd->puts(button_rect.p1.x, button_rect.p1.y, button_name); } /** toString