1*cdf0e10cSrcweir /************************************************************************* 2*cdf0e10cSrcweir * 3*cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4*cdf0e10cSrcweir * 5*cdf0e10cSrcweir * Copyright 2000, 2010 Oracle and/or its affiliates. 6*cdf0e10cSrcweir * 7*cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite 8*cdf0e10cSrcweir * 9*cdf0e10cSrcweir * This file is part of OpenOffice.org. 10*cdf0e10cSrcweir * 11*cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify 12*cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3 13*cdf0e10cSrcweir * only, as published by the Free Software Foundation. 14*cdf0e10cSrcweir * 15*cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful, 16*cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of 17*cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18*cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details 19*cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code). 20*cdf0e10cSrcweir * 21*cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License 22*cdf0e10cSrcweir * version 3 along with OpenOffice.org. If not, see 23*cdf0e10cSrcweir * <http://www.openoffice.org/license.html> 24*cdf0e10cSrcweir * for a copy of the LGPLv3 License. 25*cdf0e10cSrcweir * 26*cdf0e10cSrcweir ************************************************************************/ 27*cdf0e10cSrcweir 28*cdf0e10cSrcweir #include "svpframe.hxx" 29*cdf0e10cSrcweir #include "svpinst.hxx" 30*cdf0e10cSrcweir #include "svpgdi.hxx" 31*cdf0e10cSrcweir 32*cdf0e10cSrcweir #include <basebmp/scanlineformats.hxx> 33*cdf0e10cSrcweir #include <basegfx/vector/b2ivector.hxx> 34*cdf0e10cSrcweir 35*cdf0e10cSrcweir using namespace basebmp; 36*cdf0e10cSrcweir using namespace basegfx; 37*cdf0e10cSrcweir 38*cdf0e10cSrcweir SvpSalFrame* SvpSalFrame::s_pFocusFrame = NULL; 39*cdf0e10cSrcweir 40*cdf0e10cSrcweir SvpSalFrame::SvpSalFrame( SvpSalInstance* pInstance, 41*cdf0e10cSrcweir SalFrame* pParent, 42*cdf0e10cSrcweir sal_uLong nSalFrameStyle, 43*cdf0e10cSrcweir SystemParentData* ) : 44*cdf0e10cSrcweir m_pInstance( pInstance ), 45*cdf0e10cSrcweir m_pParent( static_cast<SvpSalFrame*>(pParent) ), 46*cdf0e10cSrcweir m_nStyle( nSalFrameStyle ), 47*cdf0e10cSrcweir m_bVisible( false ), 48*cdf0e10cSrcweir m_nMinWidth( 0 ), 49*cdf0e10cSrcweir m_nMinHeight( 0 ), 50*cdf0e10cSrcweir m_nMaxWidth( 0 ), 51*cdf0e10cSrcweir m_nMaxHeight( 0 ) 52*cdf0e10cSrcweir { 53*cdf0e10cSrcweir m_aSystemChildData.nSize = sizeof( SystemChildData ); 54*cdf0e10cSrcweir m_aSystemChildData.pDisplay = NULL; 55*cdf0e10cSrcweir m_aSystemChildData.aWindow = 0; 56*cdf0e10cSrcweir m_aSystemChildData.pSalFrame = this; 57*cdf0e10cSrcweir m_aSystemChildData.pWidget = NULL; 58*cdf0e10cSrcweir m_aSystemChildData.pVisual = NULL; 59*cdf0e10cSrcweir m_aSystemChildData.nDepth = 24; 60*cdf0e10cSrcweir m_aSystemChildData.aColormap = 0; 61*cdf0e10cSrcweir m_aSystemChildData.pAppContext = NULL; 62*cdf0e10cSrcweir m_aSystemChildData.aShellWindow = 0; 63*cdf0e10cSrcweir m_aSystemChildData.pShellWidget = NULL; 64*cdf0e10cSrcweir 65*cdf0e10cSrcweir if( m_pParent ) 66*cdf0e10cSrcweir m_pParent->m_aChildren.push_back( this ); 67*cdf0e10cSrcweir 68*cdf0e10cSrcweir if( m_pInstance ) 69*cdf0e10cSrcweir m_pInstance->registerFrame( this ); 70*cdf0e10cSrcweir 71*cdf0e10cSrcweir SetPosSize( 0, 0, 800, 600, SAL_FRAME_POSSIZE_WIDTH | SAL_FRAME_POSSIZE_HEIGHT ); 72*cdf0e10cSrcweir } 73*cdf0e10cSrcweir 74*cdf0e10cSrcweir SvpSalFrame::~SvpSalFrame() 75*cdf0e10cSrcweir { 76*cdf0e10cSrcweir if( m_pInstance ) 77*cdf0e10cSrcweir m_pInstance->deregisterFrame( this ); 78*cdf0e10cSrcweir 79*cdf0e10cSrcweir std::list<SvpSalFrame*> Children = m_aChildren; 80*cdf0e10cSrcweir for( std::list<SvpSalFrame*>::iterator it = Children.begin(); 81*cdf0e10cSrcweir it != Children.end(); ++it ) 82*cdf0e10cSrcweir (*it)->SetParent( m_pParent ); 83*cdf0e10cSrcweir if( m_pParent ) 84*cdf0e10cSrcweir m_pParent->m_aChildren.remove( this ); 85*cdf0e10cSrcweir 86*cdf0e10cSrcweir if( s_pFocusFrame == this ) 87*cdf0e10cSrcweir { 88*cdf0e10cSrcweir s_pFocusFrame = NULL; 89*cdf0e10cSrcweir // call directly here, else an event for a destroyed frame would be dispatched 90*cdf0e10cSrcweir CallCallback( SALEVENT_LOSEFOCUS, NULL ); 91*cdf0e10cSrcweir // if the handler has not set a new focus frame 92*cdf0e10cSrcweir // pass focus to another frame, preferably a document style window 93*cdf0e10cSrcweir if( s_pFocusFrame == NULL ) 94*cdf0e10cSrcweir { 95*cdf0e10cSrcweir const std::list< SalFrame* >& rFrames( m_pInstance->getFrames() ); 96*cdf0e10cSrcweir for( std::list< SalFrame* >::const_iterator it = rFrames.begin(); it != rFrames.end(); ++it ) 97*cdf0e10cSrcweir { 98*cdf0e10cSrcweir SvpSalFrame* pFrame = const_cast<SvpSalFrame*>(static_cast<const SvpSalFrame*>(*it)); 99*cdf0e10cSrcweir if( pFrame->m_bVisible && 100*cdf0e10cSrcweir pFrame->m_pParent == NULL && 101*cdf0e10cSrcweir (pFrame->m_nStyle & (SAL_FRAME_STYLE_MOVEABLE | 102*cdf0e10cSrcweir SAL_FRAME_STYLE_SIZEABLE | 103*cdf0e10cSrcweir SAL_FRAME_STYLE_CLOSEABLE) ) != 0 104*cdf0e10cSrcweir ) 105*cdf0e10cSrcweir { 106*cdf0e10cSrcweir pFrame->GetFocus(); 107*cdf0e10cSrcweir break; 108*cdf0e10cSrcweir } 109*cdf0e10cSrcweir } 110*cdf0e10cSrcweir } 111*cdf0e10cSrcweir } 112*cdf0e10cSrcweir } 113*cdf0e10cSrcweir 114*cdf0e10cSrcweir void SvpSalFrame::GetFocus() 115*cdf0e10cSrcweir { 116*cdf0e10cSrcweir if( (m_nStyle & (SAL_FRAME_STYLE_OWNERDRAWDECORATION | SAL_FRAME_STYLE_FLOAT)) == 0 ) 117*cdf0e10cSrcweir { 118*cdf0e10cSrcweir if( s_pFocusFrame ) 119*cdf0e10cSrcweir s_pFocusFrame->LoseFocus(); 120*cdf0e10cSrcweir s_pFocusFrame = this; 121*cdf0e10cSrcweir m_pInstance->PostEvent( this, NULL, SALEVENT_GETFOCUS ); 122*cdf0e10cSrcweir } 123*cdf0e10cSrcweir } 124*cdf0e10cSrcweir 125*cdf0e10cSrcweir void SvpSalFrame::LoseFocus() 126*cdf0e10cSrcweir { 127*cdf0e10cSrcweir if( s_pFocusFrame == this ) 128*cdf0e10cSrcweir { 129*cdf0e10cSrcweir m_pInstance->PostEvent( this, NULL, SALEVENT_LOSEFOCUS ); 130*cdf0e10cSrcweir s_pFocusFrame = NULL; 131*cdf0e10cSrcweir } 132*cdf0e10cSrcweir } 133*cdf0e10cSrcweir 134*cdf0e10cSrcweir SalGraphics* SvpSalFrame::GetGraphics() 135*cdf0e10cSrcweir { 136*cdf0e10cSrcweir SvpSalGraphics* pGraphics = new SvpSalGraphics(); 137*cdf0e10cSrcweir pGraphics->setDevice( m_aFrame ); 138*cdf0e10cSrcweir m_aGraphics.push_back( pGraphics ); 139*cdf0e10cSrcweir return pGraphics; 140*cdf0e10cSrcweir } 141*cdf0e10cSrcweir 142*cdf0e10cSrcweir void SvpSalFrame::ReleaseGraphics( SalGraphics* pGraphics ) 143*cdf0e10cSrcweir { 144*cdf0e10cSrcweir SvpSalGraphics* pSvpGraphics = dynamic_cast<SvpSalGraphics*>(pGraphics); 145*cdf0e10cSrcweir m_aGraphics.remove( pSvpGraphics ); 146*cdf0e10cSrcweir delete pSvpGraphics; 147*cdf0e10cSrcweir } 148*cdf0e10cSrcweir 149*cdf0e10cSrcweir sal_Bool SvpSalFrame::PostEvent( void* pData ) 150*cdf0e10cSrcweir { 151*cdf0e10cSrcweir m_pInstance->PostEvent( this, pData, SALEVENT_USEREVENT ); 152*cdf0e10cSrcweir return sal_True; 153*cdf0e10cSrcweir } 154*cdf0e10cSrcweir 155*cdf0e10cSrcweir void SvpSalFrame::PostPaint() const 156*cdf0e10cSrcweir { 157*cdf0e10cSrcweir if( m_bVisible ) 158*cdf0e10cSrcweir { 159*cdf0e10cSrcweir SalPaintEvent aPEvt(0, 0, maGeometry.nWidth, maGeometry.nHeight); 160*cdf0e10cSrcweir CallCallback( SALEVENT_PAINT, &aPEvt ); 161*cdf0e10cSrcweir } 162*cdf0e10cSrcweir } 163*cdf0e10cSrcweir 164*cdf0e10cSrcweir void SvpSalFrame::SetTitle( const XubString& ) 165*cdf0e10cSrcweir { 166*cdf0e10cSrcweir } 167*cdf0e10cSrcweir 168*cdf0e10cSrcweir void SvpSalFrame::SetIcon( sal_uInt16 ) 169*cdf0e10cSrcweir { 170*cdf0e10cSrcweir } 171*cdf0e10cSrcweir 172*cdf0e10cSrcweir void SvpSalFrame::SetMenu( SalMenu* ) 173*cdf0e10cSrcweir { 174*cdf0e10cSrcweir } 175*cdf0e10cSrcweir 176*cdf0e10cSrcweir void SvpSalFrame::DrawMenuBar() 177*cdf0e10cSrcweir { 178*cdf0e10cSrcweir } 179*cdf0e10cSrcweir 180*cdf0e10cSrcweir void SvpSalFrame::SetExtendedFrameStyle( SalExtStyle ) 181*cdf0e10cSrcweir { 182*cdf0e10cSrcweir } 183*cdf0e10cSrcweir 184*cdf0e10cSrcweir void SvpSalFrame::Show( sal_Bool bVisible, sal_Bool bNoActivate ) 185*cdf0e10cSrcweir { 186*cdf0e10cSrcweir if( bVisible && ! m_bVisible ) 187*cdf0e10cSrcweir { 188*cdf0e10cSrcweir m_bVisible = true; 189*cdf0e10cSrcweir m_pInstance->PostEvent( this, NULL, SALEVENT_RESIZE ); 190*cdf0e10cSrcweir if( ! bNoActivate ) 191*cdf0e10cSrcweir GetFocus(); 192*cdf0e10cSrcweir } 193*cdf0e10cSrcweir else if( ! bVisible && m_bVisible ) 194*cdf0e10cSrcweir { 195*cdf0e10cSrcweir m_bVisible = false; 196*cdf0e10cSrcweir m_pInstance->PostEvent( this, NULL, SALEVENT_RESIZE ); 197*cdf0e10cSrcweir LoseFocus(); 198*cdf0e10cSrcweir } 199*cdf0e10cSrcweir } 200*cdf0e10cSrcweir 201*cdf0e10cSrcweir void SvpSalFrame::Enable( sal_Bool ) 202*cdf0e10cSrcweir { 203*cdf0e10cSrcweir } 204*cdf0e10cSrcweir 205*cdf0e10cSrcweir void SvpSalFrame::SetMinClientSize( long nWidth, long nHeight ) 206*cdf0e10cSrcweir { 207*cdf0e10cSrcweir m_nMinWidth = nWidth; 208*cdf0e10cSrcweir m_nMinHeight = nHeight; 209*cdf0e10cSrcweir } 210*cdf0e10cSrcweir 211*cdf0e10cSrcweir void SvpSalFrame::SetMaxClientSize( long nWidth, long nHeight ) 212*cdf0e10cSrcweir { 213*cdf0e10cSrcweir m_nMaxWidth = nWidth; 214*cdf0e10cSrcweir m_nMaxHeight = nHeight; 215*cdf0e10cSrcweir } 216*cdf0e10cSrcweir 217*cdf0e10cSrcweir void SvpSalFrame::SetPosSize( long nX, long nY, long nWidth, long nHeight, sal_uInt16 nFlags ) 218*cdf0e10cSrcweir { 219*cdf0e10cSrcweir if( (nFlags & SAL_FRAME_POSSIZE_X) != 0 ) 220*cdf0e10cSrcweir maGeometry.nX = nX; 221*cdf0e10cSrcweir if( (nFlags & SAL_FRAME_POSSIZE_Y) != 0 ) 222*cdf0e10cSrcweir maGeometry.nY = nY; 223*cdf0e10cSrcweir if( (nFlags & SAL_FRAME_POSSIZE_WIDTH) != 0 ) 224*cdf0e10cSrcweir { 225*cdf0e10cSrcweir maGeometry.nWidth = nWidth; 226*cdf0e10cSrcweir if( m_nMaxWidth > 0 && maGeometry.nWidth > (unsigned int)m_nMaxWidth ) 227*cdf0e10cSrcweir maGeometry.nWidth = m_nMaxWidth; 228*cdf0e10cSrcweir if( m_nMinWidth > 0 && maGeometry.nWidth < (unsigned int)m_nMinWidth ) 229*cdf0e10cSrcweir maGeometry.nWidth = m_nMinWidth; 230*cdf0e10cSrcweir } 231*cdf0e10cSrcweir if( (nFlags & SAL_FRAME_POSSIZE_HEIGHT) != 0 ) 232*cdf0e10cSrcweir { 233*cdf0e10cSrcweir maGeometry.nHeight = nHeight; 234*cdf0e10cSrcweir if( m_nMaxHeight > 0 && maGeometry.nHeight > (unsigned int)m_nMaxHeight ) 235*cdf0e10cSrcweir maGeometry.nHeight = m_nMaxHeight; 236*cdf0e10cSrcweir if( m_nMinHeight > 0 && maGeometry.nHeight < (unsigned int)m_nMinHeight ) 237*cdf0e10cSrcweir maGeometry.nHeight = m_nMinHeight; 238*cdf0e10cSrcweir } 239*cdf0e10cSrcweir B2IVector aFrameSize( maGeometry.nWidth, maGeometry.nHeight ); 240*cdf0e10cSrcweir if( ! m_aFrame.get() || m_aFrame->getSize() != aFrameSize ) 241*cdf0e10cSrcweir { 242*cdf0e10cSrcweir if( aFrameSize.getX() == 0 ) 243*cdf0e10cSrcweir aFrameSize.setX( 1 ); 244*cdf0e10cSrcweir if( aFrameSize.getY() == 0 ) 245*cdf0e10cSrcweir aFrameSize.setY( 1 ); 246*cdf0e10cSrcweir m_aFrame = createBitmapDevice( aFrameSize, false, SVP_DEFAULT_BITMAP_FORMAT ); 247*cdf0e10cSrcweir // update device in existing graphics 248*cdf0e10cSrcweir for( std::list< SvpSalGraphics* >::iterator it = m_aGraphics.begin(); 249*cdf0e10cSrcweir it != m_aGraphics.end(); ++it ) 250*cdf0e10cSrcweir (*it)->setDevice( m_aFrame ); 251*cdf0e10cSrcweir } 252*cdf0e10cSrcweir if( m_bVisible ) 253*cdf0e10cSrcweir m_pInstance->PostEvent( this, NULL, SALEVENT_RESIZE ); 254*cdf0e10cSrcweir } 255*cdf0e10cSrcweir 256*cdf0e10cSrcweir void SvpSalFrame::GetClientSize( long& rWidth, long& rHeight ) 257*cdf0e10cSrcweir { 258*cdf0e10cSrcweir if( m_bVisible ) 259*cdf0e10cSrcweir { 260*cdf0e10cSrcweir rWidth = maGeometry.nWidth; 261*cdf0e10cSrcweir rHeight = maGeometry.nHeight; 262*cdf0e10cSrcweir } 263*cdf0e10cSrcweir else 264*cdf0e10cSrcweir rWidth = rHeight = 0; 265*cdf0e10cSrcweir } 266*cdf0e10cSrcweir 267*cdf0e10cSrcweir void SvpSalFrame::GetWorkArea( Rectangle& rRect ) 268*cdf0e10cSrcweir { 269*cdf0e10cSrcweir rRect = Rectangle( Point( 0, 0 ), 270*cdf0e10cSrcweir Size( VIRTUAL_DESKTOP_WIDTH, VIRTUAL_DESKTOP_HEIGHT ) ); 271*cdf0e10cSrcweir } 272*cdf0e10cSrcweir 273*cdf0e10cSrcweir SalFrame* SvpSalFrame::GetParent() const 274*cdf0e10cSrcweir { 275*cdf0e10cSrcweir return m_pParent; 276*cdf0e10cSrcweir } 277*cdf0e10cSrcweir 278*cdf0e10cSrcweir #define _FRAMESTATE_MASK_GEOMETRY \ 279*cdf0e10cSrcweir (SAL_FRAMESTATE_MASK_X | SAL_FRAMESTATE_MASK_Y | \ 280*cdf0e10cSrcweir SAL_FRAMESTATE_MASK_WIDTH | SAL_FRAMESTATE_MASK_HEIGHT) 281*cdf0e10cSrcweir #define _FRAMESTATE_MASK_MAXIMIZED_GEOMETRY \ 282*cdf0e10cSrcweir (SAL_FRAMESTATE_MASK_MAXIMIZED_X | SAL_FRAMESTATE_MASK_MAXIMIZED_Y | \ 283*cdf0e10cSrcweir SAL_FRAMESTATE_MASK_MAXIMIZED_WIDTH | SAL_FRAMESTATE_MASK_MAXIMIZED_HEIGHT) 284*cdf0e10cSrcweir 285*cdf0e10cSrcweir void SvpSalFrame::SetWindowState( const SalFrameState *pState ) 286*cdf0e10cSrcweir { 287*cdf0e10cSrcweir if (pState == NULL) 288*cdf0e10cSrcweir return; 289*cdf0e10cSrcweir 290*cdf0e10cSrcweir // Request for position or size change 291*cdf0e10cSrcweir if (pState->mnMask & _FRAMESTATE_MASK_GEOMETRY) 292*cdf0e10cSrcweir { 293*cdf0e10cSrcweir long nX = maGeometry.nX; 294*cdf0e10cSrcweir long nY = maGeometry.nY; 295*cdf0e10cSrcweir long nWidth = maGeometry.nWidth; 296*cdf0e10cSrcweir long nHeight = maGeometry.nHeight; 297*cdf0e10cSrcweir 298*cdf0e10cSrcweir // change requested properties 299*cdf0e10cSrcweir if (pState->mnMask & SAL_FRAMESTATE_MASK_X) 300*cdf0e10cSrcweir nX = pState->mnX; 301*cdf0e10cSrcweir if (pState->mnMask & SAL_FRAMESTATE_MASK_Y) 302*cdf0e10cSrcweir nY = pState->mnY; 303*cdf0e10cSrcweir if (pState->mnMask & SAL_FRAMESTATE_MASK_WIDTH) 304*cdf0e10cSrcweir nWidth = pState->mnWidth; 305*cdf0e10cSrcweir if (pState->mnMask & SAL_FRAMESTATE_MASK_HEIGHT) 306*cdf0e10cSrcweir nHeight = pState->mnHeight; 307*cdf0e10cSrcweir 308*cdf0e10cSrcweir SetPosSize( nX, nY, nWidth, nHeight, 309*cdf0e10cSrcweir SAL_FRAME_POSSIZE_X | SAL_FRAME_POSSIZE_Y | 310*cdf0e10cSrcweir SAL_FRAME_POSSIZE_WIDTH | SAL_FRAME_POSSIZE_HEIGHT ); 311*cdf0e10cSrcweir } 312*cdf0e10cSrcweir } 313*cdf0e10cSrcweir 314*cdf0e10cSrcweir sal_Bool SvpSalFrame::GetWindowState( SalFrameState* pState ) 315*cdf0e10cSrcweir { 316*cdf0e10cSrcweir pState->mnState = SAL_FRAMESTATE_NORMAL; 317*cdf0e10cSrcweir pState->mnX = maGeometry.nX; 318*cdf0e10cSrcweir pState->mnY = maGeometry.nY; 319*cdf0e10cSrcweir pState->mnWidth = maGeometry.nWidth; 320*cdf0e10cSrcweir pState->mnHeight = maGeometry.nHeight; 321*cdf0e10cSrcweir pState->mnMask = _FRAMESTATE_MASK_GEOMETRY | SAL_FRAMESTATE_MASK_STATE; 322*cdf0e10cSrcweir 323*cdf0e10cSrcweir return sal_True; 324*cdf0e10cSrcweir } 325*cdf0e10cSrcweir 326*cdf0e10cSrcweir void SvpSalFrame::ShowFullScreen( sal_Bool, sal_Int32 ) 327*cdf0e10cSrcweir { 328*cdf0e10cSrcweir SetPosSize( 0, 0, VIRTUAL_DESKTOP_WIDTH, VIRTUAL_DESKTOP_HEIGHT, 329*cdf0e10cSrcweir SAL_FRAME_POSSIZE_WIDTH | SAL_FRAME_POSSIZE_HEIGHT ); 330*cdf0e10cSrcweir } 331*cdf0e10cSrcweir 332*cdf0e10cSrcweir void SvpSalFrame::StartPresentation( sal_Bool ) 333*cdf0e10cSrcweir { 334*cdf0e10cSrcweir } 335*cdf0e10cSrcweir 336*cdf0e10cSrcweir void SvpSalFrame::SetAlwaysOnTop( sal_Bool ) 337*cdf0e10cSrcweir { 338*cdf0e10cSrcweir } 339*cdf0e10cSrcweir 340*cdf0e10cSrcweir void SvpSalFrame::ToTop( sal_uInt16 ) 341*cdf0e10cSrcweir { 342*cdf0e10cSrcweir GetFocus(); 343*cdf0e10cSrcweir } 344*cdf0e10cSrcweir 345*cdf0e10cSrcweir void SvpSalFrame::SetPointer( PointerStyle ) 346*cdf0e10cSrcweir { 347*cdf0e10cSrcweir } 348*cdf0e10cSrcweir 349*cdf0e10cSrcweir void SvpSalFrame::CaptureMouse( sal_Bool ) 350*cdf0e10cSrcweir { 351*cdf0e10cSrcweir } 352*cdf0e10cSrcweir 353*cdf0e10cSrcweir void SvpSalFrame::SetPointerPos( long, long ) 354*cdf0e10cSrcweir { 355*cdf0e10cSrcweir } 356*cdf0e10cSrcweir 357*cdf0e10cSrcweir void SvpSalFrame::Flush() 358*cdf0e10cSrcweir { 359*cdf0e10cSrcweir } 360*cdf0e10cSrcweir 361*cdf0e10cSrcweir void SvpSalFrame::Sync() 362*cdf0e10cSrcweir { 363*cdf0e10cSrcweir } 364*cdf0e10cSrcweir 365*cdf0e10cSrcweir void SvpSalFrame::SetInputContext( SalInputContext* ) 366*cdf0e10cSrcweir { 367*cdf0e10cSrcweir } 368*cdf0e10cSrcweir 369*cdf0e10cSrcweir void SvpSalFrame::EndExtTextInput( sal_uInt16 ) 370*cdf0e10cSrcweir { 371*cdf0e10cSrcweir } 372*cdf0e10cSrcweir 373*cdf0e10cSrcweir String SvpSalFrame::GetKeyName( sal_uInt16 ) 374*cdf0e10cSrcweir { 375*cdf0e10cSrcweir return String(); 376*cdf0e10cSrcweir } 377*cdf0e10cSrcweir 378*cdf0e10cSrcweir String SvpSalFrame::GetSymbolKeyName( const XubString&, sal_uInt16 ) 379*cdf0e10cSrcweir { 380*cdf0e10cSrcweir return String(); 381*cdf0e10cSrcweir } 382*cdf0e10cSrcweir 383*cdf0e10cSrcweir sal_Bool SvpSalFrame::MapUnicodeToKeyCode( sal_Unicode, LanguageType, KeyCode& ) 384*cdf0e10cSrcweir { 385*cdf0e10cSrcweir return sal_False; 386*cdf0e10cSrcweir } 387*cdf0e10cSrcweir 388*cdf0e10cSrcweir LanguageType SvpSalFrame::GetInputLanguage() 389*cdf0e10cSrcweir { 390*cdf0e10cSrcweir return LANGUAGE_DONTKNOW; 391*cdf0e10cSrcweir } 392*cdf0e10cSrcweir 393*cdf0e10cSrcweir SalBitmap* SvpSalFrame::SnapShot() 394*cdf0e10cSrcweir { 395*cdf0e10cSrcweir return NULL; 396*cdf0e10cSrcweir } 397*cdf0e10cSrcweir 398*cdf0e10cSrcweir void SvpSalFrame::UpdateSettings( AllSettings& ) 399*cdf0e10cSrcweir { 400*cdf0e10cSrcweir } 401*cdf0e10cSrcweir 402*cdf0e10cSrcweir void SvpSalFrame::Beep( SoundType ) 403*cdf0e10cSrcweir { 404*cdf0e10cSrcweir } 405*cdf0e10cSrcweir 406*cdf0e10cSrcweir const SystemEnvData* SvpSalFrame::GetSystemData() const 407*cdf0e10cSrcweir { 408*cdf0e10cSrcweir return &m_aSystemChildData; 409*cdf0e10cSrcweir } 410*cdf0e10cSrcweir 411*cdf0e10cSrcweir SalFrame::SalPointerState SvpSalFrame::GetPointerState() 412*cdf0e10cSrcweir { 413*cdf0e10cSrcweir SalPointerState aState; 414*cdf0e10cSrcweir aState.mnState = 0; 415*cdf0e10cSrcweir return aState; 416*cdf0e10cSrcweir } 417*cdf0e10cSrcweir 418*cdf0e10cSrcweir void SvpSalFrame::SetParent( SalFrame* pNewParent ) 419*cdf0e10cSrcweir { 420*cdf0e10cSrcweir if( m_pParent ) 421*cdf0e10cSrcweir m_pParent->m_aChildren.remove( this ); 422*cdf0e10cSrcweir m_pParent = static_cast<SvpSalFrame*>(pNewParent); 423*cdf0e10cSrcweir } 424*cdf0e10cSrcweir 425*cdf0e10cSrcweir bool SvpSalFrame::SetPluginParent( SystemParentData* ) 426*cdf0e10cSrcweir { 427*cdf0e10cSrcweir return true; 428*cdf0e10cSrcweir } 429*cdf0e10cSrcweir 430*cdf0e10cSrcweir void SvpSalFrame::SetBackgroundBitmap( SalBitmap* ) 431*cdf0e10cSrcweir { 432*cdf0e10cSrcweir } 433*cdf0e10cSrcweir 434*cdf0e10cSrcweir void SvpSalFrame::ResetClipRegion() 435*cdf0e10cSrcweir { 436*cdf0e10cSrcweir } 437*cdf0e10cSrcweir 438*cdf0e10cSrcweir void SvpSalFrame::BeginSetClipRegion( sal_uLong ) 439*cdf0e10cSrcweir { 440*cdf0e10cSrcweir } 441*cdf0e10cSrcweir 442*cdf0e10cSrcweir void SvpSalFrame::UnionClipRegion( long, long, long, long ) 443*cdf0e10cSrcweir { 444*cdf0e10cSrcweir } 445*cdf0e10cSrcweir 446*cdf0e10cSrcweir void SvpSalFrame::EndSetClipRegion() 447*cdf0e10cSrcweir { 448*cdf0e10cSrcweir } 449*cdf0e10cSrcweir 450