From: Jeffrey D. <ha...@us...> - 2003-09-28 19:05:48
|
Log Message: ----------- Making IView->PutTransparent work Modified Files: -------------- /cvsroot/decaldev/source/Inject: Panel.cpp Panel.h View.h Revision Data ------------- Index: Panel.cpp =================================================================== RCS file: /cvsroot/decaldev/source/Inject/Panel.cpp,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- Panel.cpp 17 Sep 2003 23:10:06 -0000 1.14 +++ Panel.cpp 28 Sep 2003 19:05:05 -0000 1.15 @@ -557,4 +557,28 @@ } } return S_OK; -} \ No newline at end of file +} + +STDMETHODIMP cPanel::get_Transparent(VARIANT_BOOL *pVal) +{ + *pVal = ( m_bTransparent ? VARIANT_TRUE : VARIANT_FALSE ); + return S_OK; +} + +STDMETHODIMP cPanel::put_Transparent(VARIANT_BOOL newVal) +{ + if( newVal == VARIANT_FALSE ) + m_bTransparent = false; + else + m_bTransparent = true; + + if( m_pVP->alpha == -1 ) + m_pSite->put_Alpha( m_Alpha ); + else + m_pSite->put_Alpha( m_pVP->alpha ); + + m_pSite->Invalidate(); + m_pSite->Reformat(); + + return S_OK; +} Index: Panel.h =================================================================== RCS file: /cvsroot/decaldev/source/Inject/Panel.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- Panel.h 17 Sep 2003 23:10:06 -0000 1.7 +++ Panel.h 28 Sep 2003 19:05:05 -0000 1.8 @@ -80,6 +80,8 @@ STDMETHOD(ActivateView)(long nViewID, ViewParams *pParams, long *pVal); STDMETHOD(Deactivate)(); STDMETHOD(putref_Sink)(/*[in]*/ IPanelSink* newVal); + STDMETHOD(get_Transparent)(/*[out, retval]*/ VARIANT_BOOL *pVal); + STDMETHOD(put_Transparent)(/*[in]*/ VARIANT_BOOL newVal); // ILayerRender Methods STDMETHOD(Render)(ICanvas *); Index: View.h =================================================================== RCS file: /cvsroot/decaldev/source/Inject/View.h,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- View.h 25 Sep 2003 19:50:11 -0000 1.12 +++ View.h 28 Sep 2003 19:05:05 -0000 1.13 @@ -22,6 +22,7 @@ cView( ) { m_VP.alpha = -1; + m_lOldTrans = 255; } ~cView(); @@ -35,6 +36,7 @@ CComPtr< IPanel > m_pPanel; ViewParams m_VP; + long m_lOldTrans; bool m_bTransparent; // Named controls |