class_docstr: GraphicsItem displaying unscaled text (the text will always appear normal even inside a scaled ViewBox). 
code: def paint(self, p, *args):
      # this is not ideal because it requires the transform to be updated at every draw.
      # ideally, we would have a sceneTransformChanged event to react to..
      s = self.scene()
      ls = self._lastScene
      if s is not ls:
          if ls is not None:
              ls.sigPrepareForPaint.disconnect(self.updateTransform)
          self._lastScene = s
          if s is not None:
              s.sigPrepareForPaint.connect(self.updateTransform)
          self.updateTransform()
          p.setTransform(self.sceneTransform())
  
      if (
          self.border.style() != QtCore.Qt.PenStyle.NoPen
          or self.fill.style() != QtCore.Qt.BrushStyle.NoBrush
      ):
          p.setPen(self.border)
          p.setBrush(self.fill)
          p.setRenderHint(p.RenderHint.Antialiasing, True)
          p.drawPolygon(
              self.textItem.mapToParent(self.textItem.boundingRect())
          )
  
imports: from math import atan2, degrees
  from ..None import functions
  from ..Point import Point
  from ..Qt import QtCore, QtGui, QtWidgets
  from .GraphicsObject import GraphicsObject
label_desc: Use image node_id 16 for calling the TextItem obj's underlying member method code with example usage: obj.paint(p) without return types