@Miki, why can't I use my buttons interchangeably? How to fix it? I mean, I want to use them at the same time.
EDIT: I fixed it myself. No need for help. :)
#include <opencv2\opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
Mat3b canvas;
string buttonText("Nacisnij guzik!");
string buttonText2("Nacisnij guzik NR2!");
string winName = "PokerGui";
int a = 0;
Rect button, button2;
void callBackFunc(int event, int x, int y, int flags, void* userdata)
{
if (event == EVENT_LBUTTONDOWN)
{
if (button.contains(Point(x, y)))
{
a = a + 7;
cout << "Nacisnales guzik!\n" << endl;
printf("liczba = %i\n", a);
rectangle(canvas(button), button, Scalar(0, 0, 255), 2);
}
else if (button2.contains(Point(x, y)))
{
cout << "Nacisnales guzik NR2!\n" << endl;
rectangle(canvas(button2), button, Scalar(0, 0, 255), 2);
}
}
imshow(winName, canvas);
waitKey(1);
}
void callBackFunc2(int event, int x, int y, int flags, void* userdata)
{
if (event == EVENT_LBUTTONDOWN)
{
if (button2.contains(Point(x, y)))
{
cout << "Nacisnales guzik NR2!\n" << endl;
rectangle(canvas(button2), button, Scalar(0, 0, 255), 2);
}
}
imshow(winName, canvas);
waitKey(1);
}
int main()
{
Mat3b img(300, 300, Vec3b(0, 255, 0));
button = Rect(0, 0, img.cols, 50);
button2 = Rect(0, 60, img.cols, 50);
canvas = Mat3b(img.rows + button.height, img.cols, Vec3b(0, 0, 0));
canvas(button) = Vec3b(200, 200, 200);
canvas(button2) = Vec3b(200, 200, 200);
putText(canvas(button), buttonText, Point(button.width*0.35, button.height*0.7), FONT_HERSHEY_PLAIN, 1, Scalar(0, 0, 0));
putText(canvas(button2), buttonText2, Point(button.width*0.25, button.height*0.7), FONT_HERSHEY_PLAIN, 1, Scalar(0, 0, 0));
namedWindow(winName);
setMouseCallback(winName, callBackFunc);
imshow(winName, canvas);
waitKey();
return 0;
}