Make `.paint()` method always the last
							parent
							
								
									f269fe9732
								
							
						
					
					
						commit
						d0bad2e98e
					
				|  | @ -186,8 +186,8 @@ class BarItems(pg.GraphicsObject): | ||||||
|     ) -> None: |     ) -> None: | ||||||
|         super().__init__() |         super().__init__() | ||||||
| 
 | 
 | ||||||
|         # XXX: for the mega-lulz increasing width here increases draw latency... |         # XXX: for the mega-lulz increasing width here increases draw | ||||||
|         # so probably don't do it until we figure that out. |         # latency...  so probably don't do it until we figure that out. | ||||||
|         self.bars_pen = pg.mkPen(hcolor(pen_color), width=1) |         self.bars_pen = pg.mkPen(hcolor(pen_color), width=1) | ||||||
|         self.last_bar_pen = pg.mkPen(hcolor(last_bar_color), width=2) |         self.last_bar_pen = pg.mkPen(hcolor(last_bar_color), width=2) | ||||||
| 
 | 
 | ||||||
|  | @ -356,31 +356,6 @@ class BarItems(pg.GraphicsObject): | ||||||
|         if flip_cache: |         if flip_cache: | ||||||
|             self.setCacheMode(QtWidgets.QGraphicsItem.DeviceCoordinateCache) |             self.setCacheMode(QtWidgets.QGraphicsItem.DeviceCoordinateCache) | ||||||
| 
 | 
 | ||||||
|     def paint( |  | ||||||
|         self, |  | ||||||
|         p: QtGui.QPainter, |  | ||||||
|         opt: QtWidgets.QStyleOptionGraphicsItem, |  | ||||||
|         w: QtWidgets.QWidget |  | ||||||
|     ) -> None: |  | ||||||
| 
 |  | ||||||
|         profiler = pg.debug.Profiler(disabled=not pg_profile_enabled()) |  | ||||||
| 
 |  | ||||||
|         # p.setCompositionMode(0) |  | ||||||
| 
 |  | ||||||
|         # TODO: one thing we could try here is pictures being drawn of |  | ||||||
|         # a fixed count of bars such that based on the viewbox indices we |  | ||||||
|         # only draw the "rounded up" number of "pictures worth" of bars |  | ||||||
|         # as is necesarry for what's in "view". Not sure if this will |  | ||||||
|         # lead to any perf gains other then when zoomed in to less bars |  | ||||||
|         # in view. |  | ||||||
|         p.setPen(self.last_bar_pen) |  | ||||||
|         p.drawLines(*tuple(filter(bool, self._last_bar_lines))) |  | ||||||
|         profiler('draw last bar') |  | ||||||
| 
 |  | ||||||
|         p.setPen(self.bars_pen) |  | ||||||
|         p.drawPath(self.path) |  | ||||||
|         profiler('draw history path') |  | ||||||
| 
 |  | ||||||
|     def boundingRect(self): |     def boundingRect(self): | ||||||
|         # Qt docs: https://doc.qt.io/qt-5/qgraphicsitem.html#boundingRect |         # Qt docs: https://doc.qt.io/qt-5/qgraphicsitem.html#boundingRect | ||||||
| 
 | 
 | ||||||
|  | @ -424,3 +399,28 @@ class BarItems(pg.GraphicsObject): | ||||||
|             ) |             ) | ||||||
| 
 | 
 | ||||||
|         ) |         ) | ||||||
|  | 
 | ||||||
|  |     def paint( | ||||||
|  |         self, | ||||||
|  |         p: QtGui.QPainter, | ||||||
|  |         opt: QtWidgets.QStyleOptionGraphicsItem, | ||||||
|  |         w: QtWidgets.QWidget | ||||||
|  |     ) -> None: | ||||||
|  | 
 | ||||||
|  |         profiler = pg.debug.Profiler(disabled=not pg_profile_enabled()) | ||||||
|  | 
 | ||||||
|  |         # p.setCompositionMode(0) | ||||||
|  | 
 | ||||||
|  |         # TODO: one thing we could try here is pictures being drawn of | ||||||
|  |         # a fixed count of bars such that based on the viewbox indices we | ||||||
|  |         # only draw the "rounded up" number of "pictures worth" of bars | ||||||
|  |         # as is necesarry for what's in "view". Not sure if this will | ||||||
|  |         # lead to any perf gains other then when zoomed in to less bars | ||||||
|  |         # in view. | ||||||
|  |         p.setPen(self.last_bar_pen) | ||||||
|  |         p.drawLines(*tuple(filter(bool, self._last_bar_lines))) | ||||||
|  |         profiler('draw last bar') | ||||||
|  | 
 | ||||||
|  |         p.setPen(self.bars_pen) | ||||||
|  |         p.drawPath(self.path) | ||||||
|  |         profiler('draw history path') | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue