#include "ccu.h" #include "dnn.h" #include #include "Loop.h" #include "Disposable.h" #if 0 #if 0 class A { public: void foo (DnnEvent&); }; main () { A a; DnnReactionOf 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