summaryrefslogtreecommitdiff
path: root/vcl/unx/inc
diff options
context:
space:
mode:
authorJens-Heiner Rechtien <hr@openoffice.org>2003-03-27 16:59:30 +0000
committerJens-Heiner Rechtien <hr@openoffice.org>2003-03-27 16:59:30 +0000
commit2f382d6c2579a25c68dbd121af7f1f5dc7ec9852 (patch)
tree8c6c555a872e6812cd3f76de570b06683526ad14 /vcl/unx/inc
parentf7a0cc83bb59efd6abd820bd78acc75e8313ea4e (diff)
MWS_SRX644: migrate branch mws_srx644 -> HEAD
Diffstat (limited to 'vcl/unx/inc')
-rw-r--r--vcl/unx/inc/dtint.hxx8
-rw-r--r--vcl/unx/inc/saldata.hxx6
-rw-r--r--vcl/unx/inc/saldisp.hxx17
-rw-r--r--vcl/unx/inc/salframe.h20
-rw-r--r--vcl/unx/inc/salgdi.h6
-rw-r--r--vcl/unx/inc/strhelper.hxx77
-rw-r--r--vcl/unx/inc/wmadaptor.hxx34
-rw-r--r--vcl/unx/inc/xfont.hxx6
8 files changed, 147 insertions, 27 deletions
diff --git a/vcl/unx/inc/dtint.hxx b/vcl/unx/inc/dtint.hxx
index 2835a50f6a4a..493e416b4e58 100644
--- a/vcl/unx/inc/dtint.hxx
+++ b/vcl/unx/inc/dtint.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: dtint.hxx,v $
*
- * $Revision: 1.5 $
+ * $Revision: 1.6 $
*
- * last change: $Author: pl $ $Date: 2002-06-10 17:27:27 $
+ * last change: $Author: hr $ $Date: 2003-03-27 17:58:30 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -73,6 +73,7 @@
#include <tools/string.hxx>
#endif
#include <tools/color.hxx>
+#include <font.hxx>
class SalFrame;
class SalBitmap;
@@ -124,6 +125,9 @@ protected:
void GetSystemLook( const char* pCommand, AllSettings& rSettings );
bool StartSystemLookProcess( const char* pCommand );
+ Color parseColor( const ByteString& );
+ Font parseFont( const ByteString& );
+
public:
static DtIntegrator* CreateDtIntegrator( SalFrame* );
diff --git a/vcl/unx/inc/saldata.hxx b/vcl/unx/inc/saldata.hxx
index 831a308c4129..31b85770fb5c 100644
--- a/vcl/unx/inc/saldata.hxx
+++ b/vcl/unx/inc/saldata.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: saldata.hxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: svesik $ $Date: 2002-03-18 01:23:42 $
+ * last change: $Author: hr $ $Date: 2003-03-27 17:58:31 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -94,7 +94,7 @@ typedef SIG_FUNC_TYP *SIG_TYP;
DECLARE_LIST( SalDisplays, SalDisplay* )
-#if defined SCO || defined LINUX || defined NETBSD || defined AIX || defined HPUX || defined FREEBSD || defined IRIX
+#if defined SCO || defined LINUX || defined NETBSD || defined AIX || defined HPUX || defined FREEBSD
#include <pthread.h>
#else
typedef unsigned int pthread_t;
diff --git a/vcl/unx/inc/saldisp.hxx b/vcl/unx/inc/saldisp.hxx
index 6ba5f39ef32f..9deb3362224c 100644
--- a/vcl/unx/inc/saldisp.hxx
+++ b/vcl/unx/inc/saldisp.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: saldisp.hxx,v $
*
- * $Revision: 1.14 $
+ * $Revision: 1.15 $
*
- * last change: $Author: pl $ $Date: 2002-09-18 14:24:03 $
+ * last change: $Author: hr $ $Date: 2003-03-27 17:58:31 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -263,22 +263,24 @@ class SalXLib
timeval Timeout_;
ULONG nTimeoutMS_;
+ int pTimeoutFDS_[2];
+
int nStateOfYield_;
BOOL bWasXError_;
BOOL bIgnoreXErrors_;
+
int nFDs_;
- fd_set *pReadFDS_;
- fd_set *pExceptionFDS_;
+ fd_set aReadFDS_;
+ fd_set aExceptionFDS_;
YieldEntry *pYieldEntries_;
- void CheckTimeout();
-
public:
SalXLib();
~SalXLib();
void Init( int *pArgc, char *ppArgv[] );
void Yield( BOOL bWait );
+ void Wakeup();
void Insert( int fd, void* data,
YieldFunc pending,
@@ -294,6 +296,8 @@ public:
inline void StartTimer( ULONG nMS );
inline void StopTimer();
+
+ bool CheckTimeout( bool bExecuteTimers = true );
};
// -=-= SalXEvent =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
@@ -478,6 +482,7 @@ public:
ULONG GetImageDepths() const { return nImageDepths_; }
ULONG SupportsShm() const { return nSharedImages_; }
void DisableShm() { nSharedImages_ /= 2; } // = 0
+ void GetScreenFontResolution( long& rDPIX, long& rDPIY ) const;
BOOL MouseCaptured( const SalFrameData *pFrameData ) const
{ return pCapture_ == pFrameData; }
diff --git a/vcl/unx/inc/salframe.h b/vcl/unx/inc/salframe.h
index 0f760b428ccb..4792a62aa60f 100644
--- a/vcl/unx/inc/salframe.h
+++ b/vcl/unx/inc/salframe.h
@@ -2,9 +2,9 @@
*
* $RCSfile: salframe.h,v $
*
- * $Revision: 1.27 $
+ * $Revision: 1.28 $
*
- * last change: $Author: sb $ $Date: 2002-11-18 11:56:57 $
+ * last change: $Author: hr $ $Date: 2003-03-27 17:58:31 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -131,6 +131,8 @@ class SalFrameData
static Bool checkKeyReleaseForRepeat( Display*, XEvent*, XPointer pSalFrameData );
STDAPI( SalFrameData );
+ static SalFrame* s_pSaveYourselfFrame;
+
SalFrame *pNextFrame_; // pointer to next frame
SalFrame *pFrame_;
@@ -160,13 +162,14 @@ class SalFrameData
USHORT nKeyCode_; // last key code
USHORT nKeyState_; // last key state
int nCompose_; // compose state
+ bool mbKeyMenu;
+ bool mbSendExtKeyModChange;
+ USHORT mnExtKeyMod;
int nShowState_; // show state
- int nMaxWidth_; // client max width
- int nMaxHeight_; // client max height
int nWidth_; // client width
int nHeight_; // client height
- Rectangle aRestoreFullScreen_;
+ Rectangle maRestorePosSize;
ULONG nStyle_;
BOOL bAlwaysOnTop_;
BOOL bViewable_;
@@ -177,7 +180,8 @@ class SalFrameData
int nScreenSaversTimeout_;
Timer maResizeTimer;
- Rectangle maResizeBuffer;
+ bool mbMoved;
+ bool mbSized;
Rectangle maPaintRegion;
Timer maAlwaysOnTopRaiseTimer;
@@ -187,6 +191,8 @@ class SalFrameData
int mnDecorationFlags;
bool mbMaximizedVert;
bool mbMaximizedHorz;
+ bool mbShaded;
+ bool mbFullScreen;
// icon id
int mnIconID;
@@ -210,7 +216,7 @@ class SalFrameData
void Minimize();
void Maximize();
void Restore();
- void SetWindowGravity (int nGravity, const Point& rPosition) const;
+ void SetWindowGravity (int nGravity ) const;
void RestackChildren( XLIB_Window* pTopLevelWindows, int nTopLevelWindows );
void RestackChildren();
diff --git a/vcl/unx/inc/salgdi.h b/vcl/unx/inc/salgdi.h
index cb2bfcf221eb..3f2cddc451ce 100644
--- a/vcl/unx/inc/salgdi.h
+++ b/vcl/unx/inc/salgdi.h
@@ -2,9 +2,9 @@
*
* $RCSfile: salgdi.h,v $
*
- * $Revision: 1.21 $
+ * $Revision: 1.22 $
*
- * last change: $Author: pl $ $Date: 2002-11-14 15:57:28 $
+ * last change: $Author: hr $ $Date: 2003-03-27 17:58:32 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -244,7 +244,7 @@ protected:
void DrawServerAAFontString( const ServerFontLayout& );
bool DrawServerAAForcedString( const ServerFontLayout& );
- SalLayout* LayoutText( ImplLayoutArgs&, int nFallbackLevel );
+ SalLayout* GetTextLayout( ImplLayoutArgs&, int nFallbackLevel );
public:
SalGraphicsData();
~SalGraphicsData();
diff --git a/vcl/unx/inc/strhelper.hxx b/vcl/unx/inc/strhelper.hxx
new file mode 100644
index 000000000000..59aaf8e04ed8
--- /dev/null
+++ b/vcl/unx/inc/strhelper.hxx
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * $RCSfile: strhelper.hxx,v $
+ *
+ * $Revision: 1.3 $
+ *
+ * last change: $Author: hr $ $Date: 2003-03-27 17:58:32 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+#ifndef _SV_STRHELPER_HXX
+#define _SV_STRHELPER_HXX
+#ifndef _STRING_HXX
+#include <tools/string.hxx>
+#endif
+
+String GetCommandLineToken( int, const String& );
+// gets one token of a unix command line style string
+// doublequote, singlequote and singleleftquote protect their respective
+// contents
+
+int GetCommandLineTokenCount( const String& );
+// returns number of tokens (zero if empty or whitespace only)
+
+String WhitespaceToSpace( const String&, BOOL bProtect = TRUE );
+
+#endif
diff --git a/vcl/unx/inc/wmadaptor.hxx b/vcl/unx/inc/wmadaptor.hxx
index d925aa50ee1f..ffa1461f5ea4 100644
--- a/vcl/unx/inc/wmadaptor.hxx
+++ b/vcl/unx/inc/wmadaptor.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: wmadaptor.hxx,v $
*
- * $Revision: 1.15 $
+ * $Revision: 1.16 $
*
- * last change: $Author: pl $ $Date: 2002-06-10 17:27:27 $
+ * last change: $Author: hr $ $Date: 2003-03-27 17:58:32 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -101,6 +101,7 @@ public:
NET_WM_STATE_SKIP_TASKBAR,
NET_WM_STATE_STAYS_ON_TOP,
NET_WM_STATE_STICKY,
+ NET_WM_STATE_FULLSCREEN,
NET_WM_WINDOW_TYPE,
NET_WM_WINDOW_TYPE_DESKTOP,
NET_WM_WINDOW_TYPE_DIALOG,
@@ -108,6 +109,8 @@ public:
NET_WM_WINDOW_TYPE_MENU,
NET_WM_WINDOW_TYPE_NORMAL,
NET_WM_WINDOW_TYPE_TOOLBAR,
+ NET_WM_WINDOW_TYPE_SPLASH,
+ NET_WM_WINDOW_TYPE_UTILITY,
NET_NUMBER_OF_DESKTOPS,
NET_CURRENT_DESKTOP,
NET_WORKAREA,
@@ -165,7 +168,8 @@ public:
windowType_Normal,
windowType_ModalDialogue,
windowType_ModelessDialogue,
- windowType_OverrideRedirect
+ windowType_OverrideRedirect,
+ windowType_Splash
};
protected:
@@ -230,6 +234,20 @@ public:
* use maximizeFrame( pFrame, false, false )
*/
virtual void maximizeFrame( SalFrame* pFrame, bool bHorizontal = true, bool bVertical = true ) const;
+ /*
+ * start/stop fullscreen mode on a frame
+ */
+ virtual void showFullScreen( SalFrame* pFrame, bool bFullScreen ) const;
+
+ /*
+ * tells whether fullscreen mode is supported by WM
+ */
+ bool supportsFullScreen() const { return m_aWMAtoms[ NET_WM_STATE_FULLSCREEN ] != 0; }
+
+ /*
+ * shade/unshade frame
+ */
+ virtual void shade( SalFrame* pFrame, bool bToShaded ) const;
/*
* set hints what decoration is needed;
@@ -238,6 +256,11 @@ public:
virtual void setFrameTypeAndDecoration( SalFrame* pFrame, WMWindowType eType, int nDecorationFlags, SalFrame* pTransientFrame = NULL ) const;
/*
+ * tells whether there is WM support for splash screens
+ */
+ bool supportsSplash() const { return m_aWMAtoms[ NET_WM_WINDOW_TYPE_SPLASH ] != 0; }
+
+ /*
* enables always on top or equivalent if possible
*/
virtual void enableAlwaysOnTop( SalFrame* pFrame, bool bEnable ) const;
@@ -248,6 +271,11 @@ public:
bool isAlwaysOnTopOK() const { return m_bEnableAlwaysOnTopWorks; }
/*
+ * handle WM messages (especially WM state changes)
+ */
+ virtual int handlePropertyNotify( SalFrame* pFrame, XPropertyEvent* pEvent ) const;
+
+ /*
* gets a WM atom
*/
Atom getAtom( WMAtom eAtom ) const
diff --git a/vcl/unx/inc/xfont.hxx b/vcl/unx/inc/xfont.hxx
index 1d866ce3aa51..0cb9f5a432a7 100644
--- a/vcl/unx/inc/xfont.hxx
+++ b/vcl/unx/inc/xfont.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: xfont.hxx,v $
*
- * $Revision: 1.10 $
+ * $Revision: 1.11 $
*
- * last change: $Author: hdu $ $Date: 2002-10-29 13:15:24 $
+ * last change: $Author: hr $ $Date: 2003-03-27 17:58:33 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -185,7 +185,7 @@ SV_DECL_IMPL_REF( ExtendedFontStruct );
class X11FontLayout : public GenericSalLayout
{
public:
- X11FontLayout( ImplLayoutArgs&, ExtendedFontStruct& );
+ X11FontLayout( ExtendedFontStruct& );
virtual bool LayoutText( ImplLayoutArgs& );
virtual void DrawText( SalGraphics& ) const;