summaryrefslogtreecommitdiff
path: root/vcl/unx/inc/salframe.h
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/unx/inc/salframe.h')
-rw-r--r--vcl/unx/inc/salframe.h304
1 files changed, 0 insertions, 304 deletions
diff --git a/vcl/unx/inc/salframe.h b/vcl/unx/inc/salframe.h
deleted file mode 100644
index 0025afce2ad6..000000000000
--- a/vcl/unx/inc/salframe.h
+++ /dev/null
@@ -1,304 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifndef _SV_SALFRAME_H
-#define _SV_SALFRAME_H
-
-// -=-= #includes -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-#include <salstd.hxx>
-#include <vcl/salframe.hxx>
-#include <vcl/salwtype.hxx>
-#ifndef _SV_PTRSTYLE_HXX
-#include <vcl/ptrstyle.hxx>
-#endif
-#include <vcl/salinst.hxx>
-#include <vcl/sysdata.hxx>
-#include <vcl/timer.hxx>
-#include <vcl/dllapi.h>
-
-#include <salunx.h>
-#include <list>
-
-// -=-= forwards -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-class SalDisplay;
-class X11SalGraphics;
-class SalGraphicsLayout;
-class SalI18N_InputContext;
-
-namespace vcl_sal { class WMAdaptor; class NetWMAdaptor; class GnomeWMAdaptor; }
-
-// -=-= X11SalFrame =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-#define SHOWSTATE_UNKNOWN -1
-#define SHOWSTATE_MINIMIZED 0
-#define SHOWSTATE_NORMAL 1
-#define SHOWSTATE_HIDDEN 2
-
-class VCL_DLLPUBLIC X11SalFrame : public SalFrame
-{
- friend class vcl_sal::WMAdaptor;
- friend class vcl_sal::NetWMAdaptor;
- friend class vcl_sal::GnomeWMAdaptor;
-
- static X11SalFrame* s_pSaveYourselfFrame;
-
- X11SalFrame* mpParent; // pointer to parent frame
- // which should never obscur this frame
- bool mbTransientForRoot;
- std::list< X11SalFrame* > maChildren; // List of child frames
-
- SalDisplay *pDisplay_;
- int m_nScreen;
- XLIB_Window mhWindow;
- XLIB_Window mhShellWindow;
- XLIB_Window mhForeignParent;
- // window to fall back to when no longer in fullscreen mode
- XLIB_Window mhStackingWindow;
- // window to listen for CirculateNotify events
-
- Pixmap mhBackgroundPixmap;
-
- XLIB_Cursor hCursor_;
- int nCaptured_; // is captured
-
- X11SalGraphics *pGraphics_; // current frame graphics
- X11SalGraphics *pFreeGraphics_; // first free frame graphics
-
- XLIB_Time nReleaseTime_; // timestamp of last key release
- sal_uInt16 nKeyCode_; // last key code
- sal_uInt16 nKeyState_; // last key state
- int nCompose_; // compose state
- bool mbSendExtKeyModChange;
- sal_uInt16 mnExtKeyMod;
-
- int nShowState_; // show state
- int nWidth_; // client width
- int nHeight_; // client height
- Rectangle maRestorePosSize;
- sal_uIntPtr nStyle_;
- SalExtStyle mnExtStyle;
- sal_Bool bAlwaysOnTop_;
- sal_Bool bViewable_;
- sal_Bool bMapped_;
- sal_Bool mbInShow;
- sal_Bool bDefaultPosition_; // client is centered initially
- bool m_bXEmbed;
- int nVisibility_;
- int m_nWorkArea;
- bool m_bSetFocusOnMap;
-
-
- int nScreenSaversTimeout_;
- Rectangle maPaintRegion;
-
- Timer maAlwaysOnTopRaiseTimer;
-
- // data for WMAdaptor
- int meWindowType;
- int mnDecorationFlags;
- bool mbMaximizedVert;
- bool mbMaximizedHorz;
- bool mbShaded;
- bool mbFullScreen;
-
- // icon id
- int mnIconID;
-
- String m_aTitle;
-
- rtl::OUString m_sWMClass;
-
- SystemChildData maSystemChildData;
-
- SalI18N_InputContext *mpInputContext;
- Bool mbInputFocus;
-
- XRectangle* m_pClipRectangles;
- int m_nCurClipRect;
- int m_nMaxClipRect;
-
- bool mPendingSizeEvent;
-
- void GetPosSize( Rectangle &rPosSize );
- void SetSize ( const Size &rSize );
- void Center();
- void SetPosSize( const Rectangle &rPosSize );
- void Minimize();
- void Maximize();
- void Restore();
- void SetWindowGravity (int nGravity ) const;
-
- void RestackChildren( XLIB_Window* pTopLevelWindows, int nTopLevelWindows );
- void RestackChildren();
-
- long HandleKeyEvent ( XKeyEvent *pEvent );
- long HandleMouseEvent ( XEvent *pEvent );
- long HandleFocusEvent ( XFocusChangeEvent *pEvent );
- long HandleExposeEvent ( XEvent *pEvent );
- long HandleSizeEvent ( XConfigureEvent *pEvent );
- long HandleColormapEvent ( XColormapEvent *pEvent );
- long HandleMapUnmapEvent ( XEvent *pEvent );
- long HandleStateEvent ( XPropertyEvent *pEvent );
- long HandleReparentEvent ( XReparentEvent *pEvent );
- long HandleClientMessage ( XClientMessageEvent*pEvent );
-
- DECL_LINK( HandleAlwaysOnTopRaise, void* );
-
- void passOnSaveYourSelf();
-
- void createNewWindow( XLIB_Window aParent, int nScreen = -1 );
- void updateScreenNumber();
-
- void setXEmbedInfo();
- void askForXEmbedFocus( sal_Int32 i_nTimeCode );
-
- void updateWMClass();
-public:
- X11SalFrame( SalFrame* pParent, sal_uIntPtr nSalFrameStyle, SystemParentData* pSystemParent = NULL );
- virtual ~X11SalFrame();
-
- long Dispatch( XEvent *pEvent );
- void Init( sal_uIntPtr nSalFrameStyle, int nScreen = -1,
- SystemParentData* pParentData = NULL, bool bUseGeometry = false );
-
- SalDisplay* GetDisplay() const { return pDisplay_; }
- Display* GetXDisplay() const;
- XLIB_Window GetDrawable() const;
- int GetScreenNumber() const { return m_nScreen; }
- XLIB_Window GetWindow() const { return mhWindow; }
- XLIB_Window GetShellWindow() const { return mhShellWindow; }
- XLIB_Window GetForeignParent() const { return mhForeignParent; }
- XLIB_Window GetStackingWindow() const { return mhStackingWindow; }
- long ShutDown() const { return CallCallback( SALEVENT_SHUTDOWN, 0 ); }
- long Close() const { return CallCallback( SALEVENT_CLOSE, 0 ); }
- sal_uIntPtr GetStyle() const { return nStyle_; }
-
- inline XLIB_Cursor GetCursor() const { return hCursor_; }
- inline sal_Bool IsCaptured() const { return nCaptured_ == 1; }
-#if !defined(__synchronous_extinput__)
- void HandleExtTextEvent (XClientMessageEvent *pEvent);
- void PostExtTextEvent (sal_uInt16 nExtTextEventType,
- void *pExtTextEvent);
-#endif
- bool IsOverrideRedirect() const;
- bool IsChildWindow() const { return (nStyle_ & (SAL_FRAME_STYLE_PLUG|SAL_FRAME_STYLE_SYSTEMCHILD)) != 0; }
- bool IsSysChildWindow() const { return (nStyle_ & (SAL_FRAME_STYLE_SYSTEMCHILD)) != 0; }
- bool IsFloatGrabWindow() const;
- SalI18N_InputContext* getInputContext() const { return mpInputContext; }
- void getPosSize( Rectangle& rRect ) { GetPosSize( rRect ); }
- void setPosSize( const Rectangle& rRect ) { SetPosSize( rRect ); }
- bool isMapped() const { return bMapped_; }
- bool hasFocus() const { return mbInputFocus; }
-
- void beginUnicodeSequence();
- bool appendUnicodeSequence( sal_Unicode );
- bool endUnicodeSequence();
-
- virtual SalGraphics* GetGraphics();
- virtual void ReleaseGraphics( SalGraphics* pGraphics );
-
- // call with true to clear graphics (setting None as drawable)
- // call with false to setup graphics with window (GetWindow())
- virtual void updateGraphics( bool bClear );
-
- virtual sal_Bool PostEvent( void* pData );
-
- virtual void SetTitle( const XubString& rTitle );
- virtual void SetIcon( sal_uInt16 nIcon );
- virtual void SetMenu( SalMenu* pMenu );
- virtual void DrawMenuBar();
-
- virtual void SetExtendedFrameStyle( SalExtStyle nExtStyle );
- virtual void Show( sal_Bool bVisible, sal_Bool bNoActivate = sal_False );
- virtual void Enable( sal_Bool bEnable );
- virtual void SetMinClientSize( long nWidth, long nHeight );
- virtual void SetMaxClientSize( long nWidth, long nHeight );
- virtual void SetPosSize( long nX, long nY, long nWidth, long nHeight, sal_uInt16 nFlags );
- virtual void GetClientSize( long& rWidth, long& rHeight );
- virtual void GetWorkArea( Rectangle& rRect );
- virtual SalFrame* GetParent() const;
- virtual void SetWindowState( const SalFrameState* pState );
- virtual sal_Bool GetWindowState( SalFrameState* pState );
- virtual void ShowFullScreen( sal_Bool bFullScreen, sal_Int32 nMonitor );
- virtual void StartPresentation( sal_Bool bStart );
- virtual void SetAlwaysOnTop( sal_Bool bOnTop );
- virtual void ToTop( sal_uInt16 nFlags );
- virtual void SetPointer( PointerStyle ePointerStyle );
- virtual void CaptureMouse( sal_Bool bMouse );
- virtual void SetPointerPos( long nX, long nY );
- using SalFrame::Flush;
- virtual void Flush();
- virtual void Sync();
- virtual void SetInputContext( SalInputContext* pContext );
- virtual void EndExtTextInput( sal_uInt16 nFlags );
- virtual String GetKeyName( sal_uInt16 nKeyCode );
- virtual String GetSymbolKeyName( const XubString& rFontName, sal_uInt16 nKeyCode );
- virtual sal_Bool MapUnicodeToKeyCode( sal_Unicode aUnicode, LanguageType aLangType, KeyCode& rKeyCode );
- virtual LanguageType GetInputLanguage();
- virtual SalBitmap* SnapShot();
- virtual void UpdateSettings( AllSettings& rSettings );
- virtual void Beep( SoundType eSoundType );
- virtual const SystemEnvData* GetSystemData() const;
- virtual SalPointerState GetPointerState();
- virtual SalIndicatorState GetIndicatorState();
- virtual void SimulateKeyPress( sal_uInt16 nKeyCode );
- virtual void SetParent( SalFrame* pNewParent );
- virtual bool SetPluginParent( SystemParentData* pNewParent );
- virtual void SetBackgroundBitmap( SalBitmap* pBitmap );
-
- virtual void SetScreenNumber( unsigned int );
- virtual void SetApplicationID( const rtl::OUString &rWMClass );
-
- // shaped system windows
- // set clip region to none (-> rectangular windows, normal state)
- virtual void ResetClipRegion();
- // start setting the clipregion consisting of nRects rectangles
- virtual void BeginSetClipRegion( sal_uIntPtr nRects );
- // add a rectangle to the clip region
- virtual void UnionClipRegion( long nX, long nY, long nWidth, long nHeight );
- // done setting up the clipregion
- virtual void EndSetClipRegion();
-
- static void SaveYourselfDone( SalFrame* );
- static Bool checkKeyReleaseForRepeat( Display*, XEvent*, XPointer pX11SalFrame );
-
- /// @internal
- void setPendingSizeEvent();
-};
-
-#ifdef _SV_SALDISP_HXX
-
-inline Display *X11SalFrame::GetXDisplay() const
-{ return pDisplay_->GetDisplay(); }
-
-inline XLIB_Window X11SalFrame::GetDrawable() const
-{ return GetWindow(); }
-
-#endif
-
-#endif // _SV_SALFRAME_H
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */