MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / drawVScrollBar

Method drawVScrollBar

Engine/source/gui/containers/guiScrollCtrl.cpp:1087–1208  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1085//-----------------------------------------------------------------------------
1086
1087void GuiScrollCtrl::drawVScrollBar(const Point2I &offset)
1088{
1089 if ( mTextureObject.isNull() )
1090 {
1091 return;
1092 }
1093
1094 // Start Point.
1095 Point2I pos = ( offset + mUpArrowRect.point );
1096
1097 // Up Arrow.
1098 S32 upArrowBitmap = ( BmpStates * BmpUp );
1099 if ( !mVBarEnabled )
1100 {
1101 upArrowBitmap += BmpDisabled;
1102 }
1103 else if ( mHitRegion == UpArrow && mStateDepressed )
1104 {
1105 upArrowBitmap += BmpHilite;
1106 }
1107
1108 // Render Up Arrow.
1109 GFXDrawUtil* drawUtil = GFX->getDrawUtil();
1110 drawUtil->clearBitmapModulation();
1111 drawUtil->drawBitmapSR(mTextureObject, pos, mBitmapBounds[upArrowBitmap]);
1112
1113 // Update Pos.
1114 pos.y += mBitmapBounds[upArrowBitmap].extent.y;
1115
1116 // Track.
1117 S32 trackBitmap = ( BmpStates * BmpVPage );
1118 if ( !mVBarEnabled )
1119 {
1120 trackBitmap += BmpDisabled;
1121 }
1122 else if ( mHitRegion == DownPage && mStateDepressed )
1123 {
1124 trackBitmap += BmpHilite;
1125 }
1126
1127 // Determine the Track Rect.
1128 RectI trackRect;
1129 trackRect.point = pos;
1130 trackRect.extent.x = mBitmapBounds[trackBitmap].extent.x;
1131 trackRect.extent.y = ( offset.y + mDownArrowRect.point.y ) - pos.y;
1132
1133 // Render Track?
1134 if ( trackRect.extent.y > 0 )
1135 {
1136 // Render Track.
1137 drawUtil->clearBitmapModulation();
1138 drawUtil->drawBitmapStretchSR(mTextureObject, trackRect, mBitmapBounds[trackBitmap]);
1139 }
1140
1141 // Update Pos.
1142 pos.y += trackRect.extent.y;
1143
1144 // Down Arrow.

Callers

nothing calls this directly

Calls 5

getDrawUtilMethod · 0.80
clearBitmapModulationMethod · 0.80
drawBitmapSRMethod · 0.80
drawBitmapStretchSRMethod · 0.80
isNullMethod · 0.45

Tested by

no test coverage detected