int main() { LOGT("=====TestSubject====="); Subject<int> observee; A observerA; B observerB; D observerD; F observerF; Delegate<void, int> d[6]; d[0] = Delegate<void, int>(foo); d[1] = Delegate<void, int>(observerA, &A::foo); d[2] = Delegate<void, int>(observerB, &B::foo); d[3] = Delegate<void, int>(observerD, &D::foo); d[4] = Delegate<void, int>(E::foo); d[5] = Delegate<void, int>(observerF, &F::foo); for (int i = 0; i < 6; ++i) observee.add(&d[i]); observee.notify(101); LOGT("=====TestObserver====="); Store storeA('A'); Store storeB('B'); Store storeC('C'); Price price; price.add(&storeA); price.add(&storeB); price.add(&storeC); price.notify(); return 0; }
void TGAImage::setA( int lod, int i, int j, int v ) { int w = getLODwidth(lod); storeA( lodData[lod] + BPP * ( j * w + i ), v ); }