MCPcopy Create free account
hub / github.com/SpartanJ/eepp / onAutoSize

Method onAutoSize

src/eepp/ui/uiscrollbar.cpp:123–184  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

121}
122
123void UIScrollBar::onAutoSize() {
124 if ( mSlider == nullptr )
125 return;
126
127 Sizef size;
128 UISkin* tSkin = mSlider->getBackSlider()->getSkin();
129
130 if ( NULL != tSkin ) {
131 size = tSkin->getSize();
132
133 setMinSize( PixelDensity::pxToDp( size ) );
134
135 if ( mFlags & UI_AUTO_SIZE ) {
136 if ( mSlider->isVertical() ) {
137 mSlider->setSize( size.getWidth(), getSize().getHeight() );
138 setSize( size.getWidth(), getSize().getHeight() );
139 } else {
140 mSlider->setSize( getSize().getWidth(), size.getHeight() );
141 setSize( getSize().getWidth(), size.getHeight() );
142 }
143 }
144 } else if ( NULL != mSlider->getSliderButton() ) {
145 tSkin = mSlider->getSliderButton()->getSkin();
146
147 if ( NULL != tSkin ) {
148 size = tSkin->getSize();
149
150 setMinSize( PixelDensity::pxToDp( size ) );
151
152 if ( mFlags & UI_AUTO_SIZE ) {
153 if ( mSlider->isVertical() ) {
154 setSize( size.getWidth(), getSize().getHeight() );
155 } else {
156 setSize( getSize().getWidth(), size.getHeight() );
157 }
158 }
159 }
160 }
161
162 if ( mWidthPolicy == SizePolicy::WrapContent || mHeightPolicy == SizePolicy::WrapContent ) {
163 size = PixelDensity::dpToPx( mSlider->getSize() ) + mPaddingPx;
164
165 if ( mScrollBarStyle == TwoButtons ) {
166 if ( mSlider->isVertical() ) {
167 size.y +=
168 mBtnDown->getPixelsSize().getHeight() + mBtnUp->getPixelsSize().getHeight();
169 } else {
170 size.x += mBtnDown->getPixelsSize().getWidth() + mBtnUp->getPixelsSize().getWidth();
171 }
172 }
173
174 if ( mWidthPolicy == SizePolicy::WrapContent ) {
175 setInternalPixelsWidth( size.getWidth() );
176 }
177
178 if ( mHeightPolicy == SizePolicy::WrapContent ) {
179 setInternalPixelsHeight( size.getHeight() );
180 }

Callers

nothing calls this directly

Calls 10

setSizeFunction · 0.85
getBackSliderMethod · 0.80
getSliderButtonMethod · 0.80
getSkinMethod · 0.45
getSizeMethod · 0.45
isVerticalMethod · 0.45
setSizeMethod · 0.45
getWidthMethod · 0.45
getHeightMethod · 0.45
getPixelsSizeMethod · 0.45

Tested by

no test coverage detected