Source code for RWESharp.Renderable.RenderText
from RWESharp.Renderable.Renderable import Renderable
from PySide6.QtCore import QRect, Qt, QPointF, QRectF
from PySide6.QtWidgets import QGraphicsTextItem
from PySide6.QtGui import QColor, QPen, QBrush
[docs]
class RenderText(Renderable):
[docs]
def __init__(self, module, depth, text: str, color: QColor, add_renderable: bool = True):
super().__init__(module, depth, False)
self.text = text
self.drawtext = QGraphicsTextItem(self.text)
self.color = color
self.drawtext.setZValue(self.depth)
self.drawtext.setDefaultTextColor(color)
if add_renderable:
module.add_renderable(self)
[docs]
def init_graphics(self, viewport):
super().init_graphics(viewport)
viewport.workscene.addItem(self.drawtext)
[docs]
def remove_graphics(self, viewport):
super().remove_graphics(viewport)
viewport.workscene.removeItem(self.drawtext)
[docs]
def move_event(self):
super().move_event()
self.drawtext.setPos(self.actual_offset)
[docs]
def zoom_event(self):
self.drawtext.setScale(self.zoom * self.scale)
[docs]
def setOpacity(self, opacity):
super().setOpacity(opacity)
self.drawtext.setOpacity(self.opacity)
[docs]
def setPos(self, pos: QPointF):
super().setPos(pos)
self.drawtext.setPos(self.actual_offset)