1*ebfcd9afSAndrew Rist /************************************************************** 2cdf0e10cSrcweir * 3*ebfcd9afSAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4*ebfcd9afSAndrew Rist * or more contributor license agreements. See the NOTICE file 5*ebfcd9afSAndrew Rist * distributed with this work for additional information 6*ebfcd9afSAndrew Rist * regarding copyright ownership. The ASF licenses this file 7*ebfcd9afSAndrew Rist * to you under the Apache License, Version 2.0 (the 8*ebfcd9afSAndrew Rist * "License"); you may not use this file except in compliance 9*ebfcd9afSAndrew Rist * with the License. You may obtain a copy of the License at 10*ebfcd9afSAndrew Rist * 11*ebfcd9afSAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12*ebfcd9afSAndrew Rist * 13*ebfcd9afSAndrew Rist * Unless required by applicable law or agreed to in writing, 14*ebfcd9afSAndrew Rist * software distributed under the License is distributed on an 15*ebfcd9afSAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*ebfcd9afSAndrew Rist * KIND, either express or implied. See the License for the 17*ebfcd9afSAndrew Rist * specific language governing permissions and limitations 18*ebfcd9afSAndrew Rist * under the License. 19*ebfcd9afSAndrew Rist * 20*ebfcd9afSAndrew Rist *************************************************************/ 21*ebfcd9afSAndrew Rist 22*ebfcd9afSAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir #ifndef _SV_BRDWIN_HXX 25cdf0e10cSrcweir #define _SV_BRDWIN_HXX 26cdf0e10cSrcweir 27cdf0e10cSrcweir #include <vcl/sv.h> 28cdf0e10cSrcweir #include <vcl/window.hxx> 29cdf0e10cSrcweir 30cdf0e10cSrcweir class ImplBorderWindowView; 31cdf0e10cSrcweir 32cdf0e10cSrcweir // -------------------------- 33cdf0e10cSrcweir // - ImplBorderWindow-Types - 34cdf0e10cSrcweir // -------------------------- 35cdf0e10cSrcweir 36cdf0e10cSrcweir #define BORDERWINDOW_STYLE_OVERLAP ((sal_uInt16)0x0001) 37cdf0e10cSrcweir #define BORDERWINDOW_STYLE_BORDER ((sal_uInt16)0x0002) 38cdf0e10cSrcweir #define BORDERWINDOW_STYLE_FLOAT ((sal_uInt16)0x0004) 39cdf0e10cSrcweir #define BORDERWINDOW_STYLE_FRAME ((sal_uInt16)0x0008) 40cdf0e10cSrcweir #define BORDERWINDOW_STYLE_APP ((sal_uInt16)0x0010) 41cdf0e10cSrcweir 42cdf0e10cSrcweir #define BORDERWINDOW_HITTEST_TITLE ((sal_uInt16)0x0001) 43cdf0e10cSrcweir #define BORDERWINDOW_HITTEST_LEFT ((sal_uInt16)0x0002) 44cdf0e10cSrcweir #define BORDERWINDOW_HITTEST_MENU ((sal_uInt16)0x0004) 45cdf0e10cSrcweir #define BORDERWINDOW_HITTEST_TOP ((sal_uInt16)0x0008) 46cdf0e10cSrcweir #define BORDERWINDOW_HITTEST_RIGHT ((sal_uInt16)0x0010) 47cdf0e10cSrcweir #define BORDERWINDOW_HITTEST_BOTTOM ((sal_uInt16)0x0020) 48cdf0e10cSrcweir #define BORDERWINDOW_HITTEST_TOPLEFT ((sal_uInt16)0x0040) 49cdf0e10cSrcweir #define BORDERWINDOW_HITTEST_TOPRIGHT ((sal_uInt16)0x0080) 50cdf0e10cSrcweir #define BORDERWINDOW_HITTEST_BOTTOMLEFT ((sal_uInt16)0x0100) 51cdf0e10cSrcweir #define BORDERWINDOW_HITTEST_BOTTOMRIGHT ((sal_uInt16)0x0200) 52cdf0e10cSrcweir #define BORDERWINDOW_HITTEST_CLOSE ((sal_uInt16)0x0400) 53cdf0e10cSrcweir #define BORDERWINDOW_HITTEST_ROLL ((sal_uInt16)0x0800) 54cdf0e10cSrcweir #define BORDERWINDOW_HITTEST_DOCK ((sal_uInt16)0x1000) 55cdf0e10cSrcweir #define BORDERWINDOW_HITTEST_HIDE ((sal_uInt16)0x2000) 56cdf0e10cSrcweir #define BORDERWINDOW_HITTEST_HELP ((sal_uInt16)0x4000) 57cdf0e10cSrcweir #define BORDERWINDOW_HITTEST_PIN ((sal_uInt16)0x8000) 58cdf0e10cSrcweir 59cdf0e10cSrcweir #define BORDERWINDOW_DRAW_TITLE ((sal_uInt16)0x0001) 60cdf0e10cSrcweir #define BORDERWINDOW_DRAW_BORDER ((sal_uInt16)0x0002) 61cdf0e10cSrcweir #define BORDERWINDOW_DRAW_FRAME ((sal_uInt16)0x0004) 62cdf0e10cSrcweir #define BORDERWINDOW_DRAW_CLOSE ((sal_uInt16)0x0008) 63cdf0e10cSrcweir #define BORDERWINDOW_DRAW_ROLL ((sal_uInt16)0x0010) 64cdf0e10cSrcweir #define BORDERWINDOW_DRAW_DOCK ((sal_uInt16)0x0020) 65cdf0e10cSrcweir #define BORDERWINDOW_DRAW_HIDE ((sal_uInt16)0x0040) 66cdf0e10cSrcweir #define BORDERWINDOW_DRAW_HELP ((sal_uInt16)0x0080) 67cdf0e10cSrcweir #define BORDERWINDOW_DRAW_PIN ((sal_uInt16)0x0100) 68cdf0e10cSrcweir #define BORDERWINDOW_DRAW_MENU ((sal_uInt16)0x0200) 69cdf0e10cSrcweir #define BORDERWINDOW_DRAW_ALL (BORDERWINDOW_DRAW_TITLE | \ 70cdf0e10cSrcweir BORDERWINDOW_DRAW_BORDER | \ 71cdf0e10cSrcweir BORDERWINDOW_DRAW_FRAME | \ 72cdf0e10cSrcweir BORDERWINDOW_DRAW_CLOSE | \ 73cdf0e10cSrcweir BORDERWINDOW_DRAW_ROLL | \ 74cdf0e10cSrcweir BORDERWINDOW_DRAW_DOCK | \ 75cdf0e10cSrcweir BORDERWINDOW_DRAW_HIDE | \ 76cdf0e10cSrcweir BORDERWINDOW_DRAW_HELP | \ 77cdf0e10cSrcweir BORDERWINDOW_DRAW_PIN | \ 78cdf0e10cSrcweir BORDERWINDOW_DRAW_MENU) 79cdf0e10cSrcweir 80cdf0e10cSrcweir #define BORDERWINDOW_TITLE_NORMAL ((sal_uInt16)0x0001) 81cdf0e10cSrcweir #define BORDERWINDOW_TITLE_SMALL ((sal_uInt16)0x0002) 82cdf0e10cSrcweir #define BORDERWINDOW_TITLE_TEAROFF ((sal_uInt16)0x0004) 83cdf0e10cSrcweir #define BORDERWINDOW_TITLE_NONE ((sal_uInt16)0x0008) 84cdf0e10cSrcweir 85cdf0e10cSrcweir // -------------------- 86cdf0e10cSrcweir // - ImplBorderWindow - 87cdf0e10cSrcweir // -------------------- 88cdf0e10cSrcweir 89cdf0e10cSrcweir class ImplBorderWindow : public Window 90cdf0e10cSrcweir { 91cdf0e10cSrcweir friend class Window; 92cdf0e10cSrcweir friend class ImplBorderWindowView; 93cdf0e10cSrcweir friend class ImplSmallBorderWindowView; 94cdf0e10cSrcweir friend class ImplStdBorderWindowView; 95cdf0e10cSrcweir 96cdf0e10cSrcweir private: 97cdf0e10cSrcweir ImplBorderWindowView* mpBorderView; 98cdf0e10cSrcweir Window* mpMenuBarWindow; 99cdf0e10cSrcweir long mnMinWidth; 100cdf0e10cSrcweir long mnMinHeight; 101cdf0e10cSrcweir long mnMaxWidth; 102cdf0e10cSrcweir long mnMaxHeight; 103cdf0e10cSrcweir long mnRollHeight; 104cdf0e10cSrcweir long mnOrgMenuHeight; 105cdf0e10cSrcweir sal_uInt16 mnTitleType; 106cdf0e10cSrcweir sal_uInt16 mnBorderStyle; 107cdf0e10cSrcweir sal_Bool mbFloatWindow; 108cdf0e10cSrcweir sal_Bool mbSmallOutBorder; 109cdf0e10cSrcweir sal_Bool mbFrameBorder; 110cdf0e10cSrcweir sal_Bool mbPined; 111cdf0e10cSrcweir sal_Bool mbRollUp; 112cdf0e10cSrcweir sal_Bool mbMenuHide; 113cdf0e10cSrcweir sal_Bool mbDockBtn; 114cdf0e10cSrcweir sal_Bool mbHideBtn; 115cdf0e10cSrcweir sal_Bool mbHelpBtn; 116cdf0e10cSrcweir sal_Bool mbMenuBtn; 117cdf0e10cSrcweir sal_Bool mbDisplayActive; 118cdf0e10cSrcweir 119cdf0e10cSrcweir using Window::ImplInit; 120cdf0e10cSrcweir void ImplInit( Window* pParent, 121cdf0e10cSrcweir WinBits nStyle, sal_uInt16 nTypeStyle, 122cdf0e10cSrcweir SystemParentData* pParentData ); 123cdf0e10cSrcweir void ImplInit( Window* pParent, 124cdf0e10cSrcweir WinBits nStyle, sal_uInt16 nTypeStyle, 125cdf0e10cSrcweir const ::com::sun::star::uno::Any& ); 126cdf0e10cSrcweir 127cdf0e10cSrcweir // Copy assignment is forbidden and not implemented. 128cdf0e10cSrcweir ImplBorderWindow (const ImplBorderWindow &); 129cdf0e10cSrcweir ImplBorderWindow& operator= (const ImplBorderWindow &); 130cdf0e10cSrcweir 131cdf0e10cSrcweir public: 132cdf0e10cSrcweir ImplBorderWindow( Window* pParent, 133cdf0e10cSrcweir SystemParentData* pParentData, 134cdf0e10cSrcweir WinBits nStyle = 0, 135cdf0e10cSrcweir sal_uInt16 nTypeStyle = 0 ); 136cdf0e10cSrcweir ImplBorderWindow( Window* pParent, WinBits nStyle = 0, 137cdf0e10cSrcweir sal_uInt16 nTypeStyle = 0 ); 138cdf0e10cSrcweir ImplBorderWindow( Window* pParent, 139cdf0e10cSrcweir WinBits nStyle, sal_uInt16 nTypeStyle, 140cdf0e10cSrcweir const ::com::sun::star::uno::Any& ); 141cdf0e10cSrcweir ~ImplBorderWindow(); 142cdf0e10cSrcweir 143cdf0e10cSrcweir virtual void MouseMove( const MouseEvent& rMEvt ); 144cdf0e10cSrcweir virtual void MouseButtonDown( const MouseEvent& rMEvt ); 145cdf0e10cSrcweir virtual void Tracking( const TrackingEvent& rTEvt ); 146cdf0e10cSrcweir virtual void Paint( const Rectangle& rRect ); 147cdf0e10cSrcweir virtual void Activate(); 148cdf0e10cSrcweir virtual void Deactivate(); 149cdf0e10cSrcweir virtual void Resize(); 150cdf0e10cSrcweir virtual void RequestHelp( const HelpEvent& rHEvt ); 151cdf0e10cSrcweir virtual void StateChanged( StateChangedType nType ); 152cdf0e10cSrcweir virtual void DataChanged( const DataChangedEvent& rDCEvt ); 153cdf0e10cSrcweir 154cdf0e10cSrcweir void InitView(); 155cdf0e10cSrcweir void UpdateView( sal_Bool bNewView, const Size& rNewOutSize ); 156cdf0e10cSrcweir void InvalidateBorder(); 157cdf0e10cSrcweir 158cdf0e10cSrcweir using Window::Draw; 159cdf0e10cSrcweir void Draw( const Rectangle& rRect, OutputDevice* pDev, const Point& rPos ); 160cdf0e10cSrcweir 161cdf0e10cSrcweir void SetDisplayActive( sal_Bool bActive ); IsDisplayActive() const162cdf0e10cSrcweir sal_Bool IsDisplayActive() const { return mbDisplayActive; } 163cdf0e10cSrcweir void SetTitleType( sal_uInt16 nTitleType, const Size& rSize ); 164cdf0e10cSrcweir void SetBorderStyle( sal_uInt16 nStyle ); GetBorderStyle() const165cdf0e10cSrcweir sal_uInt16 GetBorderStyle() const { return mnBorderStyle; } 166cdf0e10cSrcweir void SetPin( sal_Bool bPin ); 167cdf0e10cSrcweir void SetRollUp( sal_Bool bRollUp, const Size& rSize ); 168cdf0e10cSrcweir void SetCloser(); 169cdf0e10cSrcweir void SetDockButton( sal_Bool bDockButton ); 170cdf0e10cSrcweir void SetHideButton( sal_Bool bHideButton ); 171cdf0e10cSrcweir void SetHelpButton( sal_Bool bHelpButton ); 172cdf0e10cSrcweir void SetMenuButton( sal_Bool bMenuButton ); 173cdf0e10cSrcweir 174cdf0e10cSrcweir void UpdateMenuHeight(); 175cdf0e10cSrcweir void SetMenuBarWindow( Window* pWindow ); 176cdf0e10cSrcweir void SetMenuBarMode( sal_Bool bHide ); 177cdf0e10cSrcweir SetMinOutputSize(long nWidth,long nHeight)178cdf0e10cSrcweir void SetMinOutputSize( long nWidth, long nHeight ) 179cdf0e10cSrcweir { mnMinWidth = nWidth; mnMinHeight = nHeight; } SetMaxOutputSize(long nWidth,long nHeight)180cdf0e10cSrcweir void SetMaxOutputSize( long nWidth, long nHeight ) 181cdf0e10cSrcweir { mnMaxWidth = nWidth; mnMaxHeight = nHeight; } 182cdf0e10cSrcweir 183cdf0e10cSrcweir void GetBorder( sal_Int32& rLeftBorder, sal_Int32& rTopBorder, 184cdf0e10cSrcweir sal_Int32& rRightBorder, sal_Int32& rBottomBorder ) const; 185cdf0e10cSrcweir long CalcTitleWidth() const; 186cdf0e10cSrcweir 187cdf0e10cSrcweir Rectangle GetMenuRect() const; 188cdf0e10cSrcweir }; 189cdf0e10cSrcweir 190cdf0e10cSrcweir // ======================================================================= 191cdf0e10cSrcweir 192cdf0e10cSrcweir // ----------------------- 193cdf0e10cSrcweir // - ImplBorderFrameData - 194cdf0e10cSrcweir // ----------------------- 195cdf0e10cSrcweir 196cdf0e10cSrcweir struct ImplBorderFrameData 197cdf0e10cSrcweir { 198cdf0e10cSrcweir ImplBorderWindow* mpBorderWindow; 199cdf0e10cSrcweir OutputDevice* mpOutDev; 200cdf0e10cSrcweir Rectangle maTitleRect; 201cdf0e10cSrcweir Rectangle maPinRect; 202cdf0e10cSrcweir Rectangle maCloseRect; 203cdf0e10cSrcweir Rectangle maRollRect; 204cdf0e10cSrcweir Rectangle maDockRect; 205cdf0e10cSrcweir Rectangle maMenuRect; 206cdf0e10cSrcweir Rectangle maHideRect; 207cdf0e10cSrcweir Rectangle maHelpRect; 208cdf0e10cSrcweir Point maMouseOff; 209cdf0e10cSrcweir long mnWidth; 210cdf0e10cSrcweir long mnHeight; 211cdf0e10cSrcweir long mnTrackX; 212cdf0e10cSrcweir long mnTrackY; 213cdf0e10cSrcweir long mnTrackWidth; 214cdf0e10cSrcweir long mnTrackHeight; 215cdf0e10cSrcweir sal_Int32 mnLeftBorder; 216cdf0e10cSrcweir sal_Int32 mnTopBorder; 217cdf0e10cSrcweir sal_Int32 mnRightBorder; 218cdf0e10cSrcweir sal_Int32 mnBottomBorder; 219cdf0e10cSrcweir long mnNoTitleTop; 220cdf0e10cSrcweir long mnBorderSize; 221cdf0e10cSrcweir long mnTitleHeight; 222cdf0e10cSrcweir long mnTitleOff; 223cdf0e10cSrcweir sal_uInt16 mnHitTest; 224cdf0e10cSrcweir sal_uInt16 mnPinState; 225cdf0e10cSrcweir sal_uInt16 mnCloseState; 226cdf0e10cSrcweir sal_uInt16 mnRollState; 227cdf0e10cSrcweir sal_uInt16 mnDockState; 228cdf0e10cSrcweir sal_uInt16 mnMenuState; 229cdf0e10cSrcweir sal_uInt16 mnHideState; 230cdf0e10cSrcweir sal_uInt16 mnHelpState; 231cdf0e10cSrcweir sal_uInt16 mnTitleType; 232cdf0e10cSrcweir sal_Bool mbFloatWindow; 233cdf0e10cSrcweir sal_Bool mbDragFull; 234cdf0e10cSrcweir sal_Bool mbTitleClipped; 235cdf0e10cSrcweir }; 236cdf0e10cSrcweir 237cdf0e10cSrcweir // ======================================================================= 238cdf0e10cSrcweir 239cdf0e10cSrcweir // ------------------------ 240cdf0e10cSrcweir // - ImplBorderWindowView - 241cdf0e10cSrcweir // ------------------------ 242cdf0e10cSrcweir 243cdf0e10cSrcweir class ImplBorderWindowView 244cdf0e10cSrcweir { 245cdf0e10cSrcweir public: 246cdf0e10cSrcweir virtual ~ImplBorderWindowView(); 247cdf0e10cSrcweir 248cdf0e10cSrcweir virtual sal_Bool MouseMove( const MouseEvent& rMEvt ); 249cdf0e10cSrcweir virtual sal_Bool MouseButtonDown( const MouseEvent& rMEvt ); 250cdf0e10cSrcweir virtual sal_Bool Tracking( const TrackingEvent& rTEvt ); 251cdf0e10cSrcweir virtual String RequestHelp( const Point& rPos, Rectangle& rHelpRect ); 252cdf0e10cSrcweir 253cdf0e10cSrcweir virtual void Init( OutputDevice* pDev, long nWidth, long nHeight ) = 0; 254cdf0e10cSrcweir virtual void GetBorder( sal_Int32& rLeftBorder, sal_Int32& rTopBorder, 255cdf0e10cSrcweir sal_Int32& rRightBorder, sal_Int32& rBottomBorder ) const = 0; 256cdf0e10cSrcweir virtual long CalcTitleWidth() const = 0; 257cdf0e10cSrcweir virtual void DrawWindow( sal_uInt16 nDrawFlags, OutputDevice* pOutDev = NULL, const Point* pOffset = NULL ) = 0; 258cdf0e10cSrcweir virtual Rectangle GetMenuRect() const; 259cdf0e10cSrcweir 260cdf0e10cSrcweir void ImplInitTitle( ImplBorderFrameData* pData ); 261cdf0e10cSrcweir sal_uInt16 ImplHitTest( ImplBorderFrameData* pData, const Point& rPos ); 262cdf0e10cSrcweir sal_Bool ImplMouseMove( ImplBorderFrameData* pData, const MouseEvent& rMEvt ); 263cdf0e10cSrcweir sal_Bool ImplMouseButtonDown( ImplBorderFrameData* pData, const MouseEvent& rMEvt ); 264cdf0e10cSrcweir sal_Bool ImplTracking( ImplBorderFrameData* pData, const TrackingEvent& rTEvt ); 265cdf0e10cSrcweir String ImplRequestHelp( ImplBorderFrameData* pData, const Point& rPos, Rectangle& rHelpRect ); 266cdf0e10cSrcweir long ImplCalcTitleWidth( const ImplBorderFrameData* pData ) const; 267cdf0e10cSrcweir }; 268cdf0e10cSrcweir 269cdf0e10cSrcweir // ======================================================================= 270cdf0e10cSrcweir 271cdf0e10cSrcweir // -------------------------- 272cdf0e10cSrcweir // - ImplNoBorderWindowView - 273cdf0e10cSrcweir // -------------------------- 274cdf0e10cSrcweir 275cdf0e10cSrcweir class ImplNoBorderWindowView : public ImplBorderWindowView 276cdf0e10cSrcweir { 277cdf0e10cSrcweir public: 278cdf0e10cSrcweir ImplNoBorderWindowView( ImplBorderWindow* pBorderWindow ); 279cdf0e10cSrcweir 280cdf0e10cSrcweir virtual void Init( OutputDevice* pDev, long nWidth, long nHeight ); 281cdf0e10cSrcweir virtual void GetBorder( sal_Int32& rLeftBorder, sal_Int32& rTopBorder, 282cdf0e10cSrcweir sal_Int32& rRightBorder, sal_Int32& rBottomBorder ) const; 283cdf0e10cSrcweir virtual long CalcTitleWidth() const; 284cdf0e10cSrcweir virtual void DrawWindow( sal_uInt16 nDrawFlags, OutputDevice* pOutDev, const Point* pOffset ); 285cdf0e10cSrcweir }; 286cdf0e10cSrcweir 287cdf0e10cSrcweir 288cdf0e10cSrcweir // ======================================================================= 289cdf0e10cSrcweir 290cdf0e10cSrcweir // ----------------------------- 291cdf0e10cSrcweir // - ImplSmallBorderWindowView - 292cdf0e10cSrcweir // ----------------------------- 293cdf0e10cSrcweir 294cdf0e10cSrcweir class ImplSmallBorderWindowView : public ImplBorderWindowView 295cdf0e10cSrcweir { 296cdf0e10cSrcweir ImplBorderWindow* mpBorderWindow; 297cdf0e10cSrcweir OutputDevice* mpOutDev; 298cdf0e10cSrcweir long mnWidth; 299cdf0e10cSrcweir long mnHeight; 300cdf0e10cSrcweir sal_Int32 mnLeftBorder; 301cdf0e10cSrcweir sal_Int32 mnTopBorder; 302cdf0e10cSrcweir sal_Int32 mnRightBorder; 303cdf0e10cSrcweir sal_Int32 mnBottomBorder; 304cdf0e10cSrcweir bool mbNWFBorder; 305cdf0e10cSrcweir 306cdf0e10cSrcweir public: 307cdf0e10cSrcweir ImplSmallBorderWindowView( ImplBorderWindow* pBorderWindow ); 308cdf0e10cSrcweir 309cdf0e10cSrcweir virtual void Init( OutputDevice* pOutDev, long nWidth, long nHeight ); 310cdf0e10cSrcweir virtual void GetBorder( sal_Int32& rLeftBorder, sal_Int32& rTopBorder, 311cdf0e10cSrcweir sal_Int32& rRightBorder, sal_Int32& rBottomBorder ) const; 312cdf0e10cSrcweir virtual long CalcTitleWidth() const; 313cdf0e10cSrcweir virtual void DrawWindow( sal_uInt16 nDrawFlags, OutputDevice* pOutDev, const Point* pOffset ); 314cdf0e10cSrcweir }; 315cdf0e10cSrcweir 316cdf0e10cSrcweir 317cdf0e10cSrcweir // ======================================================================= 318cdf0e10cSrcweir 319cdf0e10cSrcweir // --------------------------- 320cdf0e10cSrcweir // - ImplStdBorderWindowView - 321cdf0e10cSrcweir // --------------------------- 322cdf0e10cSrcweir 323cdf0e10cSrcweir 324cdf0e10cSrcweir class ImplStdBorderWindowView : public ImplBorderWindowView 325cdf0e10cSrcweir { 326cdf0e10cSrcweir ImplBorderFrameData maFrameData; 327cdf0e10cSrcweir VirtualDevice* mpATitleVirDev; 328cdf0e10cSrcweir VirtualDevice* mpDTitleVirDev; 329cdf0e10cSrcweir 330cdf0e10cSrcweir public: 331cdf0e10cSrcweir ImplStdBorderWindowView( ImplBorderWindow* pBorderWindow ); 332cdf0e10cSrcweir ~ImplStdBorderWindowView(); 333cdf0e10cSrcweir 334cdf0e10cSrcweir virtual sal_Bool MouseMove( const MouseEvent& rMEvt ); 335cdf0e10cSrcweir virtual sal_Bool MouseButtonDown( const MouseEvent& rMEvt ); 336cdf0e10cSrcweir virtual sal_Bool Tracking( const TrackingEvent& rTEvt ); 337cdf0e10cSrcweir virtual String RequestHelp( const Point& rPos, Rectangle& rHelpRect ); 338cdf0e10cSrcweir virtual Rectangle GetMenuRect() const; 339cdf0e10cSrcweir 340cdf0e10cSrcweir virtual void Init( OutputDevice* pDev, long nWidth, long nHeight ); 341cdf0e10cSrcweir virtual void GetBorder( sal_Int32& rLeftBorder, sal_Int32& rTopBorder, 342cdf0e10cSrcweir sal_Int32& rRightBorder, sal_Int32& rBottomBorder ) const; 343cdf0e10cSrcweir virtual long CalcTitleWidth() const; 344cdf0e10cSrcweir virtual void DrawWindow( sal_uInt16 nDrawFlags, OutputDevice* pOutDev, const Point* pOffset ); 345cdf0e10cSrcweir }; 346cdf0e10cSrcweir 347cdf0e10cSrcweir 348cdf0e10cSrcweir #endif // _SV_BRDWIN_HXX 349