summaryrefslogtreecommitdiff
path: root/dnn
diff options
context:
space:
mode:
authorchatty2000-11-28 14:52:15 +0000
committerchatty2000-11-28 14:52:15 +0000
commit7d3a3c409c6492db6a3caabc7e9037b79ae7422d (patch)
tree5e6fba4cb2b41f7570ba6b8ec912a30f8558f65d /dnn
parent343e64cc2c838496ccb07ab7bd58e618cc75036c (diff)
downloadivy-league-7d3a3c409c6492db6a3caabc7e9037b79ae7422d.zip
ivy-league-7d3a3c409c6492db6a3caabc7e9037b79ae7422d.tar.gz
ivy-league-7d3a3c409c6492db6a3caabc7e9037b79ae7422d.tar.bz2
ivy-league-7d3a3c409c6492db6a3caabc7e9037b79ae7422d.tar.xz
More complex tests
Diffstat (limited to 'dnn')
-rw-r--r--dnn/test.cc75
1 files changed, 75 insertions, 0 deletions
diff --git a/dnn/test.cc b/dnn/test.cc
index e4c1b25..2697f1f 100644
--- a/dnn/test.cc
+++ b/dnn/test.cc
@@ -1,5 +1,12 @@
+#include "ccu.h"
#include "dnn.h"
+#include <stdio.h>
+#include "Loop.h"
+#include "Disposable.h"
+
+#if 0
+#if 0
class A {
public:
void foo (DnnEvent&);
@@ -10,3 +17,71 @@ main ()
A a;
DnnReactionOf <A> r (a, &A::foo);
}
+
+#else
+
+DnnEventFeature evf [] = {{"X", sizeof (int)}, {"Y", sizeof (int)}};
+DnnEventType click ("click", 2, evf);
+
+class DnnClickEvent : public DnnEvent {
+public:
+ int X, Y;
+ inline DnnClickEvent (int x, int y) : DnnEvent (&click, false), X (x), Y (y) {}
+ inline void SetX (int x) { X = x; }
+ inline void SetY (int y) { Y = y; }
+ inline int GetX () const { return X; }
+ inline int GetY () const { return Y; }
+};
+
+main ()
+{
+ DnnEvent ev (&click);
+ int x = 3, y = 5;
+ ev.SetFeature (0, &x);
+ ev.SetFeature (1, &y);
+ int x2, y2;
+ ev.GetFeature (0, &x2);
+ ev.GetFeature (1, &y2);
+ printf ("(%d, %d)\n", x2, y2);
+ DnnClickEvent ev2 (3, 5);
+ int x22, y22;
+ ev.GetFeature (0, &x22);
+ ev.GetFeature (1, &y22);
+ printf ("(%d, %d)\n", x22, y22);
+
+}
+
+#endif
+#else
+
+class A : public DnnDisposable {
+public:
+ A () { printf ("A::A\n"); }
+ ~A () { printf ("A::~A\n"); }
+};
+
+A* a;
+
+void
+foo ()
+{
+ static int i = 0;
+ printf ("%d\n", i);
+ if (i >= 5) {
+ a->Trash ();
+ DnnStop ();
+ }
+ i++;
+}
+
+
+main ()
+{
+ DnnOpen ();
+ a = new A;
+ DnnMpx->AddHook (foo);
+ DnnLoop ();
+ DnnClose ();
+}
+
+#endif