mirror of
https://github.com/yse/easy_profiler.git
synced 2024-12-27 00:31:02 +08:00
update #20 - first manual version of histogram boundary control: Shift + Mouse Wheel == adjust top boundary (max duration); Ctrl + Mouse Wheel == adjust bottom boundary (min duration)
This commit is contained in:
parent
973c03f5f5
commit
648930eba8
File diff suppressed because it is too large
Load Diff
@ -126,18 +126,21 @@ public:
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class EasyHystogramItem : public QGraphicsItem
|
||||
class EasyHistogramItem : public QGraphicsItem
|
||||
{
|
||||
typedef QGraphicsItem Parent;
|
||||
typedef EasyHystogramItem This;
|
||||
typedef EasyHistogramItem This;
|
||||
|
||||
enum HystRegime : uint8_t { Hyst_Pointer, Hyst_Id };
|
||||
|
||||
QRectF m_boundingRect;
|
||||
qreal m_topDuration;
|
||||
qreal m_bottomDuration;
|
||||
qreal m_maxDuration;
|
||||
qreal m_minDuration;
|
||||
QString m_maxDurationStr;
|
||||
QString m_minDurationStr;
|
||||
qreal m_mouseY;
|
||||
QString m_topDurationStr;
|
||||
QString m_bottomDurationStr;
|
||||
QString m_threadName;
|
||||
::profiler::BlocksTree::children_t m_selectedBlocks;
|
||||
QImage m_mainImage;
|
||||
@ -154,14 +157,14 @@ class EasyHystogramItem : public QGraphicsItem
|
||||
int m_timeouts;
|
||||
::profiler_gui::TimeUnits m_timeUnits;
|
||||
HystRegime m_regime;
|
||||
bool m_bUpdatingImage;
|
||||
bool m_bPermitImageUpdate; ///< Is false when m_workerThread is parsing input dataset (when setSource(_block_id) is called)
|
||||
::profiler_gui::spin_lock m_spin;
|
||||
::std::atomic_bool m_bReady;
|
||||
|
||||
public:
|
||||
|
||||
explicit EasyHystogramItem();
|
||||
virtual ~EasyHystogramItem();
|
||||
explicit EasyHistogramItem();
|
||||
virtual ~EasyHistogramItem();
|
||||
|
||||
// Public virtual methods
|
||||
|
||||
@ -182,8 +185,18 @@ public:
|
||||
void validateName();
|
||||
void updateImage();
|
||||
|
||||
void increaseTopBoundary();
|
||||
void decreaseTopBoundary();
|
||||
|
||||
void increaseBottomBoundary();
|
||||
void decreaseBottomBoundary();
|
||||
|
||||
void setMouseY(qreal _mouseY);
|
||||
|
||||
private:
|
||||
|
||||
void paintBusyIndicator(QPainter* _painter, qreal _current_scale);
|
||||
void paintMouseIndicator(QPainter* _painter, qreal _top, qreal _bottom, qreal _width, qreal _height, qreal _top_width, qreal _mouse_y, qreal _delta_time, int _font_h);
|
||||
void paintByPtr(QPainter* _painter);
|
||||
void paintById(QPainter* _painter);
|
||||
void onTimeout();
|
||||
@ -192,7 +205,7 @@ private:
|
||||
qreal _value, qreal _width, bool _bindMode,
|
||||
float _frame_time, ::profiler::timestamp_t _begin_time);
|
||||
|
||||
}; // END of class EasyHystogramItem.
|
||||
}; // END of class EasyHistogramItem.
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@ -213,7 +226,7 @@ private:
|
||||
Qt::MouseButtons m_mouseButtons;
|
||||
EasyGraphicsSliderItem* m_slider;
|
||||
EasyGraphicsSliderItem* m_chronometerIndicator;
|
||||
EasyHystogramItem* m_hystogramItem;
|
||||
EasyHistogramItem* m_histogramItem;
|
||||
int m_defaultFontHeight;
|
||||
bool m_bScrolling;
|
||||
bool m_bBindMode;
|
||||
|
@ -67,7 +67,7 @@ namespace profiler_gui {
|
||||
, blocks_size_min(2)
|
||||
, blocks_narrow_size(20)
|
||||
, chrono_text_position(ChronoTextPosition_Center)
|
||||
, time_units(TimeUnits_auto)
|
||||
, time_units(TimeUnits_ms)
|
||||
, connected(false)
|
||||
, use_decorated_thread_name(true)
|
||||
, enable_event_indicators(true)
|
||||
|
@ -141,7 +141,7 @@ namespace profiler_gui {
|
||||
::profiler::thread_id_t selected_thread; ///< Current selected thread id
|
||||
::profiler::block_index_t selected_block; ///< Current selected profiler block index
|
||||
::profiler::block_id_t selected_block_id; ///< Current selected profiler block id
|
||||
float frame_time; ///< Value in microseconds to be displayed at minimap on graphics scrollbar
|
||||
float frame_time; ///< Expected frame time value in microseconds to be displayed at minimap on graphics scrollbar
|
||||
int blocks_spacing; ///< Minimum blocks spacing on diagram
|
||||
int blocks_size_min; ///< Minimum blocks size on diagram
|
||||
int blocks_narrow_size; ///< Width indicating narrow blocks
|
||||
|
@ -501,7 +501,7 @@ EasyMainWindow::EasyMainWindow() : Parent(), m_lastAddress("localhost"), m_lastP
|
||||
toolbar->setContentsMargins(1, 0, 1, 0);
|
||||
toolbar->setMinimumHeight(tb_height);
|
||||
|
||||
lbl = new QLabel("Frame time:", toolbar);
|
||||
lbl = new QLabel("Expected frame time:", toolbar);
|
||||
lbl->setContentsMargins(5, 2, 2, 2);
|
||||
toolbar->addWidget(lbl);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user