// static void LLPreviewGesture::onClickPreview(void* data) { LLPreviewGesture* self = (LLPreviewGesture*)data; if (!self->mPreviewGesture) { // make temporary gesture self->mPreviewGesture = self->createGesture(); // add a callback self->mPreviewGesture->mDoneCallback = onDonePreview; self->mPreviewGesture->mCallbackData = self; // set the button title self->mPreviewBtn->setLabel(self->getString("stop_txt")); // play it, and delete when done gGestureManager.playGesture(self->mPreviewGesture); self->refresh(); } else { // Will call onDonePreview() below gGestureManager.stopGesture(self->mPreviewGesture); self->refresh(); } }
// static void LLPreviewGesture::onDonePreview(LLMultiGesture* gesture, void* data) { LLPreviewGesture* self = (LLPreviewGesture*)data; self->mPreviewBtn->setLabel(self->getString("preview_txt")); delete self->mPreviewGesture; self->mPreviewGesture = NULL; self->refresh(); }