Dialog waypoints appear on the Dialogs track of the timeline.
Dialog waypoints should include any dialog or palette that the user explicitly opens or closes. Use the appropriate API function depending on whether it is a modal or modeless dialog.
#include <Chronicle/Chronicle.h> // Create the waypoint when the modal dialog is opened const wchar_t *dialogTitle = L"Insert"; Chronicle::Rectangle dialogRect(64, 128, 320, 240); // In screen coordinates Chronicle::Waypoint *waypoint = Chronicle::Facade::Waypoints::modalDialogOpened(dialogTitle, dialogRect); // ... modal dialog session happens ... // When the modal dialog is about to close, record the changed dialog items/controls const wchar_t *itemName = L"Explode"; bool itemNewValue = true; bool itemOldValue = false; Chronicle::Rectangle itemRect(16, 200, 80, 20); // In dialog coordinates Chronicle::Facade::Waypoints::modalDialogItemChanged(waypoint, itemName, itemNewValue, itemOldValue, itemRect); // ... record the other changed items/controls ... // When the modal dialog closes, record the closure and then finally report the waypoint Chronicle::Facade::Waypoints::modalDialogClosed(waypoint); Chronicle::Error err = Chronicle::Facade::waypointReached(waypoint);
#include <Chronicle/Chronicle.h> const wchar_t *dialogTitle = L"Layers"; Chronicle::Rectangle dialogRect(800, 100, 160, 480); // In screen coordinates Chronicle::Waypoint *waypoint; Chronicle::Error err; // Whenever the modeless dialog is opened waypoint = Chronicle::Facade::Waypoints::modelessDialogOpened(dialogTitle, dialogRect); err = Chronicle::Facade::waypointReached(waypoint); // Whenever an item/control in the modeless dialog changes value const wchar_t *itemName = L"Transparency"; float itemNewValue = 1.0f; float itemOldValue = 0.25f; Chronicle::Rectangle itemRect(8, 460, 64, 20); // In dialog coordinates waypoint = Chronicle::Facade::Waypoints::modelessDialogItemChanged(dialogTitle, itemName, itemNewValue, itemOldValue, dialogRect, itemRect); // Whenever the modeless dialog is closed waypoint = Chronicle::Facade::Waypoints::modelessDialogClosed(dialogTitle); err = Chronicle::Facade::waypointReached(waypoint);