1 #ifndef DALI_INTERNAL_ADAPTOR_FRAME_TIME_STAMP_H
2 #define DALI_INTERNAL_ADAPTOR_FRAME_TIME_STAMP_H
5 * Copyright (c) 2019 Samsung Electronics Co., Ltd.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
34 * Simple structure to hold information about an event in time
35 * within Dali. For example when rendering started.
40 static const unsigned int BUFFER_NOT_USED = 2; ///< no index buffer was used
49 * @param frame the frame number
50 * @param microseconds the time from a monotonic clock
51 * @param bufferIndex double buffered index used for performing an update / render
53 FrameTimeStamp( unsigned int frame, uint64_t microseconds, unsigned int bufferIndex = BUFFER_NOT_USED );
57 * @param bufferIndex double buffered index used for performing an update / render
59 FrameTimeStamp( unsigned int bufferIndex );
62 * @param start start time
64 * @return difference in microseconds between two time stamps
66 static unsigned int MicrosecondDiff( const FrameTimeStamp& start,const FrameTimeStamp& end );
68 unsigned int frame; ///< Frame number ( not always available)
69 uint64_t microseconds; ///< Microsecond time stamp
70 unsigned int bufferIndex; ///< The double buffered index used for performing an update / render
72 } // namespace Adaptor
74 } // namespace Internal
78 #endif // DALI_INTERNAL_ADAPTOR_FRAME_TIME_STAMP_H