#include <sequencecurvetrackview.h>
Public Member Functions | |
SequenceCurveTrackView (SequenceGUIService &service, SequenceEditorGUIView &view, SequenceEditorGUIState &state) | |
SequenceCurveTrackView (const SequenceCurveTrackView &)=delete | |
SequenceCurveTrackView & | operator= (const SequenceCurveTrackView &)=delete |
void | handleActions () override |
![]() | |
SequenceTrackView (SequenceEditorGUIView &view, SequenceEditorGUIState &state) | |
virtual | ~SequenceTrackView ()=default |
virtual void | showInspector (const SequenceTrack &track) |
virtual void | showTrack (const SequenceTrack &track) |
Protected Types | |
using | DrawSegmentMemFunPtr = void(SequenceCurveTrackView::*)(const SequenceTrack &track, const SequenceTrackSegment &segment, const ImVec2 &trackTopLeft, float previousSegmentX, float segmentWidth, float segmentX, ImDrawList *drawList, bool drawStartValue) |
Protected Member Functions | |
template<typename T > | |
void | drawSegmentContent (const SequenceTrack &track, const SequenceTrackSegment &segment, const ImVec2 &trackTopLeft, float previousSegmentX, float segmentWidth, float segmentX, ImDrawList *drawList, bool drawStartValue) |
template<typename T > | |
void | drawSegmentValue (const SequenceTrack &track, const SequenceTrackSegment &segment, const ImVec2 &trackTopLeft, float segmentX, float segmentWidth, sequencecurveenums::ESegmentValueTypes segmentType, ImDrawList *drawList) |
void | drawSegmentHandler (const SequenceTrack &track, const SequenceTrackSegment &segment, const ImVec2 &trackTopLeft, float segmentX, float segmentWidth, ImDrawList *drawList) |
template<typename T > | |
void | drawControlPoints (const SequenceTrack &track, const SequenceTrackSegment &segment, const ImVec2 &trackTopLeft, float segmentX, float segmentWidth, ImDrawList *drawList) |
template<typename T > | |
void | drawCurves (const SequenceTrack &track, const SequenceTrackSegment &segment, const ImVec2 &trackTopLeft, float previousSegmentX, float segmentWidth, float segmentX, ImDrawList *drawList) |
template<typename T > | |
void | drawTanHandler (const SequenceTrack &track, const SequenceTrackSegment &segment, std::ostringstream &stringStream, float segmentWidth, const math::FCurvePoint< float, float > &curvePoint, const ImVec2 &circlePoint, int controlPointIndex, int curveIndex, sequencecurveenums::ETanPointTypes type, ImDrawList *drawList) |
void | handleInsertSegmentPopup () |
void | handleEditSegmentPopup () |
void | handleInsertCurvePointPopup () |
template<typename T > | |
void | handleCurvePointActionPopup () |
template<typename T > | |
void | handleSegmentValueActionPopup () |
template<typename T > | |
void | handleChangeMinMaxCurve () |
void | handleDragTanPoint () |
void | handleAssignOutputIDToTrack () |
void | handleDragSegmentHandler () |
void | handleCurveTypePopup () |
void | handleTanPointActionPopup () |
void | handleDraggingSegmentValue () |
void | handleDraggingControlPoints () |
void | handleLoadPresetPopup () |
template<typename T > | |
void | drawInspectorRange (const SequenceTrack &track) |
template<typename T > | |
void | showValue (const SequenceTrack &track, const SequenceTrackSegmentCurve< T > &segment, float x, double time, int curveIndex) |
template<typename T > | |
bool | inputFloat (T &, int precision) |
void | showInspectorContent (const SequenceTrack &track) override |
void | showTrackContent (const SequenceTrack &track, const ImVec2 &trackTopLeft) override |
template<typename T > | |
bool | pasteClipboardSegments (const std::string &trackId, double time, utility::ErrorState &errorState) |
template<typename T > | |
void | pasteClipboardSegmentInto (const std::string &trackID, const std::string &segmentID) |
void | updateSegmentInClipboard (const std::string &trackID, const std::string &segmentID) |
void | updateSegmentsInClipboard (const std::string &trackID) |
template<> | |
void | handleCurvePointActionPopup () |
template<> | |
void | handleSegmentValueActionPopup () |
template<> | |
void | showValue (const SequenceTrack &track, const SequenceTrackSegmentCurve< float > &segment, float x, double time, int curveIndex) |
template<> | |
bool | inputFloat (float &v, int precision) |
![]() | |
void | handleTrackOptionsPopup () |
void | registerActionHandler (const rttr::type &type, const std::function< void()> &handler) |
const SequencePlayer & | getPlayer () |
SequenceEditor & | getEditor () |
Static Protected Member Functions | |
static std::unordered_map< rttr::type, DrawSegmentMemFunPtr > & | getDrawCurveSegmentsMap () |
Protected Attributes | |
std::unordered_map< std::string, std::vector< std::vector< ImVec2 > > > | mCurveCache |
![]() | |
SequenceEditorGUIView & | mView |
SequenceEditorGUIState & | mState |
std::unordered_map< rttr::type, std::function< void()> > | mActionHandlers |
SequenceGUIService & | mService |
Additional Inherited Members | |
![]() | |
static bool | Combo (const char *label, int *currIndex, std::vector< std::string > &values) |
static bool | ListBox (const char *label, int *currIndex, std::vector< std::string > &values) |
static std::string | formatTimeString (double time) |
SequenceCurveTrackView shows and handles contents for curve tracks
|
protected |
SequenceCurveTrackView | ( | SequenceGUIService & | service, |
SequenceEditorGUIView & | view, | ||
SequenceEditorGUIState & | state | ||
) |
Constructor
service | sequence gui service handle |
view | reference to editor view |
state | reference to editor state |
|
delete |
|
protected |
draws control points of curve segment
track | reference to track |
segment | reference to segment |
trackTopLeft | tracks topleft position |
segmentX | segment x position |
segmentWidth | width of segment |
drawList | pointer to window drawlist |
|
protected |
draws curves of segment
T | the type of this segment |
track | reference to track |
segment | reference to segment |
trackTopLeft | topleft position of track |
previousSegmentX | the x position of the previous segment |
segmentWidth | the width of this segment |
segmentX | the x position of this segment |
drawList | pointer to drawlist of this track window |
|
protected |
Draws min/max range of inspector
T | type |
track | reference to track |
|
protected |
draws the contents of a segment
T | the type of this segment |
track | reference to track |
segment | reference to segment |
trackTopLeft | topleft position of track |
previousSegmentX | the x position of the previous segment |
segmentWidth | the width of this segment |
segmentX | the x position of this segment |
drawList | pointer to drawlist of this track window |
drawStartValue | should we draw the start value ? only used in first segment of track |
|
protected |
draws segment handler
track | reference to track |
segment | reference to segment |
trackTopLeft | tracks topleft position |
segmentX | segment x position |
segmentWidth | width of segment |
drawList | pointer to window drawlist |
|
protected |
draws a segments value
T | type of segment |
track | reference to track |
segment | reference to segment |
trackTopLeft | tracks topleft position |
segmentX | segment x position |
segmentWidth | width of segment |
segmentType | type of segment |
drawList | pointer to window drawlist |
|
protected |
draws handlers of curve point
T | type of segment |
track | reference to track |
segment | reference to segment |
stringStream | stringstream, used to keep track of object id |
segmentWidth | width of segment |
curvePoint | reference to curvePoint |
circlePoint | circlePoint position |
controlPointIndex | index of control point |
curveIndex | index of curve |
type | tangent type ( in or out ) |
drawList | pointer to window drawlist |
|
staticprotected |
|
overridevirtual |
Handles any actions
Reimplemented from SequenceTrackView.
|
protected |
handles assigning new object id to track
|
protected |
handles changing of min max values of curve track
|
protected |
handles curvepoint action popup
|
protected |
|
protected |
handles curve type popup
|
protected |
handles dragging of control points
|
protected |
handles dragging of segment values
|
protected |
handle dragging of segment handlers
|
protected |
handles dragging of tan points
|
protected |
handles delete segment popup
|
protected |
handles insert curve point popup
|
protected |
handles insert segment popup
|
protected |
handles loading of popups
|
protected |
handles segment value actions
|
protected |
|
protected |
handles tanpoint action popup
|
protected |
|
protected |
input float that takes type T as input
T | type of inputFloat |
precision | decimal precision |
|
delete |
|
protected |
pastes content of clipboard segment into another segment
trackID | the track id of the track to insert into |
segmentID | the segment id of the segment to replace |
|
protected |
pastes current clipboard as new segments at given time
trackId | the track id of the track to insert into |
time | the time at which to create new segment |
errorState | contains any errors |
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
shows track content
track | reference to track |
trackTopLeft | orientation |
Implements SequenceTrackView.
|
protected |
|
protected |
T | type of value |
track | reference to track |
segment | reference to segment |
x | value to display |
time | time in segment |
curveIndex | curve index |
|
protected |
updates segment in clipboard with contents of segment in track
trackID | the track id of the segment in clipboard |
segmentID | the segment id of the segment in clipboard |
|
protected |
iterates of all segments in clipboard of specified track and updates them with the ones in the specified track
trackID | the track id containing segments in clipboard |
|
protected |