MCPcopy Create free account
hub / github.com/baldurk/renderdoc / RichResourceTextMouseEvent

Function RichResourceTextMouseEvent

qrenderdoc/Code/QRDUtils.cpp:1009–1231  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1007}
1008
1009bool RichResourceTextMouseEvent(const QWidget *owner, const QVariant &var, QRect rect,
1010 const QFont &font, QMouseEvent *event)
1011{
1012 // only process clicks or moves
1013 if(event->type() != QEvent::MouseButtonRelease && event->type() != QEvent::MouseMove)
1014 return false;
1015
1016 // only process left button clicks
1017 if(event->type() == QEvent::MouseButtonRelease && event->button() != Qt::LeftButton)
1018 return false;
1019
1020 // special case handling for ResourceId/GPUAddress on its own
1021 if(var.userType() == qMetaTypeId<ResourceId>() || var.userType() == qMetaTypeId<GPUAddressPtr>())
1022 {
1023 ResourceId id;
1024 GPUAddressPtr ptr;
1025 const ICaptureContext *ctxptr = NULL;
1026
1027 if(var.userType() == qMetaTypeId<ResourceId>())
1028 {
1029 id = var.value<ResourceId>();
1030
1031 // empty resource ids are not clickable or hover-highlighted.
1032 if(id == ResourceId())
1033 return false;
1034 }
1035
1036 if(var.userType() == qMetaTypeId<GPUAddressPtr>())
1037 {
1038 ptr = var.value<GPUAddressPtr>();
1039
1040 ptr->cacheAddress(owner);
1041
1042 // NULL or unknown addresses also are not clickable
1043 if(ptr->val.pointer == 0 || ptr->base == ResourceId())
1044 return false;
1045 }
1046
1047 QFont f = font;
1048 f.setBold(true);
1049
1050 static const int margin = RichResourceTextMargin;
1051
1052 rect.adjust(margin, 0, -margin * 2, 0);
1053
1054 QString name;
1055
1056 if(var.userType() == qMetaTypeId<ResourceId>())
1057 {
1058 ctxptr = getCaptureContext(owner);
1059
1060 if(ctxptr)
1061 name = GetTruncatedResourceName(*ctxptr, id);
1062 else
1063 name = ToQStr(id);
1064 }
1065 else
1066 {

Callers 4

editorEventMethod · 0.85
linkHoverMethod · 0.85
mouseReleaseEventMethod · 0.85
mouseMoveEventMethod · 0.85

Calls 15

getCaptureContextFunction · 0.85
GetTruncatedResourceNameFunction · 0.85
cacheAddressMethod · 0.80
boundingRectMethod · 0.80
devicePixelRatioMethod · 0.80
InspectMethod · 0.80
cacheDocumentMethod · 0.80
topLeftMethod · 0.80
ToQStrFunction · 0.70
ResourceIdFunction · 0.50
QFontMetricsClass · 0.50
QPointClass · 0.50

Tested by

no test coverage detected