/* * SetViewWindow - set whether there is a single view window or multiple ones */ void SetViewWindow( BOOL justone ) { WPI_ENUMPROC fp_enum; int prev_show_state; fOneViewWindow = justone; if( !justone ) { if( _wpi_iswindow( Instance, ClientWindow ) ) { fp_enum = _wpi_makeenumprocinstance( ViewEnumProc, Instance ); _wpi_enumchildwindows( ClientWindow, fp_enum, 0L ); _wpi_freeprocinstance( fp_enum ); } } else { prev_show_state = showState; showState = SW_HIDE; if( _wpi_iswindow( Instance, ClientWindow ) ) { fp_enum = _wpi_makeenumprocinstance( ViewEnumProc, Instance ); _wpi_enumchildwindows( ClientWindow, fp_enum, 0L ); _wpi_freeprocinstance( fp_enum ); } showState = prev_show_state; if( _wpi_iswindow( Instance, hViewWindow ) ) { ShowWindow( hViewWindow, showState ); } } } /* SetViewWindow */
/* * CheckViewItem - handle when the view window option is selected from the menu */ void CheckViewItem( HMENU hmenu ) { WPI_ENUMPROC fp_enum; if( _wpi_isitemchecked( hmenu, IMGED_VIEW ) ) { _wpi_checkmenuitem( hmenu, IMGED_VIEW, MF_UNCHECKED, FALSE ); showState = SW_HIDE; ImgedConfigInfo.show_state &= ~SET_SHOW_VIEW; } else { _wpi_checkmenuitem( hmenu, IMGED_VIEW, MF_CHECKED, FALSE ); showState = SW_SHOWNORMAL; ImgedConfigInfo.show_state |= SET_SHOW_VIEW; } if( hViewWindow == NULL ) { return; } ShowWindow( _wpi_getframe( hViewWindow ), showState ); if( _wpi_iswindow( Instance, ClientWindow ) ) { fp_enum = _wpi_makeenumprocinstance( ViewEnumProc, Instance ); _wpi_enumchildwindows( ClientWindow, fp_enum, 0L ); _wpi_freeprocinstance( fp_enum ); } } /* CheckViewItem */
bool GUIIsOpen( gui_window *wnd ) { if( _wpi_iswindow( GUIMainHInst, wnd->hwnd ) ) { return( true ); } return( false ); }
bool GUIIsOpen( gui_window *wnd ) { if( _wpi_iswindow( GUIMainHInst, wnd->hwnd ) ) { return( TRUE ); } return( FALSE ); }
/* * RedrawPrevClip - redraw the area if a region has been selected and copied to the * clipboard OR if a region has been selected and then another is * selected (without a cut or copy in between) * - the hwnd parameter indicates which window to draw the clip rect on * - if the hwnd does not match the one associated with clipRect, we return */ void RedrawPrevClip( HWND hwnd ) { WPI_POINT pointsize; int prevROP2; HBRUSH blackbrush; HBRUSH oldbrush; HPEN whitepen; HPEN oldpen; WPI_PRES pres; WPI_RECTDIM left; WPI_RECTDIM top; WPI_RECTDIM right; WPI_RECTDIM bottom; img_node *node; if( !fEnableCutCopy || !_wpi_iswindow( Instance, hwnd ) || clipRect.hwnd != hwnd ) { return; } pointsize = GetPointSize( hwnd ); pres = _wpi_getpres( hwnd ); _wpi_torgbmode( pres ); prevROP2 = _wpi_setrop2( pres, R2_XORPEN ); blackbrush = _wpi_createsolidbrush( BLACK ); oldbrush = _wpi_selectobject( pres, blackbrush ); whitepen = _wpi_createpen( PS_SOLID, 0, WHITE ); oldpen = _wpi_selectobject( pres, whitepen ); _wpi_getrectvalues( clipRect.rect, &left, &top, &right, &bottom ); node = SelectImage( hwnd ); #ifdef __OS2_PM__ _wpi_rectangle( pres, left * pointsize.x + 1, bottom * pointsize.y + 1, right * pointsize.x, top * pointsize.y ); #else _wpi_rectangle( pres, left * pointsize.x, top * pointsize.y, right * pointsize.x, bottom * pointsize.y ); #endif _wpi_selectobject( pres, oldpen ); _wpi_selectobject( pres, oldbrush ); _wpi_setrop2( pres, prevROP2 ); _wpi_releasepres( hwnd, pres ); _wpi_deleteobject( whitepen ); _wpi_deleteobject( blackbrush ); } /* RedrawPrevClip */
/* * SetViewBkColor - set the background color (and appropriate inverse) */ void SetViewBkColor( COLORREF color ) { WPI_ENUMPROC fp_enum; if( color == bkgroundColor ) { return; } bkgroundColor = color; if( !_wpi_iswindow( Instance, hViewWindow ) ) { return; } InvalidateRect( hViewWindow, NULL, TRUE ); fp_enum = _wpi_makeenumprocinstance( BkColorEnumProc, Instance ); _wpi_enumchildwindows( ClientWindow, fp_enum, 0L ); _wpi_freeprocinstance( fp_enum ); } /* SetViewBkColor */
bool SetFocusToParent( void ) { HWND curr_hwnd; // for a reason I do not yet comprehend, the MDI stuff should no longer // be a deterent to setting the focus to the top parent if( ( GUICurrWnd != NULL ) && !EditControlHasFocus /* && !GUIMDI */ && !( GUICurrWnd->style & GUI_POPUP ) ) { curr_hwnd = GUIGetTopParentHWND( GUICurrWnd->hwnd ); if( GUIGetCtrlWnd( curr_hwnd ) == NULL ) { if( _wpi_iswindow( GUIMainHInst, curr_hwnd ) ) { if( _wpi_getfocus() != curr_hwnd ) { _wpi_setfocus( curr_hwnd ); _wpi_setactivewindow( curr_hwnd ); return( TRUE ); } } } } return( FALSE ); }