Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Tetragramm
GitHub Repository: Tetragramm/opencv
Path: blob/master/modules/highgui/test/test_gui.cpp
16354 views
1
/*M///////////////////////////////////////////////////////////////////////////////////////
2
//
3
// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
4
//
5
// By downloading, copying, installing or using the software you agree to this license.
6
// If you do not agree to this license, do not download, install,
7
// copy or use the software.
8
//
9
//
10
// License Agreement
11
// For Open Source Computer Vision Library
12
//
13
// Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
14
// Copyright (C) 2009, Willow Garage Inc., all rights reserved.
15
// Third party copyrights are property of their respective owners.
16
//
17
// Redistribution and use in source and binary forms, with or without modification,
18
// are permitted provided that the following conditions are met:
19
//
20
// * Redistribution's of source code must retain the above copyright notice,
21
// this list of conditions and the following disclaimer.
22
//
23
// * Redistribution's in binary form must reproduce the above copyright notice,
24
// this list of conditions and the following disclaimer in the documentation
25
// and/or other materials provided with the distribution.
26
//
27
// * The name of the copyright holders may not be used to endorse or promote products
28
// derived from this software without specific prior written permission.
29
//
30
// This software is provided by the copyright holders and contributors "as is" and
31
// any express or implied warranties, including, but not limited to, the implied
32
// warranties of merchantability and fitness for a particular purpose are disclaimed.
33
// In no event shall the Intel Corporation or contributors be liable for any direct,
34
// indirect, incidental, special, exemplary, or consequential damages
35
// (including, but not limited to, procurement of substitute goods or services;
36
// loss of use, data, or profits; or business interruption) however caused
37
// and on any theory of liability, whether in contract, strict liability,
38
// or tort (including negligence or otherwise) arising in any way out of
39
// the use of this software, even if advised of the possibility of such damage.
40
//
41
//M*/
42
43
#include "test_precomp.hpp"
44
45
namespace opencv_test { namespace {
46
47
#if defined HAVE_GTK || defined HAVE_QT || defined HAVE_WIN32UI || defined HAVE_CARBON || defined HAVE_COCOA
48
49
class CV_HighGuiOnlyGuiTest : public cvtest::BaseTest
50
{
51
protected:
52
void run(int);
53
};
54
55
static void Foo(int /*k*/, void* /*z*/) {}
56
57
void CV_HighGuiOnlyGuiTest::run( int /*start_from */)
58
{
59
ts->printf(ts->LOG, "GUI 0\n");
60
destroyAllWindows();
61
62
ts->printf(ts->LOG, "GUI 1\n");
63
namedWindow("Win");
64
65
ts->printf(ts->LOG, "GUI 2\n");
66
Mat m(256, 256, CV_8U);
67
m = Scalar(128);
68
69
ts->printf(ts->LOG, "GUI 3\n");
70
imshow("Win", m);
71
72
ts->printf(ts->LOG, "GUI 4\n");
73
int value = 50;
74
75
ts->printf(ts->LOG, "GUI 5\n");
76
createTrackbar( "trackbar", "Win", &value, 100, Foo, &value);
77
78
ts->printf(ts->LOG, "GUI 6\n");
79
getTrackbarPos( "trackbar", "Win" );
80
81
ts->printf(ts->LOG, "GUI 7\n");
82
waitKey(500);
83
84
ts->printf(ts->LOG, "GUI 8\n");
85
Rect rc = getWindowImageRect("Win");
86
std::cout << "window image rect: " << rc << std::endl;
87
88
ts->printf(ts->LOG, "GUI 9\n");
89
destroyAllWindows();
90
ts->set_failed_test_info(cvtest::TS::OK);
91
}
92
93
TEST(Highgui_GUI, regression) { CV_HighGuiOnlyGuiTest test; test.safe_run(); }
94
95
#endif
96
97
}} // namespace
98
99