void Prop2D::onTrack( RemoteHead *rh, Prop2D *parentprop ) { if( !tracker ) { tracker = new Tracker2D(rh,this); } tracker->scanProp2D(parentprop); tracker->broadcastDiff( false ); tracker->flipCurrentBuffer(); // grids for(int i=0;i<grid_used_num;i++) { Grid *g = grids[i]; if(!g->tracker) g->tracker = new TrackerGrid(rh,g); g->tracker->scanGrid(); g->tracker->broadcastDiff(this, false ); g->tracker->flipCurrentBuffer(); } // shader if(fragment_shader) { ColorReplacerShader *crs = dynamic_cast<ColorReplacerShader*>(fragment_shader); if(crs) { crs->onTrack(rh); } } // prims if( prim_drawer ) { prim_drawer->onTrack(this,rh); } // dynamic image if( deck && deck->tex && deck->tex->image ) { deck->tex->image->onTrack( deck, rh ); } // children for(int i=0;i<children_num;i++) { Prop2D *p = (Prop2D*) children[i]; p->onTrack( rh, this ); } }