Skip to content

Instantly share code, notes, and snippets.

@sergey-shambir
Created July 11, 2016 16:33
Show Gist options
  • Save sergey-shambir/23cb810b65a97ed54c4ed2bd1889297a to your computer and use it in GitHub Desktop.
Save sergey-shambir/23cb810b65a97ed54c4ed2bd1889297a to your computer and use it in GitHub Desktop.
/// Примерный набросок применения указателей на функции и void*
// для разделения функций шагов анимации и конкретного "рецепта" цельной анимации
// структурирует данные для функции doMoveStep
struct MoveData
{
float x;
float y;
};
// реализует применение функции шага анимации к сцене
void animate(ANIMATION_FN fn, void *data);
void doMoveStep(Scene *scene, void *opaqueData)
{
MoveData *data = reinterpret_cast<MoveData *>(opaqueData);
// .. код пропущен
}
void runAnimations()
{
// .. код пропущен
MoveData *data = new MoveData;
data->x = 10;
animate(doMoveStep, data);
// .. код пропущен
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment