virtual bool HandleInputEvent(const pp::InputEvent &event) { if (event.GetType() == PP_INPUTEVENT_TYPE_MOUSEMOVE) { pp::MouseInputEvent ev(event); Point p = ev.GetPosition(); for (int dy = -4; dy <= 4; dy++) { int y = p.y() + dy; if (y < MARGIN) y = MARGIN; if (y > HEIGHT - MARGIN - 1) y = HEIGHT - MARGIN - 1; for (int dx = -4; dx <= 4; dx++) { int x = p.x() + dx; if (x < MARGIN) x = MARGIN; if (x > WIDTH - MARGIN - 1) x = WIDTH - MARGIN - 1; if (dx*dx + dy*dy < 4*4) { uint32_t col; switch (rand() & 3) { case 0: col = 0x000000ff; break; case 1: col = 0x0000ffff; break; case 2: col = 0x00ff00ff; break; case 3: col = 0xff0000ff; } Point q(x, y); *(im1.GetAddr32(q)) = col; *(im2.GetAddr32(q)) = col; } } } return true; } return false; }