From 8f2c211c5a15d2e30adc655bdee00db03e560498 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Papp=20Benj=C3=A1min?= <papbe5@cortex.itk.ppke.hu>
Date: Sun, 19 May 2024 10:10:29 +0200
Subject: [PATCH] =?UTF-8?q?eg=C3=A9r=20jav=C3=ADt=C3=A1s?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 mester.cpp    |  8 ++++++--
 palyamezo.cpp | 13 +++++++++++--
 palyamezo.h   |  3 +++
 widget.cpp    |  8 +++-----
 widget.h      |  3 ++-
 5 files changed, 25 insertions(+), 10 deletions(-)

diff --git a/mester.cpp b/mester.cpp
index d7e1d2f..0901d21 100644
--- a/mester.cpp
+++ b/mester.cpp
@@ -8,10 +8,14 @@ using namespace genv;
 Mester::Mester(Palya* _p) : p(_p) {}
 
 void Mester::iranyitas(Palyamezo* f, event ev) {
-    if(f->hozzaer(ev) && !f->filled)
+    if(f->hozzaer(ev) && !f->filled && !f->chosen){
         f->chosen_draw();
-    if(!f->hozzaer(ev) && !f->filled)
+        f->set_chosen();
+    }
+    if(!f->hozzaer(ev) && !f->filled && f->chosen){
         f->draw();
+        f->reset_chosen();
+    }
     if(f->select(ev) && !f->filled)
         lepes = true;
 }
diff --git a/palyamezo.cpp b/palyamezo.cpp
index 05d2efa..bda2805 100644
--- a/palyamezo.cpp
+++ b/palyamezo.cpp
@@ -12,10 +12,19 @@ void Palyamezo::draw(){
     gout << move_to(x+1,y+1) << color(t,t,t) << box(w-2,h-2);
 }
 
-void Palyamezo::chosen_draw()
-{
+void Palyamezo::chosen_draw(){
     int t = 175;
     gout << move_to(x+1,y+1) << color(t,t,t) << box(w-2,h-2);
 }
 
+void Palyamezo::set_chosen(){
+    if(!chosen)
+        chosen = true;
+}
+
+void Palyamezo::reset_chosen(){
+    if(chosen)
+        chosen = false;
+}
+
 Palyamezo::~Palyamezo() {}
diff --git a/palyamezo.h b/palyamezo.h
index 85c6abd..af4b2d3 100644
--- a/palyamezo.h
+++ b/palyamezo.h
@@ -12,6 +12,9 @@ public:
     void draw() override;
     void chosen_draw();
     bool filled = false;
+    bool chosen = false;
+    void set_chosen();
+    void reset_chosen();
 };
 
 #endif // PALYAMEZO_H
diff --git a/widget.cpp b/widget.cpp
index 7684c8e..61c0f6f 100644
--- a/widget.cpp
+++ b/widget.cpp
@@ -2,18 +2,16 @@
 
 using namespace genv;
 
-Widget::Widget(Palya* _p, int _x, int _y, int _w, int _h) : p(_p), x(_x), y(_y), w(_w), h(_h){}
+Widget::Widget(Palya* _p, int _x, int _y, int _w, int _h) : p(_p), x(_x), y(_y), w(_w), h(_h) {}
 
-bool Widget::hozzaer(event ev)
-{
+bool Widget::hozzaer(event ev){
     if(ev.pos_x > x && ev.pos_x < x+w && ev.pos_y < y+h && ev.pos_y > y)
         return true;
     else
         return false;
 }
 
-bool Widget::select(event ev)
-{
+bool Widget::select(event ev){
     if(hozzaer(ev) && ev.button==btn_left)
         return true;
     if(!hozzaer(ev) && ev.button==btn_left)
diff --git a/widget.h b/widget.h
index fedfd3a..437787a 100644
--- a/widget.h
+++ b/widget.h
@@ -4,7 +4,8 @@
 
 class Palya;
 
-class Widget{
+class Widget
+{
 protected:
     int x,y,w,h;
     Palya* p;
-- 
GitLab