void AwtScrollbar::_SetValues(void *param) { JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2); SetValuesStruct *svs = (SetValuesStruct *)param; jobject self = svs->scrollbar; SCROLLINFO si; si.cbSize = sizeof si; si.fMask = SIF_POS | SIF_PAGE | SIF_RANGE; si.nMin = svs->min; si.nMax = svs->max - 1; si.nPage = svs->visible; si.nPos = svs->value; AwtScrollbar *sb = NULL; PDATA pData; JNI_CHECK_PEER_GOTO(self, ret); sb = (AwtScrollbar *)pData; if (::IsWindow(sb->GetHWnd())) { BOOL update_p = ::IsWindowEnabled(sb->GetHWnd()); // don't redraw if disabled DTRACE_PRINTLN5("AwtScrollbar::SetValues(val = %d, vis = %d,"//(ctd.) " min = %d, max = %d)%s", svs->value, svs->visible, svs->min, svs->max, update_p ? "" : " - NOT redrawing"); ::SetScrollInfo(sb->GetHWnd(), SB_CTL, &si, update_p); } ret: env->DeleteGlobalRef(self); delete svs; }
void AwtScrollPane::_SetSpans(void *param) { JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2); SetSpansStruct *sss = (SetSpansStruct *)param; jobject self = sss->scrollpane; jint parentWidth = sss->parentWidth; jint parentHeight = sss->parentHeight; jint childWidth = sss->childWidth; jint childHeight = sss->childHeight; AwtScrollPane *s = NULL; PDATA pData; JNI_CHECK_PEER_GOTO(self, ret); s = (AwtScrollPane *)pData; if (::IsWindow(s->GetHWnd())) { DTRACE_PRINTLN5("%x: WScrollPanePeer.setSpans(%d, %d, %d, %d)", self, parentWidth, parentHeight, childWidth, childHeight); s->RecalcSizes(parentWidth, parentHeight, childWidth, childHeight); s->VerifyState(); } ret: env->DeleteGlobalRef(self); delete sss; }
/* * Class: sun_awt_windows_WScrollPanePeer * Method: setSpans * Signature: (IIII)V */ JNIEXPORT void JNICALL Java_sun_awt_windows_WScrollPanePeer_setSpans(JNIEnv *env, jobject self, jint parentWidth, jint parentHeight, jint childWidth, jint childHeight) { TRY; DTRACE_PRINTLN5("%x: WScrollPanePeer.setSpans(%d, %d, %d, %d)", self, parentWidth, parentHeight, childWidth, childHeight); PDATA pData; JNI_CHECK_PEER_RETURN(self); AwtScrollPane* pane = (AwtScrollPane *)pData; pane->RecalcSizes(parentWidth, parentHeight, childWidth, childHeight); pane->VerifyState(); CATCH_BAD_ALLOC; }
void AwtScrollbar::SetValues(int value, int visible, int minimum, int maximum) { BOOL update_p = ::IsWindowEnabled(GetHWnd()); // don't redraw if disabled SCROLLINFO si; si.cbSize = sizeof si; si.fMask = SIF_POS | SIF_PAGE | SIF_RANGE; si.nMin = minimum; si.nMax = maximum - 1; si.nPage = visible; si.nPos = value; DTRACE_PRINTLN5("AwtScrollbar::SetValues(val = %d, vis = %d,"//(ctd.) " min = %d, max = %d)%s", value, visible, minimum, maximum, update_p ? "" : " - NOT redrawing"); ::SetScrollInfo(GetHWnd(), SB_CTL, &si, update_p); }