version 2.1.0_beta

Graphic first LOD optimization try, now works only on setGraphicData
This commit is contained in:
2021-03-11 00:25:36 +03:00
parent b2ce43a6ef
commit b14a48da6e
5 changed files with 94 additions and 30 deletions

View File

@@ -97,6 +97,7 @@ class QAD_GRAPHIC_EXPORT Graphic: public QFrame
Q_PROPERTY(bool onlyExpandY READ onlyExpandY WRITE setOnlyExpandY)
Q_PROPERTY(bool onlyExpandX READ onlyExpandX WRITE setOnlyExpandX)
Q_PROPERTY(bool gesturesNavigation READ gesturesNavigation WRITE setGesturesNavigation)
Q_PROPERTY(bool LODOptimization READ LODOptimization WRITE setLODOptimization)
Q_PROPERTY(double historySize READ historySize WRITE setHistorySize)
Q_PROPERTY(double maxVisibleTime READ maxVisibleTime WRITE setMaxVisibleTime)
Q_PROPERTY(double autoXIncrement READ autoXIncrement WRITE setAutoXIncrement)
@@ -181,6 +182,7 @@ public:
bool onlyExpandY() const {return only_expand_y;}
bool onlyExpandX() const {return only_expand_x;}
bool gesturesNavigation() const {return gestures;}
bool LODOptimization() const {return m_LODOptimization;}
bool isAutofitted() const {return isFit;}
int currentGraphic() const {return curGraphic;}
int currentTraceGraphic() const {return curTrace;}
@@ -262,6 +264,7 @@ public slots:
void setSelectionPen(const QPen & pen) {selpen = pen;}
void setSelectionBrush(const QBrush & brush) {selbrush = brush;}
void setNavigationEnabled(bool on) {navigation = on;}
void setLODOptimization(bool yes) {m_LODOptimization = yes;}
void setOpenGL(bool on);
void setAntialiasing(bool enabled);
void setAutoUpdate(bool enabled) {aupdate = enabled;}
@@ -331,6 +334,7 @@ public slots:
void zoomOut() {zoom(1.2);}
void fullscreen();
protected:
virtual void changeEvent(QEvent * e);
virtual void resizeEvent(QResizeEvent * );
@@ -345,6 +349,7 @@ protected:
void setCurrentAction(GraphicAction action);
void findGraphicsRect(double start_x = 0., double end_x = 0., double start_y = 0., double end_y = 0.);
void tick(int index, bool slide = true, bool update = true);
void calcLOD(int index);
void repaintCanvas(bool force = false) {if (tm.elapsed() < min_repaint_int && !force) return; tm.restart(); canvas->update();}
void drawGraphics();
void drawGrid();
@@ -401,7 +406,7 @@ protected:
double gridx, gridy, history, visible_time, inc_x, grid_numbers_x, grid_numbers_y, LN10;
double eminx, eminy, emaxx, emaxy, pause_phase, gesture_angle;
int lastw, lasth, min_repaint_int, timer_pause, thick;
bool aalias, aupdate, grid, guides, isFit, isOGL, isHover, bufferActive, cancel, pause_, gestures;
bool aalias, aupdate, grid, guides, isFit, isOGL, isHover, bufferActive, cancel, pause_, gestures, m_LODOptimization;
bool hasLblX, hasLblY, navigation, only_expand_y, only_expand_x, is_lines_update, leg_update, visible_update, fullscr, need_mouse_pan;
protected slots: