summaryrefslogtreecommitdiffstats
path: root/vcl/inc
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/inc')
-rw-r--r--vcl/inc/android/svsys.h36
-rw-r--r--vcl/inc/impgraph.hxx2
-rw-r--r--vcl/inc/ios/iosvcltypes.h37
-rw-r--r--vcl/inc/ios/salbmp.h117
-rw-r--r--vcl/inc/ios/salcolorutils.hxx46
-rw-r--r--vcl/inc/ios/saldata.hxx126
-rw-r--r--vcl/inc/ios/salframe.h208
-rw-r--r--vcl/inc/ios/salframeview.h144
-rw-r--r--vcl/inc/ios/salgdi.h401
-rw-r--r--vcl/inc/ios/salinst.h199
-rw-r--r--vcl/inc/ios/salmathutils.hxx90
-rw-r--r--vcl/inc/ios/salmenu.h122
-rw-r--r--vcl/inc/ios/salnstimer.h43
-rw-r--r--vcl/inc/ios/salobj.h86
-rw-r--r--vcl/inc/ios/salprn.h173
-rw-r--r--vcl/inc/ios/salsys.h56
-rw-r--r--vcl/inc/ios/saltimer.h54
-rw-r--r--vcl/inc/ios/saluimenu.h62
-rw-r--r--vcl/inc/ios/salvd.h79
-rw-r--r--vcl/inc/ios/svsys.h36
-rw-r--r--vcl/inc/ios/vcluiapp.h53
-rw-r--r--vcl/inc/list.h3
-rw-r--r--vcl/inc/sallayout.hxx1
-rw-r--r--vcl/inc/saltimer.hxx3
-rw-r--r--vcl/inc/svsys.h7
-rw-r--r--vcl/inc/unx/Xproto.h3
-rw-r--r--vcl/inc/unx/gtk/gtkdata.hxx3
-rw-r--r--vcl/inc/unx/gtk/gtkframe.hxx1
-rw-r--r--vcl/inc/unx/gtk/gtkgdi.hxx3
-rw-r--r--vcl/inc/unx/headless/svpbmp.hxx72
-rw-r--r--vcl/inc/unx/headless/svpdummies.hxx100
-rw-r--r--vcl/inc/unx/headless/svpelement.hxx49
-rw-r--r--vcl/inc/unx/headless/svpframe.hxx132
-rw-r--r--vcl/inc/unx/headless/svpgdi.hxx174
-rw-r--r--vcl/inc/unx/headless/svpinst.hxx204
-rw-r--r--vcl/inc/unx/headless/svpprn.hxx57
-rw-r--r--vcl/inc/unx/headless/svppspgraphics.hxx189
-rw-r--r--vcl/inc/unx/headless/svpvd.hxx62
-rw-r--r--vcl/inc/unx/salbmp.h248
-rw-r--r--vcl/inc/unx/saldata.hxx3
-rw-r--r--vcl/inc/unx/saldisp.hxx7
-rw-r--r--vcl/inc/unx/x11_cursors/salcursors.h3
-rw-r--r--vcl/inc/vcl/accel.hxx16
-rw-r--r--vcl/inc/vcl/animate.hxx151
-rw-r--r--vcl/inc/vcl/bitmap.hxx2
-rw-r--r--vcl/inc/vcl/canvastools.hxx5
-rw-r--r--vcl/inc/vcl/displayconnectiondispatch.hxx3
-rw-r--r--vcl/inc/vcl/field.hxx19
-rw-r--r--vcl/inc/vcl/fontmanager.hxx2
-rw-r--r--vcl/inc/vcl/gdimtf.hxx2
-rw-r--r--vcl/inc/vcl/graph.hxx4
-rw-r--r--vcl/inc/vcl/graphictools.hxx12
-rw-r--r--vcl/inc/vcl/help.hxx2
-rw-r--r--vcl/inc/vcl/image.hxx3
-rw-r--r--vcl/inc/vcl/outdev.hxx23
-rw-r--r--vcl/inc/vcl/ppdparser.hxx10
-rw-r--r--vcl/inc/vcl/print.hxx6
-rw-r--r--vcl/inc/vcl/quickselectionengine.hxx3
-rw-r--r--vcl/inc/vcl/rendergraphic.hxx3
-rw-r--r--vcl/inc/vcl/rendergraphicrasterizer.hxx3
-rw-r--r--vcl/inc/vcl/settings.hxx1
-rw-r--r--vcl/inc/vcl/strhelper.hxx14
-rw-r--r--vcl/inc/vcl/svapp.hxx54
-rw-r--r--vcl/inc/vcl/svgread.hxx2
-rw-r--r--vcl/inc/vcl/syschild.hxx1
-rw-r--r--vcl/inc/vcl/sysdata.hxx23
-rw-r--r--vcl/inc/vcl/syswin.hxx8
-rw-r--r--vcl/inc/vcl/tabctrl.hxx3
-rw-r--r--vcl/inc/vcl/taskpanelist.hxx1
-rw-r--r--vcl/inc/vcl/threadex.hxx18
-rw-r--r--vcl/inc/vcl/throbber.hxx2
-rw-r--r--vcl/inc/vcl/toolbox.hxx31
-rw-r--r--vcl/inc/vcl/wall.hxx3
-rw-r--r--vcl/inc/vcl/window.hxx1
-rw-r--r--[-rwxr-xr-x]vcl/inc/win/salbmp.h0
-rw-r--r--vcl/inc/win/saldata.hxx2
-rw-r--r--[-rwxr-xr-x]vcl/inc/win/salframe.h0
-rw-r--r--[-rwxr-xr-x]vcl/inc/win/salmenu.h0
-rw-r--r--[-rwxr-xr-x]vcl/inc/win/salnativewidgets.h0
-rw-r--r--[-rwxr-xr-x]vcl/inc/win/salobj.h0
-rw-r--r--[-rwxr-xr-x]vcl/inc/win/salprn.h3
-rw-r--r--[-rwxr-xr-x]vcl/inc/win/salsys.h0
-rw-r--r--[-rwxr-xr-x]vcl/inc/win/saltimer.h0
-rw-r--r--[-rwxr-xr-x]vcl/inc/win/salvd.h0
-rw-r--r--[-rwxr-xr-x]vcl/inc/win/wincomp.hxx0
85 files changed, 3535 insertions, 395 deletions
diff --git a/vcl/inc/android/svsys.h b/vcl/inc/android/svsys.h
new file mode 100644
index 000000000000..9dabc7187400
--- /dev/null
+++ b/vcl/inc/android/svsys.h
@@ -0,0 +1,36 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Initial Developer of the Original Code is Tor Lillqvist <tml@iki.fi>
+ * Portions created by the Initial Developer are Copyright (C) 2011 the
+ * Initial Developer. All Rights Reserved.
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#ifndef _VCL_ANDROID_SVSYS_H
+#define _VCL_ANDROID_SVSYS_H
+
+
+// ?
+
+#endif // _VCL_ANDROID_SVSYS_H
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/impgraph.hxx b/vcl/inc/impgraph.hxx
index 6b6bce184770..592f6a73c050 100644
--- a/vcl/inc/impgraph.hxx
+++ b/vcl/inc/impgraph.hxx
@@ -144,8 +144,6 @@ private:
sal_uLong ImplGetAnimationLoopCount() const;
void ImplResetAnimationLoopCount();
- List* ImplGetAnimationInfoList() const;
-
private:
GraphicReader* ImplGetContext();
diff --git a/vcl/inc/ios/iosvcltypes.h b/vcl/inc/ios/iosvcltypes.h
new file mode 100644
index 000000000000..820547b6a013
--- /dev/null
+++ b/vcl/inc/ios/iosvcltypes.h
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Initial Developer of the Original Code is Tor Lillqvist <tml@iki.fi>
+ * Portions created by the Initial Developer are Copyright (C) 2011 the
+ * Initial Developer. All Rights Reserved.
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#ifndef _IOSVCLTYPES_H
+#define _IOSVCLTYPES_H
+
+#include "premac.h"
+#import <UIKit/UIKit.h>
+#include "postmac.h"
+
+#endif _IOSVCLTYPES_H
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/ios/salbmp.h b/vcl/inc/ios/salbmp.h
new file mode 100644
index 000000000000..0c3e1468b154
--- /dev/null
+++ b/vcl/inc/ios/salbmp.h
@@ -0,0 +1,117 @@
+/* -*- 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_SALBMP_H
+#define _SV_SALBMP_H
+
+#include "tools/gen.hxx"
+
+#include "basebmp/bitmapdevice.hxx"
+
+#include "vcl/salbtype.hxx"
+
+#include "ios/salgdi.h"
+
+#include "saldata.hxx"
+#include "salinst.hxx"
+#include "salvd.hxx"
+#include "salbmp.hxx"
+
+#include "salcolorutils.hxx"
+
+
+// --------------
+// - SalBitmap -
+// --------------
+
+struct BitmapBuffer;
+class BitmapColor;
+class BitmapPalette;
+class IosSalVirtualDevice;
+class IosSalGraphics;
+
+class IosSalBitmap : public SalBitmap
+{
+public:
+ CGContextRef mxGraphicContext;
+ mutable CGImageRef mxCachedImage;
+ BitmapPalette maPalette;
+ basebmp::RawMemorySharedArray maUserBuffer;
+ basebmp::RawMemorySharedArray maContextBuffer;
+ sal_uInt16 mnBits;
+ int mnWidth;
+ int mnHeight;
+ sal_uInt32 mnBytesPerRow;
+
+public:
+ IosSalBitmap();
+ virtual ~IosSalBitmap();
+
+public:
+
+ // SalBitmap methods
+ bool Create( const Size& rSize, sal_uInt16 nBitCount, const BitmapPalette& rPal );
+ bool Create( const SalBitmap& rSalBmp );
+ bool Create( const SalBitmap& rSalBmp, SalGraphics* pGraphics );
+ bool Create( const SalBitmap& rSalBmp, sal_uInt16 nNewBitCount );
+ virtual bool Create( const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmapCanvas > xBitmapCanvas,
+ Size& rSize,
+ bool bMask = false );
+
+ void Destroy();
+
+ Size GetSize() const;
+ sal_uInt16 GetBitCount() const;
+
+ BitmapBuffer *AcquireBuffer( bool bReadOnly );
+ void ReleaseBuffer( BitmapBuffer* pBuffer, bool bReadOnly );
+
+ bool GetSystemData( BitmapSystemData& rData );
+
+private:
+ // quartz helper
+ bool CreateContext();
+ void DestroyContext();
+ bool AllocateUserData();
+
+ void ConvertBitmapData( sal_uInt32 nWidth, sal_uInt32 nHeight,
+ sal_uInt16 nDestBits, sal_uInt32 nDestBytesPerRow, const BitmapPalette& rDestPalette, sal_uInt8* pDestData,
+ sal_uInt16 nSrcBits, sal_uInt32 nSrcBytesPerRow, const BitmapPalette& rSrcPalette, sal_uInt8* pSrcData );
+
+public:
+ bool Create( CGLayerRef xLayer, int nBitCount, int nX, int nY, int nWidth, int nHeight, bool bMirrorVert = true );
+
+public:
+ CGImageRef CreateWithMask( const IosSalBitmap& rMask, int nX, int nY, int nWidth, int nHeight ) const;
+ CGImageRef CreateColorMask( int nX, int nY, int nWidth, int nHeight, SalColor nMaskColor ) const;
+ CGImageRef CreateCroppedImage( int nX, int nY, int nWidth, int nHeight ) const;
+};
+
+#endif // _SV_SALBMP_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/ios/salcolorutils.hxx b/vcl/inc/ios/salcolorutils.hxx
new file mode 100644
index 000000000000..d6db5f839e04
--- /dev/null
+++ b/vcl/inc/ios/salcolorutils.hxx
@@ -0,0 +1,46 @@
+/* -*- 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_SALCOLORUTILS_HXX
+#define _SV_SALCOLORUTILS_HXX
+
+#include "vcl/salbtype.hxx"
+#include "vcl/salgtype.hxx"
+#include "salmathutils.hxx"
+
+// ------------------------------------------------------------------
+
+SalColor GetSalColor( const float* pQuartzColor );
+
+void SetSalColor( const SalColor& rColor, float* pQuartzColor );
+
+// ------------------------------------------------------------------
+
+#endif // _SV_SALCOLORUTILS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/ios/saldata.hxx b/vcl/inc/ios/saldata.hxx
new file mode 100644
index 000000000000..764264e42462
--- /dev/null
+++ b/vcl/inc/ios/saldata.hxx
@@ -0,0 +1,126 @@
+/* -*- 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_SALDATA_HXX
+#define _SV_SALDATA_HXX
+
+#include "premac.h"
+#include <UIKit/UIKit.h>
+#include "postmac.h"
+
+#include "com/sun/star/uno/Reference.hxx"
+
+#include "vcl/ptrstyle.hxx"
+
+#include "svdata.hxx"
+#include "salwtype.hxx"
+
+#include <list>
+#include <vector>
+#include <map>
+#include <boost/unordered_set.hpp>
+
+#include <cstdio>
+#include <cstdarg>
+
+class IosSalInstance;
+class SalObject;
+class SalFrame;
+class SalVirtualDevice;
+class SalPrinter;
+class SystemFontList;
+
+// ------------------
+// - Some constants -
+// ------------------
+
+#define SAL_CLIPRECT_COUNT 16
+
+#define VER_TIGER 0x1040
+#define VER_LEOPARD 0x1050
+
+// -----------
+// - SalData -
+// -----------
+
+class IosSalFrame;
+struct FrameHash : public boost::hash<sal_IntPtr>
+{
+ size_t operator()(const IosSalFrame* frame) const
+ { return boost::hash<sal_IntPtr>::operator()( reinterpret_cast<const sal_IntPtr>(frame) ); }
+};
+
+struct SalData
+{
+
+ SALTIMERPROC mpTimerProc; // timer callback proc
+ IosSalInstance *mpFirstInstance; // pointer of first instance
+ std::list<IosSalFrame*> maFrames; // pointer of first frame
+ boost::unordered_set<const IosSalFrame*,FrameHash> maFrameCheck; // for fast check of frame existance
+ SalObject *mpFirstObject; // pointer of first object window
+ SalVirtualDevice *mpFirstVD; // first VirDev
+ SalPrinter *mpFirstPrinter; // first printing printer
+ SystemFontList *mpFontList;
+
+ CGColorSpaceRef mxRGBSpace;
+ CGColorSpaceRef mxGraySpace;
+ CGColorSpaceRef mxP50Space;
+ CGPatternRef mxP50Pattern;
+
+ std::vector< UIMenuItem* > maFallbackMenu;
+
+ static oslThreadKey s_aAutoReleaseKey;
+
+ SInt32 mnSystemVersion; // Store System Version
+
+ long mnDPIX; // #i100617# read DPI only once per office life
+ long mnDPIY; // #i100617# read DPI only once per office life
+
+ com::sun::star::uno::Reference< com::sun::star::uno::XInterface >
+ mxClipboard;
+
+ SalData();
+ ~SalData();
+
+ static void ensureThreadAutoreleasePool();
+ static void drainThreadAutoreleasePool();
+};
+
+inline void SetSalData( SalData* pData ) { ImplGetSVData()->mpSalData = (void*)pData; }
+inline SalData *GetSalData() { return (SalData*)ImplGetSVData()->mpSalData; }
+inline SalData *GetAppSalData() { return (SalData*)ImplGetAppSVData()->mpSalData; }
+
+// --- Prototypes ---
+
+sal_Bool ImplSalYieldMutexTryToAcquire();
+void ImplSalYieldMutexAcquire();
+void ImplSalYieldMutexRelease();
+
+#endif // _SV_SALDATA_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/ios/salframe.h b/vcl/inc/ios/salframe.h
new file mode 100644
index 000000000000..14761fe36ebd
--- /dev/null
+++ b/vcl/inc/ios/salframe.h
@@ -0,0 +1,208 @@
+/* -*- 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
+
+#include "vcl/sysdata.hxx"
+
+#include "ios/salmenu.h"
+#include "ios/saldata.hxx"
+#include "ios/iosvcltypes.h"
+
+#include "salframe.hxx"
+
+#include <vector>
+#include <utility>
+#include <stdexcept>
+
+#include <boost/shared_ptr.hpp>
+
+class IosSalGraphics;
+class IosSalFrame;
+class IosSalTimer;
+class IosSalInstance;
+class IosSalMenu;
+class IosBlinker;
+
+typedef struct SalFrame::SalPointerState SalPointerState;
+
+// ----------------
+// - IosSalFrame -
+// ----------------
+
+class IosSalFrame : public SalFrame
+{
+public:
+ UIWindow* mpWindow;
+ UIView* mpView;
+ CGRect maScreenRect; // for mirroring purposes
+ IosSalGraphics* mpGraphics;
+ IosSalFrame* mpParent;
+ SystemEnvData maSysData;
+ int mnMinWidth; // min. client width in pixels
+ int mnMinHeight; // min. client height in pixels
+ int mnMaxWidth; // max. client width in pixels
+ int mnMaxHeight; // max. client height in pixels
+ CGRect maFullScreenRect; // old window size when in FullScreen
+ bool mbGraphics:1; // is Graphics used?
+ bool mbShown:1;
+ bool mbInitShow:1;
+ bool mbPresentation:1;
+
+ sal_uLong mnStyle;
+ unsigned int mnStyleMask; // our style mask from UIWindow creation
+
+ sal_uLong mnLastEventTime;
+ unsigned int mnLastModifierFlags;
+ IosSalMenu* mpMenu;
+
+ SalExtStyle mnExtStyle; // currently document frames are marked this way
+
+ PointerStyle mePointerStyle; // currently active pointer style
+
+ CGMutablePathRef mrClippingPath; // used for "shaping"
+ std::vector< CGRect > maClippingRects;
+
+ std::list<IosBlinker*> maBlinkers;
+
+ Rectangle maInvalidRect;
+
+ sal_uLong mnICOptions;
+
+ boost::shared_ptr< Timer > mpActivityTimer; // Timer to prevent system sleep during presentation
+public:
+ /** Constructor
+
+ Creates a system window and connects this frame with it.
+
+ @throws std::runtime_error in case window creation fails
+ */
+ IosSalFrame( SalFrame* pParent, sal_uLong salFrameStyle );
+
+ virtual ~IosSalFrame();
+
+ virtual SalGraphics* GetGraphics();
+ virtual void ReleaseGraphics( SalGraphics* pGraphics );
+ virtual sal_Bool PostEvent( void* pData );
+ virtual void SetTitle( const XubString& rTitle );
+ virtual void SetIcon( sal_uInt16 nIcon );
+ virtual void SetRepresentedURL( const rtl::OUString& );
+ virtual void SetMenu( SalMenu* pSalMenu );
+ virtual void DrawMenuBar();
+ 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 nDisplay );
+ 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 );
+ virtual void Flush( void );
+ virtual void Flush( const Rectangle& );
+ 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 SetExtendedFrameStyle( SalExtStyle );
+ virtual void SetBackgroundBitmap( SalBitmap* );
+ virtual void SetScreenNumber(unsigned int);
+ virtual void SetApplicationID( const rtl::OUString &rApplicationID );
+
+ // 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_uLong 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();
+
+ virtual void SetClientSize( long nWidth, long nHeight );
+
+ void UpdateFrameGeometry();
+
+ // trigger painting of the window
+ void SendPaintEvent( const Rectangle* pRect = NULL );
+
+ static bool isAlive( const IosSalFrame* pFrame )
+ { return GetSalData()->maFrameCheck.find( pFrame ) != GetSalData()->maFrameCheck.end(); }
+
+ static IosSalFrame* GetCaptureFrame() { return s_pCaptureFrame; }
+
+ UIWindow* getWindow() const { return mpWindow; }
+ UIView* getView() const { return mpView; }
+ unsigned int getStyleMask() const { return mnStyleMask; }
+
+ void getResolution( long& o_rDPIX, long& o_rDPIY );
+
+ CGMutablePathRef getClipPath() const { return mrClippingPath; }
+
+ // called by VCL_UIApplication to indicate screen settings have changed
+ void screenParametersChanged();
+
+ private: // methods
+ /** do things on initial show (like centering on parent or on screen)
+ */
+ void initShow();
+
+ void initWindowAndView();
+
+ private: // data
+ static IosSalFrame* s_pCaptureFrame;
+
+ // make IosSalFrame non copyable
+ IosSalFrame( const IosSalFrame& );
+ IosSalFrame& operator=(const IosSalFrame&);
+};
+
+#endif // _SV_SALFRAME_H
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/ios/salframeview.h b/vcl/inc/ios/salframeview.h
new file mode 100644
index 000000000000..e631209c7b7f
--- /dev/null
+++ b/vcl/inc/ios/salframeview.h
@@ -0,0 +1,144 @@
+/* -*- 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 _VCL_SALFRAMEVIEW_H
+#define _VCL_SALFRAMEVIEW_H
+
+@interface SalFrameWindow : UIWindow
+{
+ IosSalFrame* mpFrame;
+ id mDraggingDestinationHandler;
+}
+-(id)initWithSalFrame: (IosSalFrame*)pFrame;
+-(BOOL)canBecomeKeyWindow;
+-(void)displayIfNeeded;
+-(void)becomeKeyWindow;
+-(void)resignKeyWindow;
+-(IosSalFrame*)getSalFrame;
+@end
+
+@interface SalFrameView : UIView <UITextInput>
+{
+ IosSalFrame* mpFrame;
+
+ // for UITextInput
+ UIEvent* mpLastEvent;
+ BOOL mbNeedSpecialKeyHandle;
+ BOOL mbInKeyInput;
+ BOOL mbKeyHandled;
+ NSRange mMarkedRange;
+ NSRange mSelectedRange;
+ id mDraggingDestinationHandler;
+ UIEvent* mpLastSuperEvent;
+
+ NSTimeInterval mfLastMagnifyTime;
+ float mfMagnifyDeltaSum;
+}
+-(id)initWithSalFrame: (IosSalFrame*)pFrame;
+-(IosSalFrame*)getSalFrame;
+-(BOOL)acceptsFirstResponder;
+-(BOOL)isOpaque;
+-(void)drawRect: (CGRect)aRect;
+-(void)magnifyWithEvent: (UIEvent*)pEvent;
+-(void)rotateWithEvent: (UIEvent*)pEvent;
+-(void)swipeWithEvent: (UIEvent*)pEvent;
+-(void)keyDown: (UIEvent*)pEvent;
+-(void)flagsChanged: (UIEvent*)pEvent;
+-(BOOL)sendKeyInputAndReleaseToFrame: (sal_uInt16)nKeyCode character: (sal_Unicode)aChar;
+-(BOOL)sendKeyInputAndReleaseToFrame: (sal_uInt16)nKeyCode character: (sal_Unicode)aChar modifiers: (unsigned int)nMod;
+-(BOOL)sendKeyToFrameDirect: (sal_uInt16)nKeyCode character: (sal_Unicode)aChar modifiers: (unsigned int)nMod;
+-(BOOL)sendSingleCharacter:(UIEvent*)pEvent;
+-(BOOL)handleKeyDownException:(UIEvent*)pEvent;
+-(void)clearLastEvent;
+/*
+ text action methods
+*/
+-(void)insertText:(id)aString;
+-(void)insertTab: (id)aSender;
+-(void)insertBacktab: (id)aSender;
+-(void)moveLeft: (id)aSender;
+-(void)moveLeftAndModifySelection: (id)aSender;
+-(void)moveBackwardAndModifySelection: (id)aSender;
+-(void)moveRight: (id)aSender;
+-(void)moveRightAndModifySelection: (id)aSender;
+-(void)moveForwardAndModifySelection: (id)aSender;
+-(void)moveUp: (id)aSender;
+-(void)moveDown: (id)aSender;
+-(void)moveWordBackward: (id)aSender;
+-(void)moveWordBackwardAndModifySelection: (id)aSender;
+-(void)moveWordLeftAndModifySelection: (id)aSender;
+-(void)moveWordForward: (id)aSender;
+-(void)moveWordForwardAndModifySelection: (id)aSender;
+-(void)moveWordRightAndModifySelection: (id)aSender;
+-(void)moveToEndOfLine: (id)aSender;
+-(void)moveToRightEndOfLine: (id)aSender;
+-(void)moveToLeftEndOfLine: (id)aSender;
+-(void)moveToEndOfLineAndModifySelection: (id)aSender;
+-(void)moveToRightEndOfLineAndModifySelection: (id)aSender;
+-(void)moveToLeftEndOfLineAndModifySelection: (id)aSender;
+-(void)moveToBeginningOfLine: (id)aSender;
+-(void)moveToBeginningOfLineAndModifySelection: (id)aSender;
+-(void)moveToEndOfParagraph: (id)aSender;
+-(void)moveToEndOfParagraphAndModifySelection: (id)aSender;
+-(void)moveToBeginningOfParagraph: (id)aSender;
+-(void)moveToBeginningOfParagraphAndModifySelection: (id)aSender;
+-(void)moveParagraphForward: (id)aSender;
+-(void)moveParagraphForwardAndModifySelection: (id)aSender;
+-(void)moveParagraphBackward: (id)aSender;
+-(void)moveParagraphBackwardAndModifySelection: (id)aSender;
+-(void)moveToEndOfDocument: (id)aSender;
+-(void)scrollToEndOfDocument: (id)aSender;
+-(void)moveToEndOfDocumentAndModifySelection: (id)aSender;
+-(void)moveToBeginningOfDocument: (id)aSender;
+-(void)scrollToBeginningOfDocument: (id)aSender;
+-(void)moveToBeginningOfDocumentAndModifySelection: (id)aSender;
+-(void)insertNewline: (id)aSender;
+-(void)deleteBackward: (id)aSender;
+-(void)deleteForward: (id)aSender;
+-(void)cancelOperation: (id)aSender;
+-(void)deleteBackwardByDecomposingPreviousCharacter: (id)aSender;
+-(void)deleteWordBackward: (id)aSender;
+-(void)deleteWordForward: (id)aSender;
+-(void)deleteToBeginningOfLine: (id)aSender;
+-(void)deleteToEndOfLine: (id)aSender;
+-(void)deleteToBeginningOfParagraph: (id)aSender;
+-(void)deleteToEndOfParagraph: (id)aSender;
+-(void)insertLineBreak: (id)aSender;
+-(void)insertParagraphSeparator: (id)aSender;
+-(void)selectWord: (id)aSender;
+-(void)selectLine: (id)aSender;
+-(void)selectParagraph: (id)aSender;
+-(void)selectAll: (id)aSender;
+-(void)noop: (id)aSender;
+-(id)parentAttribute;
+-(UIView *)viewElementForParent;
+@end
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/ios/salgdi.h b/vcl/inc/ios/salgdi.h
new file mode 100644
index 000000000000..51ef49219e9a
--- /dev/null
+++ b/vcl/inc/ios/salgdi.h
@@ -0,0 +1,401 @@
+/* -*- 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_SALGDI_H
+#define _SV_SALGDI_H
+
+#include "basegfx/polygon/b2dpolypolygon.hxx"
+
+#include "ios/iosvcltypes.h"
+#include <vcl/fontcapabilities.hxx>
+
+#include "outfont.hxx"
+#include "salgdi.hxx"
+
+#include <vector>
+
+class IosSalFrame;
+class IosSalBitmap;
+class ImplDevFontAttributes;
+
+class CGRect;
+
+// mac specific physically available font face
+class ImplIosFontData : public ImplFontData
+{
+public:
+ ImplIosFontData( const ImplDevFontAttributes&, NSString * );
+
+ virtual ~ImplIosFontData();
+
+ virtual ImplFontData* Clone() const;
+ virtual ImplFontEntry* CreateFontInstance( ImplFontSelectData& ) const;
+ virtual sal_IntPtr GetFontId() const;
+
+ const ImplFontCharMap* GetImplFontCharMap() const;
+ bool GetImplFontCapabilities(vcl::FontCapabilities &rFontCapabilities) const;
+ bool HasChar( sal_uInt32 cChar ) const;
+
+ void ReadOs2Table() const;
+ void ReadIosCmapEncoding() const;
+ bool HasCJKSupport() const;
+
+private:
+ mutable const ImplFontCharMap* mpCharMap;
+ mutable vcl::FontCapabilities maFontCapabilities;
+ mutable bool mbOs2Read; // true if OS2-table related info is valid
+ mutable bool mbHasOs2Table;
+ mutable bool mbCmapEncodingRead; // true if cmap encoding of Ios font is read
+ mutable bool mbHasCJKSupport; // #i78970# CJK fonts need extra leading
+ mutable bool mbFontCapabilitiesRead;
+};
+
+// abstracting quartz color instead of having to use an CGFloat[] array
+class RGBAColor
+{
+public:
+ RGBAColor( SalColor );
+ RGBAColor( float fRed, float fGreen, float fBlue, float fAlpha ); //NOTUSEDYET
+ const float* AsArray() const { return &mfRed; }
+ bool IsVisible() const { return (mfAlpha > 0); }
+ void SetAlpha( float fAlpha ) { mfAlpha = fAlpha; }
+private:
+ float mfRed, mfGreen, mfBlue, mfAlpha;
+};
+
+// -------------------
+// - IosSalGraphics -
+// -------------------
+class IosSalGraphics : public SalGraphics
+{
+protected:
+ IosSalFrame* mpFrame;
+ CGLayerRef mxLayer; // Quartz graphics layer
+ CGContextRef mrContext; // Quartz drawing context
+ class XorEmulation* mpXorEmulation;
+ int mnXorMode; // 0: off 1: on 2: invert only
+ int mnWidth;
+ int mnHeight;
+ int mnBitmapDepth; // zero unless bitmap
+ /// device resolution of this graphics
+ long mnRealDPIX;
+ long mnRealDPIY;
+ /// some graphics implementations (e.g. IosSalInfoPrinter) scale
+ /// everything down by a factor (see SetupPrinterGraphics for details)
+ /// so we have to compensate for it with the inverse factor
+ double mfFakeDPIScale;
+
+ /// path representing current clip region
+ CGMutablePathRef mxClipPath;
+
+ /// Drawing colors
+ /// pen color RGBA
+ RGBAColor maLineColor;
+ /// brush color RGBA
+ RGBAColor maFillColor;
+
+ // Device Font settings
+ const ImplIosFontData* mpIosFontData;
+ /// <1.0: font is squeezed, >1.0 font is stretched, else 1.0
+ float mfFontStretch;
+ /// allows text to be rendered without antialiasing
+ bool mbNonAntialiasedText;
+
+ // Graphics types
+
+ /// is this a printer graphics
+ bool mbPrinter;
+ /// is this a virtual device graphics
+ bool mbVirDev;
+ /// is this a window graphics
+ bool mbWindow;
+
+public:
+ IosSalGraphics();
+ virtual ~IosSalGraphics();
+
+ bool IsPenVisible() const { return maLineColor.IsVisible(); }
+ bool IsBrushVisible() const { return maFillColor.IsVisible(); }
+
+ void SetWindowGraphics( IosSalFrame* pFrame );
+ void SetPrinterGraphics( CGContextRef, long nRealDPIX, long nRealDPIY, double fFakeScale );
+ void SetVirDevGraphics( CGLayerRef, CGContextRef, int nBitDepth = 0 );
+
+ void initResolution( UIWindow* );
+ void copyResolution( IosSalGraphics& );
+ void updateResolution();
+
+ bool IsWindowGraphics() const { return mbWindow; }
+ bool IsPrinterGraphics() const { return mbPrinter; }
+ bool IsVirDevGraphics() const { return mbVirDev; }
+ IosSalFrame* getGraphicsFrame() const { return mpFrame; }
+ void setGraphicsFrame( IosSalFrame* pFrame ) { mpFrame = pFrame; }
+
+ void ImplDrawPixel( long nX, long nY, const RGBAColor& ); // helper to draw single pixels
+
+ bool CheckContext();
+ void UpdateWindow( CGRect& ); // delivered in NSView coordinates
+ void RefreshRect( const CGRect& );
+ void RefreshRect(float lX, float lY, float lWidth, float lHeight);
+
+ void SetState();
+ void UnsetState();
+ // InvalidateContext does an UnsetState and sets mrContext to 0
+ void InvalidateContext();
+
+ virtual bool setClipRegion( const Region& );
+
+ // draw --> LineColor and FillColor and RasterOp and ClipRegion
+ virtual void drawPixel( long nX, long nY );
+ virtual void drawPixel( long nX, long nY, SalColor nSalColor );
+ virtual void drawLine( long nX1, long nY1, long nX2, long nY2 );
+ virtual void drawRect( long nX, long nY, long nWidth, long nHeight );
+ virtual void drawPolyLine( sal_uLong nPoints, const SalPoint* pPtAry );
+ virtual void drawPolygon( sal_uLong nPoints, const SalPoint* pPtAry );
+ virtual void drawPolyPolygon( sal_uLong nPoly, const sal_uLong* pPoints, PCONSTSALPOINT* pPtAry );
+ virtual bool drawPolyPolygon( const ::basegfx::B2DPolyPolygon&, double fTransparency );
+ virtual sal_Bool drawPolyLineBezier( sal_uLong nPoints, const SalPoint* pPtAry, const sal_uInt8* pFlgAry );
+ virtual sal_Bool drawPolygonBezier( sal_uLong nPoints, const SalPoint* pPtAry, const sal_uInt8* pFlgAry );
+ virtual sal_Bool drawPolyPolygonBezier( sal_uLong nPoly, const sal_uLong* pPoints, const SalPoint* const* pPtAry, const sal_uInt8* const* pFlgAry );
+ virtual bool drawPolyLine( const ::basegfx::B2DPolygon&, double fTransparency, const ::basegfx::B2DVector& rLineWidths, basegfx::B2DLineJoin );
+
+ // CopyArea --> No RasterOp, but ClipRegion
+ virtual void copyArea( long nDestX, long nDestY, long nSrcX, long nSrcY, long nSrcWidth,
+ long nSrcHeight, sal_uInt16 nFlags );
+
+ // CopyBits and DrawBitmap --> RasterOp and ClipRegion
+ // CopyBits() --> pSrcGraphics == NULL, then CopyBits on same Graphics
+ virtual void copyBits( const SalTwoRect* pPosAry, SalGraphics* pSrcGraphics );
+ virtual void drawBitmap( const SalTwoRect* pPosAry, const SalBitmap& rSalBitmap );
+ virtual void drawBitmap( const SalTwoRect* pPosAry,
+ const SalBitmap& rSalBitmap,
+ SalColor nTransparentColor );
+ virtual void drawBitmap( const SalTwoRect* pPosAry,
+ const SalBitmap& rSalBitmap,
+ const SalBitmap& rTransparentBitmap );
+ virtual void drawMask( const SalTwoRect* pPosAry,
+ const SalBitmap& rSalBitmap,
+ SalColor nMaskColor );
+
+ virtual SalBitmap* getBitmap( long nX, long nY, long nWidth, long nHeight );
+ virtual SalColor getPixel( long nX, long nY );
+
+ // invert --> ClipRegion (only Windows or VirDevs)
+ virtual void invert( long nX, long nY, long nWidth, long nHeight, SalInvert nFlags);
+ virtual void invert( sal_uLong nPoints, const SalPoint* pPtAry, SalInvert nFlags );
+
+ virtual sal_Bool drawEPS( long nX, long nY, long nWidth, long nHeight, void* pPtr, sal_uLong nSize );
+
+ virtual bool drawAlphaBitmap( const SalTwoRect&,
+ const SalBitmap& rSourceBitmap,
+ const SalBitmap& rAlphaBitmap );
+
+ virtual bool drawAlphaRect( long nX, long nY, long nWidth,
+ long nHeight, sal_uInt8 nTransparency );
+
+ CGPoint* makeCGptArray(sal_uLong nPoints, const SalPoint* pPtAry);
+ // native widget rendering methods that require mirroring
+ virtual sal_Bool hitTestNativeControl( ControlType nType, ControlPart nPart, const Rectangle& rControlRegion,
+ const Point& aPos, sal_Bool& rIsInside );
+ virtual sal_Bool drawNativeControl( ControlType nType, ControlPart nPart, const Rectangle& rControlRegion,
+ ControlState nState, const ImplControlValue& aValue,
+ const rtl::OUString& aCaption );
+ virtual sal_Bool drawNativeControlText( ControlType nType, ControlPart nPart, const Rectangle& rControlRegion,
+ ControlState nState, const ImplControlValue& aValue,
+ const rtl::OUString& aCaption );
+ virtual sal_Bool getNativeControlRegion( ControlType nType, ControlPart nPart, const Rectangle& rControlRegion, ControlState nState,
+ const ImplControlValue& aValue, const rtl::OUString& aCaption,
+ Rectangle &rNativeBoundingRegion, Rectangle &rNativeContentRegion );
+
+ // get device resolution
+ virtual void GetResolution( long& rDPIX, long& rDPIY );
+ // get the depth of the device
+ virtual sal_uInt16 GetBitCount() const;
+ // get the width of the device
+ virtual long GetGraphicsWidth() const;
+
+ // set the clip region to empty
+ virtual void ResetClipRegion();
+
+ // set the line color to transparent (= don't draw lines)
+ virtual void SetLineColor();
+ // set the line color to a specific color
+ virtual void SetLineColor( SalColor nSalColor );
+ // set the fill color to transparent (= don't fill)
+ virtual void SetFillColor();
+ // set the fill color to a specific color, shapes will be
+ // filled accordingly
+ virtual void SetFillColor( SalColor nSalColor );
+ // enable/disable XOR drawing
+ virtual void SetXORMode( bool bSet, bool bInvertOnly );
+ // set line color for raster operations
+ virtual void SetROPLineColor( SalROPColor nROPColor );
+ // set fill color for raster operations
+ virtual void SetROPFillColor( SalROPColor nROPColor );
+ // set the text color to a specific color
+ virtual void SetTextColor( SalColor nSalColor );
+ // set the font
+ virtual sal_uInt16 SetFont( ImplFontSelectData*, int nFallbackLevel );
+ // get the current font's etrics
+ virtual void GetFontMetric( ImplFontMetricData*, int nFallbackLevel );
+ // get kernign pairs of the current font
+ // return only PairCount if (pKernPairs == NULL)
+ virtual sal_uLong GetKernPairs( sal_uLong nPairs, ImplKernPairData* pKernPairs );
+ // get the repertoire of the current font
+ virtual const ImplFontCharMap* GetImplFontCharMap() const;
+ virtual bool GetImplFontCapabilities(vcl::FontCapabilities &rFontCapabilities) const;
+ // graphics must fill supplied font list
+ virtual void GetDevFontList( ImplDevFontList* );
+ // graphics should call ImplAddDevFontSubstitute on supplied
+ // OutputDevice for all its device specific preferred font substitutions
+ virtual void GetDevFontSubstList( OutputDevice* );
+ virtual bool AddTempDevFont( ImplDevFontList*, const String& rFileURL, const String& rFontName );
+ // CreateFontSubset: a method to get a subset of glyhps of a font
+ // inside a new valid font file
+ // returns TRUE if creation of subset was successfull
+ // parameters: rToFile: contains a osl file URL to write the subset to
+ // pFont: describes from which font to create a subset
+ // pGlyphIDs: the glyph ids to be extracted
+ // pEncoding: the character code corresponding to each glyph
+ // pWidths: the advance widths of the correspoding glyphs (in PS font units)
+ // nGlyphs: the number of glyphs
+ // rInfo: additional outgoing information
+ // implementation note: encoding 0 with glyph id 0 should be added implicitly
+ // as "undefined character"
+ virtual sal_Bool CreateFontSubset( const rtl::OUString& rToFile,
+ const ImplFontData* pFont,
+ long* pGlyphIDs,
+ sal_uInt8* pEncoding,
+ sal_Int32* pWidths,
+ int nGlyphs,
+ FontSubsetInfo& rInfo // out parameter
+ );
+
+ // GetFontEncodingVector: a method to get the encoding map Unicode
+ // to font encoded character; this is only used for type1 fonts and
+ // may return NULL in case of unknown encoding vector
+ // if ppNonEncoded is set and non encoded characters (that is type1
+ // glyphs with only a name) exist it is set to the corresponding
+ // map for non encoded glyphs; the encoding vector contains -1
+ // as encoding for these cases
+ virtual const Ucs2SIntMap* GetFontEncodingVector( const ImplFontData*, const Ucs2OStrMap** ppNonEncoded );
+
+ // GetEmbedFontData: gets the font data for a font marked
+ // embeddable by GetDevFontList or NULL in case of error
+ // parameters: pFont: describes the font in question
+ // pWidths: the widths of all glyphs from char code 0 to 255
+ // pWidths MUST support at least 256 members;
+ // rInfo: additional outgoing information
+ // pDataLen: out parameter, contains the byte length of the returned buffer
+ virtual const void* GetEmbedFontData( const ImplFontData*,
+ const sal_Ucs* pUnicodes,
+ sal_Int32* pWidths,
+ FontSubsetInfo& rInfo,
+ long* pDataLen );
+ // frees the font data again
+ virtual void FreeEmbedFontData( const void* pData, long nDataLen );
+
+ virtual void GetGlyphWidths( const ImplFontData*,
+ bool bVertical,
+ Int32Vector& rWidths,
+ Ucs2UIntMap& rUnicodeEnc );
+
+ virtual sal_Bool GetGlyphBoundRect( sal_GlyphId nIndex, Rectangle& );
+ virtual sal_Bool GetGlyphOutline( sal_GlyphId nIndex, basegfx::B2DPolyPolygon& );
+
+ virtual SalLayout* GetTextLayout( ImplLayoutArgs&, int nFallbackLevel );
+ virtual void DrawServerFontLayout( const ServerFontLayout& );
+ virtual bool supportsOperation( OutDevSupportType ) const;
+
+ // Query the platform layer for control support
+ virtual sal_Bool IsNativeControlSupported( ControlType nType, ControlPart nPart );
+
+ virtual SystemGraphicsData GetGraphicsData() const;
+ virtual SystemFontData GetSysFontData( int /* nFallbacklevel */ ) const;
+
+private:
+ // differences between VCL, Quartz and kHiThemeOrientation coordinate systems
+ // make some graphics seem to be vertically-mirrored from a VCL perspective
+ bool IsFlipped() const { return mbWindow; }
+
+ void ApplyXorContext();
+ void Pattern50Fill();
+ UInt32 getState( ControlState nState );
+ UInt32 getTrackState( ControlState nState );
+};
+
+class XorEmulation
+{
+public:
+ XorEmulation();
+ /*final*/ ~XorEmulation();
+
+ void SetTarget( int nWidth, int nHeight, int nBitmapDepth, CGContextRef, CGLayerRef );
+ bool UpdateTarget();
+ void Enable() { mbIsEnabled = true; }
+ void Disable() { mbIsEnabled = false; }
+ bool IsEnabled() const { return mbIsEnabled; }
+ CGContextRef GetTargetContext() const { return mxTargetContext; }
+ CGContextRef GetMaskContext() const { return (mbIsEnabled ? mxMaskContext : NULL); }
+
+private:
+ CGLayerRef mxTargetLayer;
+ CGContextRef mxTargetContext;
+ CGContextRef mxMaskContext;
+ CGContextRef mxTempContext;
+ sal_uLong* mpMaskBuffer;
+ sal_uLong* mpTempBuffer;
+ int mnBufferLongs;
+ bool mbIsEnabled;
+};
+
+
+// --- some trivial inlines
+
+inline void IosSalGraphics::RefreshRect( const CGRect& rRect )
+{
+ RefreshRect( rRect.origin.x, rRect.origin.y, rRect.size.width, rRect.size.height );
+}
+
+inline RGBAColor::RGBAColor( SalColor nSalColor )
+: mfRed( SALCOLOR_RED(nSalColor) * (1.0/255))
+, mfGreen( SALCOLOR_GREEN(nSalColor) * (1.0/255))
+, mfBlue( SALCOLOR_BLUE(nSalColor) * (1.0/255))
+, mfAlpha( 1.0 ) // opaque
+{}
+
+inline RGBAColor::RGBAColor( float fRed, float fGreen, float fBlue, float fAlpha )
+: mfRed( fRed )
+, mfGreen( fGreen )
+, mfBlue( fBlue )
+, mfAlpha( fAlpha )
+{}
+
+#endif // _SV_SALGDI_H
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/ios/salinst.h b/vcl/inc/ios/salinst.h
new file mode 100644
index 000000000000..9983804bf665
--- /dev/null
+++ b/vcl/inc/ios/salinst.h
@@ -0,0 +1,199 @@
+/* -*- 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_SALINST_H
+#define _SV_SALINST_H
+
+#include "osl/mutex.hxx"
+#include "osl/thread.hxx"
+#include "osl/conditn.h"
+#include <vcl/solarmutex.hxx>
+
+#include "ios/iosvcltypes.h"
+
+#include "salinst.hxx"
+
+#include <list>
+
+class IosSalFrame;
+class ApplicationEvent;
+class Image;
+
+// -----------------
+// - SalYieldMutex -
+// -----------------
+
+class SalYieldMutex : public vcl::SolarMutexObject
+{
+ sal_uLong mnCount;
+ oslThreadIdentifier mnThreadId;
+
+public:
+ SalYieldMutex();
+ virtual void acquire();
+ virtual void release();
+ virtual sal_Bool tryToAcquire();
+ sal_uLong GetAcquireCount() const { return mnCount; }
+ oslThreadIdentifier GetThreadId() const { return mnThreadId; }
+};
+
+#define YIELD_GUARD osl::SolarGuard aGuard( GetSalData()->mpFirstInstance->GetYieldMutex() )
+
+
+// -------------------
+// - SalInstanceData -
+// -------------------
+
+//struct SalInstanceData
+//{
+//public:
+//};
+
+// ------------------
+// - IosSalInstance -
+// ------------------
+
+class IosSalInstance : public SalInstance
+{
+ struct SalUserEvent
+ {
+ IosSalFrame* mpFrame;
+ void* mpData;
+ sal_uInt16 mnType;
+
+ SalUserEvent( IosSalFrame* pFrame, void* pData, sal_uInt16 nType ) :
+ mpFrame( pFrame ), mpData( pData ), mnType( nType )
+ {}
+ };
+
+public:
+ SalYieldMutex* mpSalYieldMutex;
+ rtl::OUString maDefaultPrinter;
+ oslThreadIdentifier maMainThread;
+ bool mbWaitingYield;
+ int mnActivePrintJobs;
+ std::list< SalUserEvent > maUserEvents;
+ oslMutex maUserEventListMutex;
+ oslCondition maWaitingYieldCond;
+
+ typedef std::list<const ApplicationEvent*> AppEventList;
+ static AppEventList aAppEventList;
+
+public:
+ IosSalInstance();
+ virtual ~IosSalInstance();
+
+ virtual SalSystem* CreateSystem();
+ virtual void DestroySystem(SalSystem*);
+ virtual SalFrame* CreateChildFrame( SystemParentData* pParent, sal_uLong nStyle );
+ virtual SalFrame* CreateFrame( SalFrame* pParent, sal_uLong nStyle );
+ virtual void DestroyFrame( SalFrame* pFrame );
+ virtual SalObject* CreateObject( SalFrame* pParent, SystemWindowData* pWindowData, sal_Bool bShow = sal_True );
+ virtual void DestroyObject( SalObject* pObject );
+ virtual SalVirtualDevice* CreateVirtualDevice( SalGraphics* pGraphics,
+ long nDX, long nDY,
+ sal_uInt16 nBitCount, const SystemGraphicsData *pData );
+ virtual void DestroyVirtualDevice( SalVirtualDevice* pDevice );
+
+ virtual SalInfoPrinter* CreateInfoPrinter( SalPrinterQueueInfo* pQueueInfo,
+ ImplJobSetup* pSetupData );
+ virtual void DestroyInfoPrinter( SalInfoPrinter* pPrinter );
+ virtual SalPrinter* CreatePrinter( SalInfoPrinter* pInfoPrinter );
+ virtual void DestroyPrinter( SalPrinter* pPrinter );
+ virtual void GetPrinterQueueInfo( ImplPrnQueueList* pList );
+ virtual void GetPrinterQueueState( SalPrinterQueueInfo* pInfo );
+ virtual void DeletePrinterQueueInfo( SalPrinterQueueInfo* pInfo );
+ virtual String GetDefaultPrinter();
+ virtual SalTimer* CreateSalTimer();
+ virtual SalI18NImeStatus* CreateI18NImeStatus();
+ virtual SalSystem* CreateSalSystem();
+ virtual SalBitmap* CreateSalBitmap();
+ virtual osl::SolarMutex* GetYieldMutex();
+ virtual sal_uLong ReleaseYieldMutex();
+ virtual void AcquireYieldMutex( sal_uLong nCount );
+ virtual bool CheckYieldMutex();
+ virtual void Yield( bool bWait, bool bHandleAllCurrentEvents );
+ virtual bool AnyInput( sal_uInt16 nType );
+ virtual SalMenu* CreateMenu( sal_Bool bMenuBar, Menu* pVCLMenu );
+ virtual void DestroyMenu( SalMenu* );
+ virtual SalMenuItem* CreateMenuItem( const SalItemParams* pItemData );
+ virtual void DestroyMenuItem( SalMenuItem* );
+ virtual SalSession* CreateSalSession();
+ virtual void* GetConnectionIdentifier( ConnectionIdentifierType& rReturnedType, int& rReturnedBytes );
+ virtual void AddToRecentDocumentList(const rtl::OUString& rFileUrl, const rtl::OUString& rMimeType);
+ virtual void SetEventCallback( void* pInstance, bool(*pCallback)(void*,void*,int) );
+ virtual void SetErrorEventCallback( void* pInstance, bool(*pCallback)(void*,void*,int) );
+
+ // dtrans implementation
+ virtual com::sun::star::uno::Reference< com::sun::star::uno::XInterface >
+ CreateClipboard( const com::sun::star::uno::Sequence< com::sun::star::uno::Any >& i_rArguments );
+ virtual com::sun::star::uno::Reference< com::sun::star::uno::XInterface > CreateDragSource();
+ virtual com::sun::star::uno::Reference< com::sun::star::uno::XInterface > CreateDropTarget();
+
+ void wakeupYield();
+
+ public:
+ friend class IosSalFrame;
+
+ void PostUserEvent( IosSalFrame* pFrame, sal_uInt16 nType, void* pData );
+ void delayedSettingsChanged( bool bInvalidate );
+
+ bool isUIAppThread() const;
+
+ void startedPrintJob() { mnActivePrintJobs++; }
+ void endedPrintJob() { mnActivePrintJobs--; }
+
+ // event subtypes for NSApplicationDefined events
+ static const short AppExecuteSVMain = 0x7fff;
+ static const short AppEndLoopEvent = 1;
+ static const short AppStartTimerEvent = 10;
+ static const short AppleRemoteEvent = 15;
+ static const short YieldWakeupEvent = 20;
+};
+
+// helper class: inverted solar guard
+class YieldMutexReleaser
+{
+ sal_uLong mnCount;
+ public:
+ YieldMutexReleaser();
+ ~YieldMutexReleaser();
+};
+
+// helper class
+rtl::OUString GetOUString( CFStringRef );
+rtl::OUString GetOUString( NSString* );
+CFStringRef CreateCFString( const rtl::OUString& );
+NSString* CreateNSString( const rtl::OUString& );
+
+CGImageRef CreateCGImage( const Image& );
+UIImage* CreateUIImage( const Image& );
+
+#endif // _SV_SALINST_H
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/ios/salmathutils.hxx b/vcl/inc/ios/salmathutils.hxx
new file mode 100644
index 000000000000..e81f68e46b0b
--- /dev/null
+++ b/vcl/inc/ios/salmathutils.hxx
@@ -0,0 +1,90 @@
+/* -*- 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_SALMATHUTILS_HXX
+#define _SV_SALMATHUTILS_HXX
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+// ------------------------------------------------------------------
+//
+// Structures
+//
+// ------------------------------------------------------------------
+
+// LRectCoor is an abreviation for rectangular coordinates
+// represented as long integers
+
+struct LRectCoor
+{
+ long x;
+ long y;
+ long z;
+};
+
+// ------------------------------------------------------------------
+//
+// Type Definitions
+//
+// ------------------------------------------------------------------
+
+// LRectCoorVec is an abreviation for vectors in rectangular
+// coordinates represented as long integers
+
+typedef struct LRectCoor LRectCoor;
+typedef LRectCoor *LRectCoorVector;
+typedef LRectCoorVector *LRectCoorTensor;
+
+// ------------------------------------------------------------------
+//
+// Function Headers
+//
+// ------------------------------------------------------------------
+
+void CSwap ( char &rX, char &rY );
+void UCSwap ( unsigned char &rX, unsigned char &rY );
+void SSwap ( short &rX, short &rY );
+void USSwap ( unsigned short &rX, unsigned short &rY );
+void LSwap ( long &rX, long &rY );
+void ULSwap ( unsigned long &rX, unsigned long &rY );
+
+// ------------------------------------------------------------------
+
+unsigned long Euclidian2Norm ( const LRectCoorVector pVec );
+
+// ------------------------------------------------------------------
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // _SV_SALMATHUTILS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/ios/salmenu.h b/vcl/inc/ios/salmenu.h
new file mode 100644
index 000000000000..3f143ac1d976
--- /dev/null
+++ b/vcl/inc/ios/salmenu.h
@@ -0,0 +1,122 @@
+/* -*- 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_SALMENU_H
+#define _SV_SALMENU_H
+
+#include "premac.h"
+#include <UIKit/UIKit.h>
+#include "postmac.h"
+
+#include "salmenu.hxx"
+
+#include <vector>
+
+class IosSalFrame;
+class IosSalMenuItem;
+
+class IosSalMenu : public SalMenu
+{
+ std::vector< IosSalMenuItem* > maItems;
+
+public: // for OOStatusView
+ struct MenuBarButtonEntry
+ {
+ SalMenuButtonItem maButton;
+ UIImage* mpUIImage; // cached image
+ NSString* mpToolTipString;
+
+ MenuBarButtonEntry() : mpUIImage( nil ), mpToolTipString( nil ) {}
+ MenuBarButtonEntry( const SalMenuButtonItem& i_rItem )
+ : maButton( i_rItem), mpUIImage( nil ), mpToolTipString( nil ) {}
+ };
+private:
+ std::vector< MenuBarButtonEntry > maButtons;
+
+ MenuBarButtonEntry* findButtonItem( sal_uInt16 i_nItemId );
+ void releaseButtonEntry( MenuBarButtonEntry& i_rEntry );
+ static void statusLayout();
+public:
+ IosSalMenu( bool bMenuBar );
+ virtual ~IosSalMenu();
+
+ virtual sal_Bool VisibleMenuBar(); // must return TRUE to actually DISPLAY native menu bars
+ // otherwise only menu messages are processed (eg, OLE on Windows)
+
+ virtual void InsertItem( SalMenuItem* pSalMenuItem, unsigned nPos );
+ virtual void RemoveItem( unsigned nPos );
+ virtual void SetSubMenu( SalMenuItem* pSalMenuItem, SalMenu* pSubMenu, unsigned nPos );
+ virtual void SetFrame( const SalFrame* pFrame );
+ virtual void CheckItem( unsigned nPos, sal_Bool bCheck );
+ virtual void EnableItem( unsigned nPos, sal_Bool bEnable );
+ virtual void SetItemText( unsigned nPos, SalMenuItem* pSalMenuItem, const XubString& rText );
+ virtual void SetItemImage( unsigned nPos, SalMenuItem* pSalMenuItem, const Image& rImage);
+ virtual void GetSystemMenuData( SystemMenuData* pData );
+ virtual bool ShowNativePopupMenu(FloatingWindow * pWin, const Rectangle& rRect, sal_uLong nFlags);
+ virtual bool AddMenuBarButton( const SalMenuButtonItem& );
+ virtual void RemoveMenuBarButton( sal_uInt16 nId );
+ virtual Rectangle GetMenuBarButtonRectPixel( sal_uInt16 i_nItemId, SalFrame* i_pReferenceFrame );
+
+ int getItemIndexByPos( sal_uInt16 nPos ) const;
+ const IosSalFrame* getFrame() const;
+
+ void setMainMenu();
+ static void unsetMainMenu();
+ static void setDefaultMenu();
+ static void enableMainMenu( bool bEnable );
+ static void addFallbackMenuItem( UIMenuItem* NewItem );
+ static void removeFallbackMenuItem( UIMenuItem* pOldItem );
+
+ const std::vector< MenuBarButtonEntry >& getButtons() const { return maButtons; }
+
+ bool mbMenuBar; // true - Menubar, false - Menu
+ UIMenuController* mpMenu;
+ Menu* mpVCLMenu; // the corresponding vcl Menu object
+ const IosSalFrame* mpFrame; // the frame to dispatch the menu events to
+ IosSalMenu* mpParentSalMenu; // the parent menu that contains us (and perhaps has a frame)
+
+ static const IosSalMenu* pCurrentMenuBar;
+
+};
+
+class IosSalMenuItem : public SalMenuItem
+{
+public:
+ IosSalMenuItem( const SalItemParams* );
+ virtual ~IosSalMenuItem();
+
+ sal_uInt16 mnId; // Item ID
+ Menu* mpVCLMenu; // VCL Menu into which this MenuItem is inserted
+ IosSalMenu* mpParentMenu; // The menu in which this menu item is inserted
+ IosSalMenu* mpSubMenu; // Sub menu of this item (if defined)
+ UIMenuItem* mpMenuItem; // The UIMenuItem
+};
+
+#endif // _SV_SALMENU_H
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/ios/salnstimer.h b/vcl/inc/ios/salnstimer.h
new file mode 100644
index 000000000000..cf98276747ee
--- /dev/null
+++ b/vcl/inc/ios/salnstimer.h
@@ -0,0 +1,43 @@
+/* -*- 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 _VCL_SALNSTIMER_H
+#define _VCL_SALNSTIMER_H
+
+#include "premac.h"
+#include <Foundation/Foundation.h>
+#include "postmac.h"
+
+@interface TimerCallbackCaller : NSObject
+{
+}
+-(void)timerElapsed:(NSTimer*)pTimer;
+@end
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/ios/salobj.h b/vcl/inc/ios/salobj.h
new file mode 100644
index 000000000000..3203a0d46e93
--- /dev/null
+++ b/vcl/inc/ios/salobj.h
@@ -0,0 +1,86 @@
+/* -*- 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_SALOBJ_H
+#define _SV_SALOBJ_H
+
+#include "vcl/sysdata.hxx"
+#include "salobj.hxx"
+
+class IosSalFrame;
+class IosSalObject;
+
+
+// -----------------
+// - SalObjectData -
+// -----------------
+
+struct SalObjectData
+{
+};
+
+class IosSalObject : public SalObject
+{
+public:
+ IosSalFrame* mpFrame; // parent frame
+ SystemEnvData maSysData;
+
+ long mnClipX;
+ long mnClipY;
+ long mnClipWidth;
+ long mnClipHeight;
+ bool mbClip;
+
+ long mnX;
+ long mnY;
+ long mnWidth;
+ long mnHeight;
+
+ void setClippedPosSize();
+
+ IosSalObject( IosSalFrame* pFrame );
+ virtual ~IosSalObject();
+
+ virtual void ResetClipRegion();
+ virtual sal_uInt16 GetClipRegionType();
+ virtual void BeginSetClipRegion( sal_uLong nRects );
+ virtual void UnionClipRegion( long nX, long nY, long nWidth, long nHeight );
+ virtual void EndSetClipRegion();
+ virtual void SetPosSize( long nX, long nY, long nWidth, long nHeight );
+ virtual void Show( sal_Bool bVisible );
+ virtual void Enable( sal_Bool nEnable );
+ virtual void GrabFocus();
+ virtual void SetBackground();
+ virtual void SetBackground( SalColor nSalColor );
+ virtual const SystemEnvData* GetSystemData() const;
+ virtual void InterceptChildWindowKeyDown( sal_Bool bIntercept );
+};
+
+#endif // _SV_SALOBJ_H
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/ios/salprn.h b/vcl/inc/ios/salprn.h
new file mode 100644
index 000000000000..cd90a0f881df
--- /dev/null
+++ b/vcl/inc/ios/salprn.h
@@ -0,0 +1,173 @@
+/* -*- 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_SALPRN_H
+#define _SV_SALPRN_H
+
+#include "ios/iosvcltypes.h"
+
+#include "salprn.hxx"
+
+#include <boost/shared_array.hpp>
+
+
+// ---------------------
+// - IosSalInfoPrinter -
+// ---------------------
+
+class IosSalGraphics;
+
+class IosSalInfoPrinter : public SalInfoPrinter
+{
+ /// Printer graphics
+ IosSalGraphics* mpGraphics;
+ /// is Graphics used
+ bool mbGraphics;
+ /// job active ?
+ bool mbJob;
+
+ UIPrintFormatter* mpPrinter;
+ /// cocoa print info object
+ UIPrintInfo* mpPrintInfo;
+
+ /// FIXME: get real printer context for infoprinter if possible
+ /// fake context for info printer
+ /// graphics context for Quartz 2D
+ CGContextRef mrContext;
+ /// memory for graphics bitmap context for querying metrics
+ boost::shared_array< sal_uInt8 > maContextMemory;
+
+ // since changes to UIPrintInfo during a job are ignored
+ // we have to care for some settings ourselves
+ // currently we do this for orientation;
+ // really needed however is a solution for paper formats
+ Orientation mePageOrientation;
+
+ int mnStartPageOffsetX;
+ int mnStartPageOffsetY;
+ sal_Int32 mnCurPageRangeStart;
+ sal_Int32 mnCurPageRangeCount;
+
+ public:
+ IosSalInfoPrinter( const SalPrinterQueueInfo& pInfo );
+ virtual ~IosSalInfoPrinter();
+
+ void SetupPrinterGraphics( CGContextRef i_xContext ) const;
+
+ virtual SalGraphics* GetGraphics();
+ virtual void ReleaseGraphics( SalGraphics* i_pGraphics );
+ virtual sal_Bool Setup( SalFrame* i_pFrame, ImplJobSetup* i_pSetupData );
+ virtual sal_Bool SetPrinterData( ImplJobSetup* pSetupData );
+ virtual sal_Bool SetData( sal_uLong i_nFlags, ImplJobSetup* i_pSetupData );
+ virtual void GetPageInfo( const ImplJobSetup* i_pSetupData,
+ long& o_rOutWidth, long& o_rOutHeight,
+ long& o_rPageOffX, long& o_rPageOffY,
+ long& o_rPageWidth, long& o_rPageHeight );
+ virtual sal_uLong GetCapabilities( const ImplJobSetup* i_pSetupData, sal_uInt16 i_nType );
+ virtual sal_uLong GetPaperBinCount( const ImplJobSetup* i_pSetupData );
+ virtual String GetPaperBinName( const ImplJobSetup* i_pSetupData, sal_uLong i_nPaperBin );
+ virtual void InitPaperFormats( const ImplJobSetup* i_pSetupData );
+ virtual int GetLandscapeAngle( const ImplJobSetup* i_pSetupData );
+
+ // the artificial separation between InfoPrinter and Printer
+ // is not really useful for us
+ // so let's make IosSalPrinter just a forwarder to IosSalInfoPrinter
+ // and concentrate the real work in one class
+ // implement pull model print system
+ sal_Bool StartJob( const String* i_pFileName,
+ const String& rJobName,
+ const String& i_rAppName,
+ ImplJobSetup* i_pSetupData,
+ vcl::PrinterController& i_rController );
+ sal_Bool EndJob();
+ sal_Bool AbortJob();
+ SalGraphics* StartPage( ImplJobSetup* i_pSetupData, sal_Bool i_bNewJobData );
+ sal_Bool EndPage();
+ sal_uLong GetErrorCode() const;
+
+ UIPrintInfo* getPrintInfo() const { return mpPrintInfo; }
+ void setStartPageOffset( int nOffsetX, int nOffsetY ) { mnStartPageOffsetX = nOffsetX; mnStartPageOffsetY = nOffsetY; }
+ sal_Int32 getCurPageRangeStart() const { return mnCurPageRangeStart; }
+ sal_Int32 getCurPageRangeCount() const { return mnCurPageRangeCount; }
+
+ // match width/height against known paper formats, possibly switching orientation
+ const PaperInfo* matchPaper( long i_nWidth, long i_nHeight, Orientation& o_rOrientation ) const;
+ void setPaperSize( long i_nWidth, long i_nHeight, Orientation i_eSetOrientation );
+
+ private:
+ IosSalInfoPrinter( const IosSalInfoPrinter& );
+ IosSalInfoPrinter& operator=(const IosSalInfoPrinter&);
+};
+
+// -----------------
+// - IosSalPrinter -
+// -----------------
+
+class IosSalPrinter : public SalPrinter
+{
+ IosSalInfoPrinter* mpInfoPrinter; // pointer to the compatible InfoPrinter
+ public:
+ IosSalPrinter( IosSalInfoPrinter* i_pInfoPrinter );
+ virtual ~IosSalPrinter();
+
+ virtual sal_Bool StartJob( const XubString* i_pFileName,
+ const XubString& i_rJobName,
+ const XubString& i_rAppName,
+ sal_uLong i_nCopies,
+ bool i_bCollate,
+ bool i_bDirect,
+ ImplJobSetup* i_pSetupData );
+ // implement pull model print system
+ virtual sal_Bool StartJob( const String* i_pFileName,
+ const String& rJobName,
+ const String& i_rAppName,
+ ImplJobSetup* i_pSetupData,
+ vcl::PrinterController& i_rListener );
+
+ virtual sal_Bool EndJob();
+ virtual sal_Bool AbortJob();
+ virtual SalGraphics* StartPage( ImplJobSetup* i_pSetupData, sal_Bool i_bNewJobData );
+ virtual sal_Bool EndPage();
+ virtual sal_uLong GetErrorCode();
+
+ private:
+ IosSalPrinter( const IosSalPrinter& );
+ IosSalPrinter& operator=(const IosSalPrinter&);
+};
+
+const double fPtTo100thMM = 35.27777778;
+
+inline int PtTo10Mu( double nPoints ) { return (int)(((nPoints)*fPtTo100thMM)+0.5); }
+
+inline double TenMuToPt( double nUnits ) { return floor(((nUnits)/fPtTo100thMM)+0.5); }
+
+
+
+#endif // _SV_SALPRN_H
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/ios/salsys.h b/vcl/inc/ios/salsys.h
new file mode 100644
index 000000000000..e586c8dfb356
--- /dev/null
+++ b/vcl/inc/ios/salsys.h
@@ -0,0 +1,56 @@
+/* -*- 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_SALSYS_H
+#define _SV_SALSYS_H
+
+#include "salsys.hxx"
+
+class VCL_DLLPUBLIC IosSalSystem : public SalSystem
+{
+public:
+ IosSalSystem() {}
+ virtual ~IosSalSystem();
+
+ // get info about the display
+ virtual unsigned int GetDisplayScreenCount();
+ virtual bool IsMultiDisplay();
+ virtual unsigned int GetDefaultDisplayNumber();
+ virtual Rectangle GetDisplayScreenPosSizePixel( unsigned int nScreen );
+ virtual Rectangle GetDisplayWorkAreaPosSizePixel( unsigned int nScreen );
+
+ virtual rtl::OUString GetScreenName( unsigned int nScreen );
+ virtual int ShowNativeMessageBox( const String& rTitle,
+ const String& rMessage,
+ int nButtonCombination,
+ int nDefaultButton);
+};
+
+#endif // _SV_SALSYS_H
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/ios/saltimer.h b/vcl/inc/ios/saltimer.h
new file mode 100644
index 000000000000..b5974219437d
--- /dev/null
+++ b/vcl/inc/ios/saltimer.h
@@ -0,0 +1,54 @@
+/* -*- 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_SALTIMER_H
+#define _SV_SALTIMER_H
+
+#include "premac.h"
+#include <Foundation/Foundation.h>
+#include "postmac.h"
+
+#include "saltimer.hxx"
+
+class IosSalTimer : public SalTimer
+{
+ public:
+
+ IosSalTimer();
+ virtual ~IosSalTimer();
+
+ void Start( sal_uLong nMS );
+ void Stop();
+
+ static NSTimer* pRunningTimer;
+ static bool bDispatchTimer;
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/ios/saluimenu.h b/vcl/inc/ios/saluimenu.h
new file mode 100644
index 000000000000..ef54daa2d631
--- /dev/null
+++ b/vcl/inc/ios/saluimenu.h
@@ -0,0 +1,62 @@
+/* -*- 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 _VCL_SALUIMENU_H
+#define _VCL_SALUIMENU_H
+
+class IosSalMenu;
+class IosSalMenuItem;
+
+@interface SalUIMenu : UIMenuController
+{
+ /* Caution: SalNSMenu instances occasionally are binary copied
+ in IosSalMenu::ShowNativePopupMenu. If any members are added,
+ please take this into account !
+ */
+ IosSalMenu* mpMenu;
+}
+-(id)initWithMenu: (IosSalMenu*)pMenu;
+-(void)menuNeedsUpdate: (UIMenuController*)pMenu;
+-(void)setSalMenu: (IosSalMenu*)pMenu;
+@end
+
+@interface SalUIMenuItem : UIMenuItem
+{
+ /* Caution: SalUIMenuItem instances occasionally are binary copied
+ in IosSalMenu::ShowNativePopupMenu. If any members are added,
+ please take this into account !
+ */
+ IosSalMenuItem* mpMenuItem;
+}
+-(id)initWithMenuItem: (IosSalMenuItem*)pMenuItem;
+-(void)menuItemTriggered: (id)aSender;
+@end
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/ios/salvd.h b/vcl/inc/ios/salvd.h
new file mode 100644
index 000000000000..e116c5c45bab
--- /dev/null
+++ b/vcl/inc/ios/salvd.h
@@ -0,0 +1,79 @@
+/* -*- 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_SALVD_H
+#define _SV_SALVD_H
+
+#include "ios/salcolorutils.hxx"
+#include "ios/salgdi.h"
+
+#include "salvd.hxx"
+
+#if PRAGMA_ONCE
+ #pragma once
+#endif
+
+struct SalVirDevData
+{
+};
+
+typedef struct SalVirDevData SalVirDevData;
+typedef SalVirDevData *SalVirDevDataPtr;
+typedef SalVirDevDataPtr *SalVirDevDataHandle;
+
+// =======================================================================
+
+class IosSalGraphics;
+
+class IosSalVirtualDevice : public SalVirtualDevice
+{
+private:
+ bool mbGraphicsUsed; // is Graphics used
+ bool mbForeignContext; // is mxContext from outside VCL
+ CGContextRef mxBitmapContext;
+ int mnBitmapDepth;
+ CGLayerRef mxLayer; // Quartz layer
+ IosSalGraphics* mpGraphics; // current VirDev graphics
+
+ void Destroy();
+
+public:
+ IosSalVirtualDevice( IosSalGraphics* pGraphic, long nDX, long nDY, sal_uInt16 nBitCount, const SystemGraphicsData *pData );
+ virtual ~IosSalVirtualDevice();
+
+ virtual SalGraphics* GetGraphics();
+ virtual void ReleaseGraphics( SalGraphics* pGraphics );
+ virtual sal_Bool SetSize( long nNewDX, long nNewDY );
+ virtual void GetSize( long& rWidth, long& rHeight );
+};
+
+// =======================================================================
+
+#endif // _SV_SALVD_H
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/ios/svsys.h b/vcl/inc/ios/svsys.h
new file mode 100644
index 000000000000..a8edcab96eef
--- /dev/null
+++ b/vcl/inc/ios/svsys.h
@@ -0,0 +1,36 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Initial Developer of the Original Code is Tor Lillqvist <tml@iki.fi>
+ * Portions created by the Initial Developer are Copyright (C) 2011 the
+ * Initial Developer. All Rights Reserved.
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#ifndef _VCL_IOS_SVSYS_H
+#define _VCL_IOS_SVSYS_H
+
+
+// ?
+
+#endif // _VCL_IOS_SVSYS_H
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/ios/vcluiapp.h b/vcl/inc/ios/vcluiapp.h
new file mode 100644
index 000000000000..df4a01ead0de
--- /dev/null
+++ b/vcl/inc/ios/vcluiapp.h
@@ -0,0 +1,53 @@
+/* -*- 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 _VCL_VCLUIAPP_H
+#define _VCL_VCLUIAPP_H
+
+#include "premac.h"
+#include "UIKit/UIKit.h"
+#include "postmac.h"
+
+class IosSalFrame;
+
+// our very own application
+@interface VCL_UIApplication : UIApplication
+{
+}
+-(void)sendEvent:(UIEvent*)pEvent;
+-(void)sendSuperEvent:(UIEvent*)pEvent;
+-(BOOL)application: (UIApplication*) app openFile: (NSString*)file;
+-(void)application: (UIApplication*) app openFiles: (NSArray*)files;
+-(void)applicationWillTerminate: (UIApplication *) app;
+-(void)addFallbackMenuItem: (UIMenuItem*)pNewItem;
+-(void)removeFallbackMenuItem: (UIMenuItem*)pOldItem;
+@end
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/list.h b/vcl/inc/list.h
index 78c7edce2839..34e9cee266b1 100644
--- a/vcl/inc/list.h
+++ b/vcl/inc/list.h
@@ -66,8 +66,6 @@ extern "C"
int listAtLast(list);
int listPosition(list); /* Expensive! */
#endif
-/*- search */
- int listFind(list, void *); /* Returns true/false */
/*- positioning functions */
/*- return the number of elements by which the current position in the list changes */
@@ -75,7 +73,6 @@ extern "C"
int listSkipForward(list, int n);
int listToFirst(list);
int listToLast(list);
- int listPositionAt(list, int n); /* Expensive! */
/*- adding and removing elements */
list listAppend(list, void *);
diff --git a/vcl/inc/sallayout.hxx b/vcl/inc/sallayout.hxx
index b91185769b27..9c727a895581 100644
--- a/vcl/inc/sallayout.hxx
+++ b/vcl/inc/sallayout.hxx
@@ -149,7 +149,6 @@ sal_UCS4 GetVerticalChar( sal_UCS4 );
// #i80090# GetMirroredChar also needed outside vcl, moved to svapp.hxx
// VCL_DLLPUBLIC sal_UCS4 GetMirroredChar( sal_UCS4 );
sal_UCS4 GetLocalizedChar( sal_UCS4, LanguageType );
-VCL_PLUGIN_PUBLIC const char* GetAutofallback( sal_UCS4 ) ;
// -------------
// - SalLayout -
diff --git a/vcl/inc/saltimer.hxx b/vcl/inc/saltimer.hxx
index 38dd20e69ff3..11a90dc24bf1 100644
--- a/vcl/inc/saltimer.hxx
+++ b/vcl/inc/saltimer.hxx
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -67,3 +68,5 @@ public:
};
#endif // _SV_SALTIMER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/svsys.h b/vcl/inc/svsys.h
index df0b58c548ca..0976282bc898 100644
--- a/vcl/inc/svsys.h
+++ b/vcl/inc/svsys.h
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -34,9 +35,15 @@
#include "aqua/svsys.h"
#elif defined OS2
#include "os2/svsys.h"
+#elif defined IOS
+#include "ios/svsys.h"
+#elif defined ANDROID
+#include "android/svsys.h"
#else
#include "unx/svsys.h"
#endif
#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/unx/Xproto.h b/vcl/inc/unx/Xproto.h
index 804b3ffa98cc..b6db98dbfe15 100644
--- a/vcl/inc/unx/Xproto.h
+++ b/vcl/inc/unx/Xproto.h
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -47,3 +48,5 @@
#include <tools/postx.h>
#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/unx/gtk/gtkdata.hxx b/vcl/inc/unx/gtk/gtkdata.hxx
index 307a3f2b3e01..24860b8f80df 100644
--- a/vcl/inc/unx/gtk/gtkdata.hxx
+++ b/vcl/inc/unx/gtk/gtkdata.hxx
@@ -93,9 +93,8 @@ class GtkSalDisplay : public SalDisplay
GdkDisplay* m_pGdkDisplay;
GdkCursor *m_aCursors[ POINTER_COUNT ];
bool m_bStartupCompleted;
- std::vector< int > m_aXineramaScreenIndexMap;
- GdkCursor* getFromXPM( const unsigned char *pBitmap, const unsigned char *pMask,
+ GdkCursor* getFromXBM( const unsigned char *pBitmap, const unsigned char *pMask,
int nWidth, int nHeight, int nXHot, int nYHot );
public:
GtkSalDisplay( GdkDisplay* pDisplay );
diff --git a/vcl/inc/unx/gtk/gtkframe.hxx b/vcl/inc/unx/gtk/gtkframe.hxx
index 6caf39dc9644..78aea06017a8 100644
--- a/vcl/inc/unx/gtk/gtkframe.hxx
+++ b/vcl/inc/unx/gtk/gtkframe.hxx
@@ -30,6 +30,7 @@
#define _VCL_GTKFRAME_HXX
#include <tools/prex.h>
+#include <cairo/cairo.h>
#include <gdk/gdk.h>
#include <gdk/gdkx.h>
#include <gtk/gtk.h>
diff --git a/vcl/inc/unx/gtk/gtkgdi.hxx b/vcl/inc/unx/gtk/gtkgdi.hxx
index 41e500c49027..83d4aa827da9 100644
--- a/vcl/inc/unx/gtk/gtkgdi.hxx
+++ b/vcl/inc/unx/gtk/gtkgdi.hxx
@@ -39,6 +39,8 @@
#if GTK_CHECK_VERSION(3,0,0)
+#include <unx/headless/svpgdi.hxx>
+
// Disabled for gtk3 - use legacy theming code
#define GTK_GRAPHICS_DISABLED
class GtkSalFrame;
@@ -46,7 +48,6 @@ class GtkSalGraphics : public X11SalGraphics {
public:
GtkSalGraphics( GtkSalFrame *pFrame, GtkWidget *pWindow );
};
-
#else
class GtkSalGraphics : public X11SalGraphics
diff --git a/vcl/inc/unx/headless/svpbmp.hxx b/vcl/inc/unx/headless/svpbmp.hxx
new file mode 100644
index 000000000000..b3adb3b9951f
--- /dev/null
+++ b/vcl/inc/unx/headless/svpbmp.hxx
@@ -0,0 +1,72 @@
+/* -*- 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 SVP_SVBMP_HXX
+#define SVP_SVBMP_HXX
+
+#include <salbmp.hxx>
+#include "svpelement.hxx"
+
+class SvpSalBitmap : public SalBitmap, public SvpElement
+{
+ basebmp::BitmapDeviceSharedPtr m_aBitmap;
+public:
+ SvpSalBitmap() {}
+ virtual ~SvpSalBitmap();
+
+ const basebmp::BitmapDeviceSharedPtr& getBitmap() const { return m_aBitmap; }
+ void setBitmap( const basebmp::BitmapDeviceSharedPtr& rSrc ) { m_aBitmap = rSrc; }
+
+ // SvpElement
+ virtual const basebmp::BitmapDeviceSharedPtr& getDevice() const { return m_aBitmap; }
+
+ // SalBitmap
+ virtual bool Create( const Size& rSize,
+ sal_uInt16 nBitCount,
+ const BitmapPalette& rPal );
+ virtual bool Create( const SalBitmap& rSalBmp );
+ virtual bool Create( const SalBitmap& rSalBmp,
+ SalGraphics* pGraphics );
+ virtual bool Create( const SalBitmap& rSalBmp,
+ sal_uInt16 nNewBitCount );
+ virtual bool Create( const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmapCanvas > xBitmapCanvas,
+ Size& rSize,
+ bool bMask = false );
+ virtual void Destroy();
+ virtual Size GetSize() const;
+ virtual sal_uInt16 GetBitCount() const;
+
+ virtual BitmapBuffer* AcquireBuffer( bool bReadOnly );
+ virtual void ReleaseBuffer( BitmapBuffer* pBuffer, bool bReadOnly );
+ virtual bool GetSystemData( BitmapSystemData& rData );
+
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/unx/headless/svpdummies.hxx b/vcl/inc/unx/headless/svpdummies.hxx
new file mode 100644
index 000000000000..bc46e9b22f70
--- /dev/null
+++ b/vcl/inc/unx/headless/svpdummies.hxx
@@ -0,0 +1,100 @@
+/* -*- 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 _SVP_SVPDUMMIES_HXX
+
+#include <vcl/sysdata.hxx>
+
+#include <salobj.hxx>
+#include <salimestatus.hxx>
+#include <salsys.hxx>
+
+class SalGraphics;
+
+class SvpSalObject : public SalObject
+{
+public:
+ SystemChildData m_aSystemChildData;
+
+ SvpSalObject();
+ virtual ~SvpSalObject();
+
+ // overload all pure virtual methods
+ virtual void ResetClipRegion();
+ virtual sal_uInt16 GetClipRegionType();
+ virtual void BeginSetClipRegion( sal_uLong nRects );
+ virtual void UnionClipRegion( long nX, long nY, long nWidth, long nHeight );
+ virtual void EndSetClipRegion();
+
+ virtual void SetPosSize( long nX, long nY, long nWidth, long nHeight );
+ virtual void Show( sal_Bool bVisible );
+ virtual void Enable( sal_Bool nEnable );
+ virtual void GrabFocus();
+
+ virtual void SetBackground();
+ virtual void SetBackground( SalColor nSalColor );
+
+ virtual const SystemEnvData* GetSystemData() const;
+
+ virtual void InterceptChildWindowKeyDown( sal_Bool bIntercept );
+};
+
+class SvpImeStatus : public SalI18NImeStatus
+{
+ public:
+ SvpImeStatus() {}
+ virtual ~SvpImeStatus();
+
+ virtual bool canToggle();
+ virtual void toggle();
+};
+
+class SvpSalSystem : public SalSystem
+{
+ public:
+ SvpSalSystem() {}
+ virtual ~SvpSalSystem();
+ // get info about the display
+ virtual unsigned int GetDisplayScreenCount();
+ virtual bool IsMultiDisplay();
+ virtual unsigned int GetDefaultDisplayNumber();
+ virtual Rectangle GetDisplayScreenPosSizePixel( unsigned int nScreen );
+ virtual Rectangle GetDisplayWorkAreaPosSizePixel( unsigned int nScreen );
+ virtual rtl::OUString GetScreenName( unsigned int nScreen );
+
+
+ virtual int ShowNativeMessageBox( const String& rTitle,
+ const String& rMessage,
+ int nButtonCombination,
+ int nDefaultButton);
+};
+
+
+#endif // _SVP_SVPDUMMIES_H
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/unx/headless/svpelement.hxx b/vcl/inc/unx/headless/svpelement.hxx
new file mode 100644
index 000000000000..c7f647cf3a03
--- /dev/null
+++ b/vcl/inc/unx/headless/svpelement.hxx
@@ -0,0 +1,49 @@
+/* -*- 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 _SVP_SVPELEMENT_HXX
+#define _SVP_SVPELEMENT_HXX
+
+#include <basebmp/bitmapdevice.hxx>
+
+#define SVP_DEFAULT_BITMAP_FORMAT basebmp::Format::TWENTYFOUR_BIT_TC_MASK
+
+class SvpElement
+{
+ protected:
+ SvpElement();
+ virtual ~SvpElement();
+ public:
+ virtual const basebmp::BitmapDeviceSharedPtr& getDevice() const = 0;
+
+ static sal_uInt32 getBitCountFromScanlineFormat( sal_Int32 nFormat );
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/unx/headless/svpframe.hxx b/vcl/inc/unx/headless/svpframe.hxx
new file mode 100644
index 000000000000..e57381780f61
--- /dev/null
+++ b/vcl/inc/unx/headless/svpframe.hxx
@@ -0,0 +1,132 @@
+/* -*- 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 _SVP_SVPFRAME_HXX
+
+#include <vcl/sysdata.hxx>
+
+#include <salframe.hxx>
+#include "svpelement.hxx"
+
+#include <list>
+
+class SvpSalInstance;
+class SvpSalGraphics;
+
+class SvpSalFrame : public SalFrame, public SvpElement
+{
+ SvpSalInstance* m_pInstance;
+ SvpSalFrame* m_pParent; // pointer to parent frame
+ std::list< SvpSalFrame* > m_aChildren; // List of child frames
+ sal_uLong m_nStyle;
+ bool m_bVisible;
+ long m_nMinWidth;
+ long m_nMinHeight;
+ long m_nMaxWidth;
+ long m_nMaxHeight;
+
+ SystemEnvData m_aSystemChildData;
+
+ basebmp::BitmapDeviceSharedPtr m_aFrame;
+ std::list< SvpSalGraphics* > m_aGraphics;
+
+ static SvpSalFrame* s_pFocusFrame;
+public:
+ SvpSalFrame( SvpSalInstance* pInstance,
+ SalFrame* pParent,
+ sal_uLong nSalFrameStyle,
+ SystemParentData* pSystemParent = NULL );
+ virtual ~SvpSalFrame();
+
+ void GetFocus();
+ void LoseFocus();
+ void PostPaint() const;
+
+ // SvpElement
+ virtual const basebmp::BitmapDeviceSharedPtr& getDevice() const { return m_aFrame; }
+
+ // SalFrame
+ virtual SalGraphics* GetGraphics();
+ virtual void ReleaseGraphics( SalGraphics* pGraphics );
+
+ 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 nDisplay );
+ 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 ResetClipRegion();
+ virtual void BeginSetClipRegion( sal_uLong nRects );
+ virtual void UnionClipRegion( long nX, long nY, long nWidth, long nHeight );
+ virtual void EndSetClipRegion();
+
+ /*TODO: functional implementation */
+ virtual void SetScreenNumber( unsigned int nScreen ) { (void)nScreen; }
+ virtual void SetApplicationID(const rtl::OUString &rApplicationID) { (void) rApplicationID; }
+};
+#endif // _SVP_SVPFRAME_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/unx/headless/svpgdi.hxx b/vcl/inc/unx/headless/svpgdi.hxx
new file mode 100644
index 000000000000..8291a3c2f7bc
--- /dev/null
+++ b/vcl/inc/unx/headless/svpgdi.hxx
@@ -0,0 +1,174 @@
+/* -*- 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 _SVP_SVPGDI_HXX
+
+#include <basebmp/bitmapdevice.hxx>
+#include <basebmp/color.hxx>
+
+#include <salgdi.hxx>
+#include <sallayout.hxx>
+
+class ServerFont;
+
+class SvpSalGraphics : public SalGraphics
+{
+ basebmp::BitmapDeviceSharedPtr m_aDevice;
+ basebmp::BitmapDeviceSharedPtr m_aOrigDevice;
+ basebmp::BitmapDeviceSharedPtr m_aClipMap;
+
+ bool m_bUseLineColor;
+ basebmp::Color m_aLineColor;
+ bool m_bUseFillColor;
+ basebmp::Color m_aFillColor;
+ basebmp::Color m_aTextColor;
+
+ basebmp::DrawMode m_aDrawMode;
+
+ ServerFont* m_pServerFont[ MAX_FALLBACK ];
+ sal_uInt32 m_eTextFmt;
+
+protected:
+ virtual bool drawAlphaBitmap( const SalTwoRect&, const SalBitmap& rSourceBitmap, const SalBitmap& rAlphaBitmap );
+ virtual bool drawAlphaRect( long nX, long nY, long nWidth, long nHeight, sal_uInt8 nTransparency );
+
+public:
+ SvpSalGraphics();
+ virtual ~SvpSalGraphics();
+
+ const basebmp::BitmapDeviceSharedPtr& getDevice() const { return m_aDevice; }
+ void setDevice( basebmp::BitmapDeviceSharedPtr& rDevice );
+
+ // overload all pure virtual methods
+ virtual void GetResolution( sal_Int32& rDPIX, sal_Int32& rDPIY );
+ virtual sal_uInt16 GetBitCount() const;
+ virtual long GetGraphicsWidth() const;
+
+ virtual void ResetClipRegion();
+ virtual bool setClipRegion( const Region& );
+
+ virtual void SetLineColor();
+ virtual void SetLineColor( SalColor nSalColor );
+ virtual void SetFillColor();
+
+ virtual void SetFillColor( SalColor nSalColor );
+
+ virtual void SetXORMode( bool bSet, bool );
+
+ virtual void SetROPLineColor( SalROPColor nROPColor );
+ virtual void SetROPFillColor( SalROPColor nROPColor );
+
+ virtual void SetTextColor( SalColor nSalColor );
+ virtual sal_uInt16 SetFont( ImplFontSelectData*, int nFallbackLevel );
+ virtual void GetFontMetric( ImplFontMetricData*, int nFallbackLevel );
+ virtual sal_uLong GetKernPairs( sal_uLong nPairs, ImplKernPairData* pKernPairs );
+ virtual const ImplFontCharMap* GetImplFontCharMap() const;
+ virtual bool GetImplFontCapabilities(vcl::FontCapabilities &rFontCapabilities) const;
+ virtual void GetDevFontList( ImplDevFontList* );
+ virtual void GetDevFontSubstList( OutputDevice* );
+ virtual bool AddTempDevFont( ImplDevFontList*, const String& rFileURL, const String& rFontName );
+ virtual sal_Bool CreateFontSubset( const rtl::OUString& rToFile,
+ const ImplFontData*,
+ sal_Int32* pGlyphIDs,
+ sal_uInt8* pEncoding,
+ sal_Int32* pWidths,
+ int nGlyphs,
+ FontSubsetInfo& rInfo
+ );
+ virtual const Ucs2SIntMap* GetFontEncodingVector( const ImplFontData*, const Ucs2OStrMap** ppNonEncoded );
+ virtual const void* GetEmbedFontData( const ImplFontData*,
+ const sal_Ucs* pUnicodes,
+ sal_Int32* pWidths,
+ FontSubsetInfo& rInfo,
+ long* pDataLen );
+ virtual void FreeEmbedFontData( const void* pData, long nDataLen );
+ virtual void GetGlyphWidths( const ImplFontData*,
+ bool bVertical,
+ Int32Vector& rWidths,
+ Ucs2UIntMap& rUnicodeEnc );
+ virtual sal_Bool GetGlyphBoundRect( sal_GlyphId nIndex, Rectangle& );
+ virtual sal_Bool GetGlyphOutline( sal_GlyphId nIndex, ::basegfx::B2DPolyPolygon& );
+ virtual SalLayout* GetTextLayout( ImplLayoutArgs&, int nFallbackLevel );
+ virtual void DrawServerFontLayout( const ServerFontLayout& );
+ virtual bool supportsOperation( OutDevSupportType ) const;
+ virtual void drawPixel( long nX, long nY );
+ virtual void drawPixel( long nX, long nY, SalColor nSalColor );
+ virtual void drawLine( long nX1, long nY1, long nX2, long nY2 );
+ virtual void drawRect( long nX, long nY, long nWidth, long nHeight );
+ virtual bool drawPolyPolygon( const ::basegfx::B2DPolyPolygon&, double fTransparency );
+ virtual bool drawPolyLine( const ::basegfx::B2DPolygon&, double fTransparency, const ::basegfx::B2DVector& rLineWidths, basegfx::B2DLineJoin );
+ virtual void drawPolyLine( sal_uLong nPoints, const SalPoint* pPtAry );
+ virtual void drawPolygon( sal_uLong nPoints, const SalPoint* pPtAry );
+ virtual void drawPolyPolygon( sal_uInt32 nPoly,
+ const sal_uInt32* pPoints,
+ PCONSTSALPOINT* pPtAry );
+ virtual sal_Bool drawPolyLineBezier( sal_uLong nPoints,
+ const SalPoint* pPtAry,
+ const sal_uInt8* pFlgAry );
+ virtual sal_Bool drawPolygonBezier( sal_uLong nPoints,
+ const SalPoint* pPtAry,
+ const sal_uInt8* pFlgAry );
+ virtual sal_Bool drawPolyPolygonBezier( sal_uInt32 nPoly,
+ const sal_uInt32* pPoints,
+ const SalPoint* const* pPtAry,
+ const sal_uInt8* const* pFlgAry );
+
+ virtual void copyArea( long nDestX,
+ long nDestY,
+ long nSrcX,
+ long nSrcY,
+ long nSrcWidth,
+ long nSrcHeight,
+ sal_uInt16 nFlags );
+ virtual void copyBits( const SalTwoRect* pPosAry,
+ SalGraphics* pSrcGraphics );
+ virtual void drawBitmap( const SalTwoRect* pPosAry,
+ const SalBitmap& rSalBitmap );
+ virtual void drawBitmap( const SalTwoRect* pPosAry,
+ const SalBitmap& rSalBitmap,
+ SalColor nTransparentColor );
+ virtual void drawBitmap( const SalTwoRect* pPosAry,
+ const SalBitmap& rSalBitmap,
+ const SalBitmap& rTransparentBitmap );
+ virtual void drawMask( const SalTwoRect* pPosAry,
+ const SalBitmap& rSalBitmap,
+ SalColor nMaskColor );
+ virtual SalBitmap* getBitmap( long nX, long nY, long nWidth, long nHeight );
+ virtual SalColor getPixel( long nX, long nY );
+ virtual void invert( long nX, long nY, long nWidth, long nHeight, SalInvert nFlags );
+ virtual void invert( sal_uLong nPoints, const SalPoint* pPtAry, SalInvert nFlags );
+
+ virtual sal_Bool drawEPS( long nX, long nY, long nWidth, long nHeight, void* pPtr, sal_uLong nSize );
+
+ virtual SystemGraphicsData GetGraphicsData() const;
+ virtual SystemFontData GetSysFontData( int nFallbacklevel ) const;
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/unx/headless/svpinst.hxx b/vcl/inc/unx/headless/svpinst.hxx
new file mode 100644
index 000000000000..6fcafe0c7f66
--- /dev/null
+++ b/vcl/inc/unx/headless/svpinst.hxx
@@ -0,0 +1,204 @@
+/* -*- 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 _SVP_SALINST_HXX
+#define _SVP_SALINST_HXX
+
+#include <vcl/solarmutex.hxx>
+
+#include <osl/mutex.hxx>
+#include <osl/thread.hxx>
+#include <salinst.hxx>
+#include <salwtype.hxx>
+#include <saltimer.hxx>
+
+#include <list>
+
+#include <time.h> // timeval
+
+#define VIRTUAL_DESKTOP_WIDTH 1024
+#define VIRTUAL_DESKTOP_HEIGHT 768
+#define VIRTUAL_DESKTOP_DEPTH 24
+
+// -------------------------------------------------------------------------
+// SalYieldMutex
+// -------------------------------------------------------------------------
+
+class SvpSalYieldMutex : public ::vcl::SolarMutexObject
+{
+protected:
+ sal_uLong mnCount;
+ oslThreadIdentifier mnThreadId;
+
+public:
+ SvpSalYieldMutex();
+
+ virtual void acquire();
+ virtual void release();
+ virtual sal_Bool tryToAcquire();
+
+ sal_uLong GetAcquireCount() const { return mnCount; }
+ oslThreadIdentifier GetThreadId() const { return mnThreadId; }
+};
+
+// ---------------
+// - SalTimer -
+// ---------------
+class SvpSalInstance;
+class SvpSalTimer : public SalTimer
+{
+ SvpSalInstance* m_pInstance;
+public:
+ SvpSalTimer( SvpSalInstance* pInstance ) : m_pInstance( pInstance ) {}
+ virtual ~SvpSalTimer();
+
+ // overload all pure virtual methods
+ virtual void Start( sal_uLong nMS );
+ virtual void Stop();
+};
+
+// ---------------
+// - SalInstance -
+// ---------------
+class SvpSalFrame;
+class SvpSalInstance : public SalInstance
+{
+ timeval m_aTimeout;
+ sal_uLong m_nTimeoutMS;
+ int m_pTimeoutFDS[2];
+ SvpSalYieldMutex m_aYieldMutex;
+
+ // internal event queue
+ struct SalUserEvent
+ {
+ const SalFrame* m_pFrame;
+ void* m_pData;
+ sal_uInt16 m_nEvent;
+
+ SalUserEvent( const SalFrame* pFrame, void* pData, sal_uInt16 nEvent = SALEVENT_USEREVENT )
+ : m_pFrame( pFrame ),
+ m_pData( pData ),
+ m_nEvent( nEvent )
+ {}
+ };
+
+ oslMutex m_aEventGuard;
+ std::list< SalUserEvent > m_aUserEvents;
+
+ std::list< SalFrame* > m_aFrames;
+
+ bool isFrameAlive( const SalFrame* pFrame ) const;
+
+public:
+ static SvpSalInstance* s_pDefaultInstance;
+
+ SvpSalInstance();
+ virtual ~SvpSalInstance();
+
+ void PostEvent( const SalFrame* pFrame, void* pData, sal_uInt16 nEvent );
+ void CancelEvent( const SalFrame* pFrame, void* pData, sal_uInt16 nEvent );
+
+ void StartTimer( sal_uLong nMS );
+ void StopTimer();
+ void Wakeup();
+
+ void registerFrame( SalFrame* pFrame ) { m_aFrames.push_back( pFrame ); }
+ void deregisterFrame( SalFrame* pFrame );
+ const std::list< SalFrame* >& getFrames() const { return m_aFrames; }
+
+ bool CheckTimeout( bool bExecuteTimers = true );
+
+ // Frame
+ virtual SalFrame* CreateChildFrame( SystemParentData* pParent, sal_uLong nStyle );
+ virtual SalFrame* CreateFrame( SalFrame* pParent, sal_uLong nStyle );
+ virtual void DestroyFrame( SalFrame* pFrame );
+
+ // Object (System Child Window)
+ virtual SalObject* CreateObject( SalFrame* pParent, SystemWindowData* pWindowData, sal_Bool bShow = sal_True );
+ virtual void DestroyObject( SalObject* pObject );
+
+ // VirtualDevice
+ // nDX and nDY in Pixel
+ // nBitCount: 0 == Default(=as window) / 1 == Mono
+ // pData allows for using a system dependent graphics or device context
+ virtual SalVirtualDevice* CreateVirtualDevice( SalGraphics* pGraphics,
+ long nDX, long nDY,
+ sal_uInt16 nBitCount, const SystemGraphicsData *pData = NULL );
+ virtual void DestroyVirtualDevice( SalVirtualDevice* pDevice );
+
+ // Printer
+ // pSetupData->mpDriverData can be 0
+ // pSetupData must be updatet with the current
+ // JobSetup
+ virtual SalInfoPrinter* CreateInfoPrinter( SalPrinterQueueInfo* pQueueInfo,
+ ImplJobSetup* pSetupData );
+ virtual void DestroyInfoPrinter( SalInfoPrinter* pPrinter );
+ virtual SalPrinter* CreatePrinter( SalInfoPrinter* pInfoPrinter );
+ virtual void DestroyPrinter( SalPrinter* pPrinter );
+
+ virtual void GetPrinterQueueInfo( ImplPrnQueueList* pList );
+ virtual void GetPrinterQueueState( SalPrinterQueueInfo* pInfo );
+ virtual void DeletePrinterQueueInfo( SalPrinterQueueInfo* pInfo );
+ virtual String GetDefaultPrinter();
+
+ // SalTimer
+ virtual SalTimer* CreateSalTimer();
+ // SalI18NImeStatus
+ virtual SalI18NImeStatus* CreateI18NImeStatus();
+ // SalSystem
+ virtual SalSystem* CreateSalSystem();
+ // SalBitmap
+ virtual SalBitmap* CreateSalBitmap();
+
+ // YieldMutex
+ virtual osl::SolarMutex* GetYieldMutex();
+ virtual sal_uLong ReleaseYieldMutex();
+ virtual void AcquireYieldMutex( sal_uLong nCount );
+ virtual bool CheckYieldMutex();
+
+ // wait next event and dispatch
+ // must returned by UserEvent (SalFrame::PostEvent)
+ // and timer
+ virtual void Yield( bool bWait, bool bHandleAllCurrentEvents );
+ virtual bool AnyInput( sal_uInt16 nType );
+
+ // may return NULL to disable session management
+ virtual SalSession* CreateSalSession();
+
+ virtual void* GetConnectionIdentifier( ConnectionIdentifierType& rReturnedType, int& rReturnedBytes );
+
+ virtual void AddToRecentDocumentList(const rtl::OUString& rFileUrl, const rtl::OUString& rMimeType);
+
+ virtual void updatePrinterUpdate();
+ virtual void jobStartedPrinterUpdate();
+ virtual void jobEndedPrinterUpdate();
+};
+
+#endif // _SV_SALINST_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/unx/headless/svpprn.hxx b/vcl/inc/unx/headless/svpprn.hxx
new file mode 100644
index 000000000000..f7e6a671f4b3
--- /dev/null
+++ b/vcl/inc/unx/headless/svpprn.hxx
@@ -0,0 +1,57 @@
+/* -*- 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 _SVP_SVPPRN_HXX
+#define _SVP_SVPPRN_HXX
+
+#include "vcl/jobdata.hxx"
+
+#include "printergfx.hxx"
+#include "printerjob.hxx"
+#include <unx/salprn.h>
+
+#include "vclpluginapi.h"
+
+class PspGraphics;
+
+class SvpSalInfoPrinter : public PspSalInfoPrinter
+{
+public:
+ virtual sal_Bool Setup( SalFrame* pFrame, ImplJobSetup* pSetupData );
+};
+
+class SvpSalPrinter : public PspSalPrinter
+{
+public:
+ SvpSalPrinter( SalInfoPrinter* pInfoPrinter ) : PspSalPrinter(pInfoPrinter) {}
+};
+
+#endif // _SVP_SVPPRN_HXX
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/unx/headless/svppspgraphics.hxx b/vcl/inc/unx/headless/svppspgraphics.hxx
new file mode 100644
index 000000000000..1ce9109918d5
--- /dev/null
+++ b/vcl/inc/unx/headless/svppspgraphics.hxx
@@ -0,0 +1,189 @@
+/* -*- 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 _SVP_PSPGRAPHICS_HXX
+#define _SVP_PSPGRAPHICS_HXX
+
+
+#include "vcl/fontmanager.hxx"
+
+#include "sallayout.hxx"
+#include "salgdi.hxx"
+
+namespace psp { struct JobData; class PrinterGfx; }
+
+class ServerFont;
+class ImplDevFontAttributes;
+class SalInfoPrinter;
+
+class PspGraphics : public SalGraphics
+{
+ psp::JobData* m_pJobData;
+ psp::PrinterGfx* m_pPrinterGfx;
+ String* m_pPhoneNr;
+ bool m_bSwallowFaxNo;
+ String m_aPhoneCollection;
+ bool m_bPhoneCollectionActive;
+
+ ServerFont* m_pServerFont[ MAX_FALLBACK ];
+ bool m_bFontVertical;
+ SalInfoPrinter* m_pInfoPrinter;
+
+protected:
+ virtual bool drawAlphaBitmap( const SalTwoRect&, const SalBitmap& rSourceBitmap, const SalBitmap& rAlphaBitmap );
+ virtual bool drawAlphaRect( long nX, long nY, long nWidth, long nHeight, sal_uInt8 nTransparency );
+
+public:
+ PspGraphics( psp::JobData* pJob, psp::PrinterGfx* pGfx, String* pPhone, bool bSwallow, SalInfoPrinter* pInfoPrinter )
+ : m_pJobData( pJob ),
+ m_pPrinterGfx( pGfx ),
+ m_pPhoneNr( pPhone ),
+ m_bSwallowFaxNo( bSwallow ),
+ m_bPhoneCollectionActive( false ),
+ m_bFontVertical( false ),
+ m_pInfoPrinter( pInfoPrinter )
+ { for( int i = 0; i < MAX_FALLBACK; i++ ) m_pServerFont[i] = 0; }
+ virtual ~PspGraphics();
+
+ // helper methods for sharing with X11SalGraphics
+ static const void* DoGetEmbedFontData( psp::fontID aFont, const sal_Ucs* pUnicodes, sal_Int32* pWidths, FontSubsetInfo& rInfo, long* pDataLen );
+ static void DoFreeEmbedFontData( const void* pData, long nLen );
+ static const Ucs2SIntMap* DoGetFontEncodingVector( psp::fontID aFont, const Ucs2OStrMap** pNonEncoded );
+ static void DoGetGlyphWidths( psp::fontID aFont,
+ bool bVertical,
+ Int32Vector& rWidths,
+ Ucs2UIntMap& rUnicodeEnc );
+ static ImplDevFontAttributes Info2DevFontAttributes( const psp::FastPrintFontInfo& );
+ static void AnnounceFonts( ImplDevFontList*, const psp::FastPrintFontInfo& );
+
+ // overload all pure virtual methods
+ virtual void GetResolution( sal_Int32& rDPIX, sal_Int32& rDPIY );
+ virtual sal_uInt16 GetBitCount() const;
+ virtual long GetGraphicsWidth() const;
+
+ virtual void ResetClipRegion();
+ virtual bool setClipRegion( const Region& );
+
+ virtual void SetLineColor();
+ virtual void SetLineColor( SalColor nSalColor );
+ virtual void SetFillColor();
+ virtual void SetFillColor( SalColor nSalColor );
+ virtual void SetXORMode( bool bSet, bool );
+ virtual void SetROPLineColor( SalROPColor nROPColor );
+ virtual void SetROPFillColor( SalROPColor nROPColor );
+
+ virtual void SetTextColor( SalColor nSalColor );
+ virtual sal_uInt16 SetFont( ImplFontSelectData*, int nFallbackLevel );
+ virtual void GetFontMetric( ImplFontMetricData*, int nFallbackLevel );
+ virtual sal_uLong GetKernPairs( sal_uLong nPairs, ImplKernPairData* pKernPairs );
+ virtual const ImplFontCharMap* GetImplFontCharMap() const;
+ virtual bool GetImplFontCapabilities(vcl::FontCapabilities &rFontCapabilities) const;
+ virtual void GetDevFontList( ImplDevFontList* );
+ virtual void GetDevFontSubstList( OutputDevice* );
+ virtual bool AddTempDevFont( ImplDevFontList*, const String& rFileURL, const String& rFontName );
+ virtual sal_Bool CreateFontSubset( const rtl::OUString& rToFile,
+ const ImplFontData*,
+ sal_Int32* pGlyphIDs,
+ sal_uInt8* pEncoding,
+ sal_Int32* pWidths,
+ int nGlyphs,
+ FontSubsetInfo& rInfo
+ );
+ virtual const Ucs2SIntMap* GetFontEncodingVector( const ImplFontData*, const Ucs2OStrMap** ppNonEncoded );
+ virtual const void* GetEmbedFontData( const ImplFontData*,
+ const sal_Ucs* pUnicodes,
+ sal_Int32* pWidths,
+ FontSubsetInfo& rInfo,
+ long* pDataLen );
+ virtual void FreeEmbedFontData( const void* pData, long nDataLen );
+ virtual void GetGlyphWidths( const ImplFontData*,
+ bool bVertical,
+ Int32Vector& rWidths,
+ Ucs2UIntMap& rUnicodeEnc );
+ virtual sal_Bool GetGlyphBoundRect( sal_GlyphId nIndex, Rectangle& );
+ virtual sal_Bool GetGlyphOutline( sal_GlyphId nIndex, ::basegfx::B2DPolyPolygon& );
+ virtual SalLayout* GetTextLayout( ImplLayoutArgs&, int nFallbackLevel );
+ virtual void DrawServerFontLayout( const ServerFontLayout& );
+ virtual bool supportsOperation( OutDevSupportType ) const;
+ virtual void drawPixel( long nX, long nY );
+ virtual void drawPixel( long nX, long nY, SalColor nSalColor );
+ virtual void drawLine( long nX1, long nY1, long nX2, long nY2 );
+ virtual void drawRect( long nX, long nY, long nWidth, long nHeight );
+ virtual void drawPolyLine( sal_uLong nPoints, const SalPoint* pPtAry );
+ virtual void drawPolygon( sal_uLong nPoints, const SalPoint* pPtAry );
+ virtual bool drawPolyPolygon( const ::basegfx::B2DPolyPolygon&, double fTransparency );
+ virtual bool drawPolyLine( const ::basegfx::B2DPolygon&, double fTransparency, const ::basegfx::B2DVector& rLineWidths, basegfx::B2DLineJoin );
+ virtual void drawPolyPolygon( sal_uInt32 nPoly,
+ const sal_uInt32* pPoints,
+ PCONSTSALPOINT* pPtAry );
+ virtual sal_Bool drawPolyLineBezier( sal_uLong nPoints,
+ const SalPoint* pPtAry,
+ const sal_uInt8* pFlgAry );
+ virtual sal_Bool drawPolygonBezier( sal_uLong nPoints,
+ const SalPoint* pPtAry,
+ const sal_uInt8* pFlgAry );
+ virtual sal_Bool drawPolyPolygonBezier( sal_uInt32 nPoly,
+ const sal_uInt32* pPoints,
+ const SalPoint* const* pPtAry,
+ const sal_uInt8* const* pFlgAry );
+
+ virtual void copyArea( long nDestX,
+ long nDestY,
+ long nSrcX,
+ long nSrcY,
+ long nSrcWidth,
+ long nSrcHeight,
+ sal_uInt16 nFlags );
+ virtual void copyBits( const SalTwoRect* pPosAry,
+ SalGraphics* pSrcGraphics );
+ virtual void drawBitmap( const SalTwoRect* pPosAry,
+ const SalBitmap& rSalBitmap );
+ virtual void drawBitmap( const SalTwoRect* pPosAry,
+ const SalBitmap& rSalBitmap,
+ SalColor nTransparentColor );
+ virtual void drawBitmap( const SalTwoRect* pPosAry,
+ const SalBitmap& rSalBitmap,
+ const SalBitmap& rTransparentBitmap );
+ virtual void drawMask( const SalTwoRect* pPosAry,
+ const SalBitmap& rSalBitmap,
+ SalColor nMaskColor );
+ virtual SalBitmap* getBitmap( long nX, long nY, long nWidth, long nHeight );
+ virtual SalColor getPixel( long nX, long nY );
+ virtual void invert( long nX, long nY, long nWidth, long nHeight, SalInvert nFlags );
+ virtual void invert( sal_uLong nPoints, const SalPoint* pPtAry, SalInvert nFlags );
+
+ virtual sal_Bool drawEPS( long nX, long nY, long nWidth, long nHeight, void* pPtr, sal_uLong nSize );
+ virtual bool filterText( const String& rOrigText, String& rNewText, xub_StrLen nIndex, xub_StrLen& rLen, xub_StrLen& rCutStart, xub_StrLen& rCutStop );
+
+ virtual SystemGraphicsData GetGraphicsData() const;
+ virtual SystemFontData GetSysFontData( int nFallbacklevel ) const;
+};
+
+#endif // _SVP_PSPGRAPHICS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/unx/headless/svpvd.hxx b/vcl/inc/unx/headless/svpvd.hxx
new file mode 100644
index 000000000000..211cf36846f9
--- /dev/null
+++ b/vcl/inc/unx/headless/svpvd.hxx
@@ -0,0 +1,62 @@
+/* -*- 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 _SVP_SVPVD_HXX
+#define _SVP_SVPVD_HXX
+
+#include <salvd.hxx>
+#include "svpelement.hxx"
+
+#include <list>
+
+class SvpSalGraphics;
+
+class SvpSalVirtualDevice : public SalVirtualDevice, public SvpElement
+{
+ sal_uInt16 m_nBitCount;
+ basebmp::BitmapDeviceSharedPtr m_aDevice;
+ std::list< SvpSalGraphics* > m_aGraphics;
+
+public:
+ SvpSalVirtualDevice( sal_uInt16 nBitCount ) : SvpElement(), m_nBitCount(nBitCount) {}
+ virtual ~SvpSalVirtualDevice();
+
+ // SvpElement
+ virtual const basebmp::BitmapDeviceSharedPtr& getDevice() const { return m_aDevice; }
+
+ // SalVirtualDevice
+ virtual SalGraphics* GetGraphics();
+ virtual void ReleaseGraphics( SalGraphics* pGraphics );
+
+ virtual sal_Bool SetSize( long nNewDX, long nNewDY );
+ virtual void GetSize( long& rWidth, long& rHeight );
+};
+
+#endif // _SVP_SVPVD_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/unx/salbmp.h b/vcl/inc/unx/salbmp.h
index a389195308d3..0fa69ae5a72f 100644
--- a/vcl/inc/unx/salbmp.h
+++ b/vcl/inc/unx/salbmp.h
@@ -36,6 +36,7 @@
#include <unx/saldisp.hxx>
#include <salbmp.hxx>
#include <vclpluginapi.h>
+#include <list>
struct BitmapBuffer;
class BitmapPalette;
@@ -51,80 +52,118 @@ class VCLPLUG_GEN_PUBLIC X11SalBitmap : public SalBitmap
{
private:
- static BitmapBuffer* ImplCreateDIB( const Size& rSize,
- sal_uInt16 nBitCount,
- const BitmapPalette& rPal );
- static BitmapBuffer* ImplCreateDIB( Drawable aDrawable,
- int nScreen,
- long nDrawableDepth,
- long nX, long nY,
- long nWidth, long nHeight,
- bool bGrey );
+ static BitmapBuffer* ImplCreateDIB(
+ const Size& rSize,
+ sal_uInt16 nBitCount,
+ const BitmapPalette& rPal
+ );
+
+ static BitmapBuffer* ImplCreateDIB(
+ Drawable aDrawable,
+ int nScreen,
+ long nDrawableDepth,
+ long nX,
+ long nY,
+ long nWidth,
+ long nHeight,
+ bool bGrey
+ );
public:
static ImplSalBitmapCache* mpCache;
- static sal_uIntPtr mnCacheInstCount;
+ static sal_uIntPtr mnCacheInstCount;
static void ImplCreateCache();
static void ImplDestroyCache();
void ImplRemovedFromCache();
bool SnapShot (Display* pDisplay, XLIB_Window hWindow);
- bool ImplCreateFromXImage( Display* pDisplay,
- XLIB_Window hWindow,
- int nScreen,
- XImage* pImage);
+ bool ImplCreateFromXImage(
+ Display* pDisplay,
+ XLIB_Window hWindow,
+ int nScreen,
+ XImage* pImage
+ );
private:
-
BitmapBuffer* mpDIB;
ImplSalDDB* mpDDB;
bool mbGrey;
public:
- SAL_DLLPRIVATE bool ImplCreateFromDrawable( Drawable aDrawable,
- int nScreen,
- long nDrawableDepth,
- long nX, long nY,
- long nWidth, long nHeight );
-
- SAL_DLLPRIVATE XImage* ImplCreateXImage( SalDisplay* pSalDisp,
- int nScreen, long nDepth,
- const SalTwoRect& rTwoRect ) const;
-
- SAL_DLLPRIVATE ImplSalDDB* ImplGetDDB( Drawable, int nScreen, long nDrawableDepth,
- const SalTwoRect& ) const;
- void ImplDraw( Drawable aDrawable, int nScreen, long nDrawableDepth,
- const SalTwoRect& rTwoRect, const GC& rGC ) const;
+ SAL_DLLPRIVATE bool ImplCreateFromDrawable(
+ Drawable aDrawable,
+ int nScreen,
+ long nDrawableDepth,
+ long nX,
+ long nY,
+ long nWidth,
+ long nHeight
+ );
+
+ SAL_DLLPRIVATE XImage* ImplCreateXImage(
+ SalDisplay* pSalDisp,
+ int nScreen,
+ long nDepth,
+ const SalTwoRect& rTwoRect
+ ) const;
+
+ SAL_DLLPRIVATE ImplSalDDB* ImplGetDDB(
+ Drawable,
+ int nScreen,
+ long nDrawableDepth,
+ const SalTwoRect&
+ ) const;
+
+ void ImplDraw(
+ Drawable aDrawable,
+ int nScreen,
+ long nDrawableDepth,
+ const SalTwoRect& rTwoRect,
+ const GC& rGC
+ ) const;
public:
- X11SalBitmap();
- virtual ~X11SalBitmap();
+ X11SalBitmap();
+ virtual ~X11SalBitmap();
// overload pure virtual methods
- virtual bool Create( const Size& rSize,
- sal_uInt16 nBitCount,
- const BitmapPalette& rPal );
- virtual bool Create( const SalBitmap& rSalBmp );
- virtual bool Create( const SalBitmap& rSalBmp,
- SalGraphics* pGraphics );
- virtual bool Create( const SalBitmap& rSalBmp,
- sal_uInt16 nNewBitCount );
- virtual bool Create( const ::com::sun::star::uno::Reference< ::com::sun::star::rendering::XBitmapCanvas > xBitmapCanvas,
+ virtual bool Create(
+ const Size& rSize,
+ sal_uInt16 nBitCount,
+ const BitmapPalette& rPal
+ );
+
+ virtual bool Create( const SalBitmap& rSalBmp );
+ virtual bool Create(
+ const SalBitmap& rSalBmp,
+ SalGraphics* pGraphics
+ );
+
+ virtual bool Create(
+ const SalBitmap& rSalBmp,
+ sal_uInt16 nNewBitCount
+ );
+
+ virtual bool Create(
+ const ::com::sun::star::uno::Reference<
+ ::com::sun::star::rendering::XBitmapCanvas
+ > xBitmapCanvas,
Size& rSize,
- bool bMask = false );
+ bool bMask = false
+ );
- virtual void Destroy();
+ virtual void Destroy();
- virtual Size GetSize() const;
+ virtual Size GetSize() const;
virtual sal_uInt16 GetBitCount() const;
- virtual BitmapBuffer* AcquireBuffer( bool bReadOnly );
- virtual void ReleaseBuffer( BitmapBuffer* pBuffer, bool bReadOnly );
- virtual bool GetSystemData( BitmapSystemData& rData );
+ virtual BitmapBuffer* AcquireBuffer( bool bReadOnly );
+ virtual void ReleaseBuffer( BitmapBuffer* pBuffer, bool bReadOnly );
+ virtual bool GetSystemData( BitmapSystemData& rData );
};
// --------------
@@ -142,49 +181,81 @@ private:
ImplSalDDB() {}
- static void ImplDraw( Drawable aSrcDrawable, long nSrcDrawableDepth,
- Drawable aDstDrawable, long nDstDrawableDepth,
- long nSrcX, long nSrcY,
- long nDestWidth, long nDestHeight,
- long nDestX, long nDestY, const GC& rGC );
+ static void ImplDraw(
+ Drawable aSrcDrawable,
+ long nSrcDrawableDepth,
+ Drawable aDstDrawable,
+ long nDstDrawableDepth,
+ long nSrcX,
+ long nSrcY,
+ long nDestWidth,
+ long nDestHeight,
+ long nDestX,
+ long nDestY,
+ const GC& rGC
+ );
public:
- ImplSalDDB( XImage* pImage,
- Drawable aDrawable, int nScreen,
- const SalTwoRect& rTwoRect );
- ImplSalDDB( Drawable aDrawable,
- int nScreen,
- long nDrawableDepth,
- long nX, long nY, long nWidth, long nHeight );
- ImplSalDDB( Display* pDisplay,
- XLIB_Window hWindow,
- int nScreen,
- XImage* pImage);
+ ImplSalDDB(
+ XImage* pImage,
+ Drawable aDrawable,
+ int nScreen,
+ const SalTwoRect& rTwoRect
+ );
+
+ ImplSalDDB(
+ Drawable aDrawable,
+ int nScreen,
+ long nDrawableDepth,
+ long nX,
+ long nY,
+ long nWidth,
+ long nHeight
+ );
+
+ ImplSalDDB(
+ Display* pDisplay,
+ XLIB_Window hWindow,
+ int nScreen,
+ XImage* pImage
+ );
+
~ImplSalDDB();
Pixmap ImplGetPixmap() const { return maPixmap; }
long ImplGetWidth() const { return maTwoRect.mnDestWidth; }
long ImplGetHeight() const { return maTwoRect.mnDestHeight; }
long ImplGetDepth() const { return mnDepth; }
- sal_uIntPtr ImplGetMemSize() const { return( ( maTwoRect.mnDestWidth * maTwoRect.mnDestHeight * mnDepth ) >> 3 ); }
+ sal_uIntPtr ImplGetMemSize() const
+ {
+ return( ( maTwoRect.mnDestWidth * maTwoRect.mnDestHeight * mnDepth ) >> 3 );
+ }
int ImplGetScreen() const { return mnScreen; }
bool ImplMatches( int nScreen, long nDepth, const SalTwoRect& rTwoRect ) const;
- void ImplDraw( Drawable aDrawable, long nDrawableDepth,
- const SalTwoRect& rTwoRect, const GC& rGC ) const;
+
+ void ImplDraw(
+ Drawable aDrawable,
+ long nDrawableDepth,
+ const SalTwoRect& rTwoRect,
+ const GC& rGC
+ ) const;
};
// ----------------------
// - ImplSalBitmapCache -
// ----------------------
+struct ImplBmpObj;
+
class ImplSalBitmapCache
{
private:
+ typedef ::std::list< ImplBmpObj* > BmpList_impl;
- List maBmpList;
- sal_uIntPtr mnTotalSize;
+ BmpList_impl maBmpList;
+ sal_uIntPtr mnTotalSize;
public:
@@ -198,47 +269,4 @@ public:
#endif // _SV_SALBMP_HXX
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/unx/saldata.hxx b/vcl/inc/unx/saldata.hxx
index 7bce61cc9ce7..825c148cfa1f 100644
--- a/vcl/inc/unx/saldata.hxx
+++ b/vcl/inc/unx/saldata.hxx
@@ -46,7 +46,8 @@ class SalPrinter;
// -=-= typedefs -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#if defined LINUX || defined NETBSD || defined AIX || \
- defined FREEBSD || defined OPENBSD || defined DRAGONFLY
+ defined FREEBSD || defined OPENBSD || defined DRAGONFLY || \
+ defined ANDROID
#include <pthread.h>
#else
typedef unsigned int pthread_t;
diff --git a/vcl/inc/unx/saldisp.hxx b/vcl/inc/unx/saldisp.hxx
index 6687762c1e9d..194e050df2b0 100644
--- a/vcl/inc/unx/saldisp.hxx
+++ b/vcl/inc/unx/saldisp.hxx
@@ -372,7 +372,7 @@ protected:
KeySym nShiftKeySym_; // first shift modifier
KeySym nCtrlKeySym_; // first control modifier
KeySym nMod1KeySym_; // first mod1 modifier
- ByteString m_aKeyboardName;
+ rtl::OString m_aKeyboardName;
vcl_sal::WMAdaptor* m_pWMAdaptor;
DtIntegrator* m_pDtIntegrator;
@@ -420,8 +420,9 @@ public:
bool DispatchInternalEvent();
void PrintInfo() const;
- void PrintEvent( const ByteString &rComment,
- XEvent *pEvent ) const;
+#ifdef DBG_UTIL
+ void DbgPrintDisplayEvent(const char *pComment, XEvent *pEvent) const;
+#endif
void Beep() const;
diff --git a/vcl/inc/unx/x11_cursors/salcursors.h b/vcl/inc/unx/x11_cursors/salcursors.h
index e0d34e122336..6af2c111fb57 100644
--- a/vcl/inc/unx/x11_cursors/salcursors.h
+++ b/vcl/inc/unx/x11_cursors/salcursors.h
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -160,3 +161,5 @@
#include "unx/x11_cursors/tblselsw_mask.h"
#include "unx/x11_cursors/paintbrush_curs.h"
#include "unx/x11_cursors/paintbrush_mask.h"
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/vcl/accel.hxx b/vcl/inc/vcl/accel.hxx
index a7bf623cb20a..79109e08cd4c 100644
--- a/vcl/inc/vcl/accel.hxx
+++ b/vcl/inc/vcl/accel.hxx
@@ -83,9 +83,6 @@ public:
void InsertItem( sal_uInt16 nItemId, const KeyCode& rKeyCode );
void InsertItem( const ResId& rResId );
- void RemoveItem( sal_uInt16 nItemId );
- void RemoveItem( const KeyCode rKeyCode );
- void Clear();
sal_uInt16 GetCurItemId() const { return mnCurId; }
const KeyCode& GetCurKeyCode() const { return maCurKeyCode; }
@@ -94,22 +91,9 @@ public:
sal_uInt16 GetItemCount() const;
sal_uInt16 GetItemId( sal_uInt16 nPos ) const;
- KeyCode GetItemKeyCode( sal_uInt16 nPos ) const;
- sal_uInt16 GetItemId( const KeyCode& rKeyCode ) const;
KeyCode GetKeyCode( sal_uInt16 nItemId ) const;
- sal_Bool IsIdValid( sal_uInt16 nItemId ) const;
- sal_Bool IsKeyCodeValid( const KeyCode rKeyCode ) const;
- sal_Bool Call( const KeyCode& rKeyCode, sal_uInt16 nRepeat = 0 );
- void SetAccel( sal_uInt16 nItemId, Accelerator* pAccel );
Accelerator* GetAccel( sal_uInt16 nItemId ) const;
- void SetAccel( const KeyCode rKeyCode, Accelerator* pAccel );
- Accelerator* GetAccel( const KeyCode rKeyCode ) const;
-
- void EnableItem( sal_uInt16 nItemId, sal_Bool bEnable = sal_True );
- sal_Bool IsItemEnabled( sal_uInt16 nItemId ) const;
- void EnableItem( const KeyCode rKeyCode, sal_Bool bEnable = sal_True );
- sal_Bool IsItemEnabled( const KeyCode rKeyCode ) const;
void SetHelpText( const XubString& rHelpText ) { maHelpStr = rHelpText; }
const XubString& GetHelpText() const { return maHelpStr; }
diff --git a/vcl/inc/vcl/animate.hxx b/vcl/inc/vcl/animate.hxx
index e53a51e0e932..956f63f330f8 100644
--- a/vcl/inc/vcl/animate.hxx
+++ b/vcl/inc/vcl/animate.hxx
@@ -71,20 +71,25 @@ struct VCL_DLLPUBLIC AnimationBitmap
Size aSizePix;
long nWait;
Disposal eDisposal;
- sal_Bool bUserInput;
+ sal_Bool bUserInput;
AnimationBitmap() {}
- AnimationBitmap( const BitmapEx& rBmpEx, const Point& rPosPix,
- const Size& rSizePix, long _nWait = 0L,
- Disposal _eDisposal = DISPOSE_NOT ) :
- aBmpEx ( rBmpEx ),
- aPosPix ( rPosPix ),
- aSizePix ( rSizePix ),
- nWait ( _nWait ),
- eDisposal ( _eDisposal ),
- bUserInput ( sal_False ) {}
-
- sal_Bool operator==( const AnimationBitmap& rAnimBmp ) const
+ AnimationBitmap(
+ const BitmapEx& rBmpEx,
+ const Point& rPosPix,
+ const Size& rSizePix,
+ long _nWait = 0L,
+ Disposal _eDisposal = DISPOSE_NOT
+ ) :
+ aBmpEx ( rBmpEx ),
+ aPosPix ( rPosPix ),
+ aSizePix ( rSizePix ),
+ nWait ( _nWait ),
+ eDisposal ( _eDisposal ),
+ bUserInput ( sal_False )
+ {}
+
+ sal_Bool operator==( const AnimationBitmap& rAnimBmp ) const
{
return( rAnimBmp.aBmpEx == aBmpEx &&
rAnimBmp.aPosPix == aPosPix &&
@@ -94,9 +99,10 @@ struct VCL_DLLPUBLIC AnimationBitmap
rAnimBmp.bUserInput == bUserInput );
}
- sal_Bool operator!=( const AnimationBitmap& rAnimBmp ) const { return !( *this == rAnimBmp ); }
+ sal_Bool operator!=( const AnimationBitmap& rAnimBmp ) const
+ { return !( *this == rAnimBmp ); }
- sal_Bool IsEqual( const AnimationBitmap& rAnimBmp ) const
+ sal_Bool IsEqual( const AnimationBitmap& rAnimBmp ) const
{
return( rAnimBmp.aPosPix == aPosPix &&
rAnimBmp.aSizePix == aSizePix &&
@@ -106,7 +112,7 @@ struct VCL_DLLPUBLIC AnimationBitmap
rAnimBmp.aBmpEx.IsEqual( aBmpEx ) );
}
- sal_uLong GetChecksum() const;
+ sal_uLong GetChecksum() const;
};
// -------------------
@@ -125,8 +131,8 @@ struct AInfo
OutputDevice* pOutDev;
void* pViewData;
long nExtraData;
- sal_Bool bWithSize;
- sal_Bool bPause;
+ sal_Bool bWithSize;
+ sal_Bool bPause;
AInfo() : pOutDev( NULL ),
pViewData( NULL ),
@@ -139,28 +145,31 @@ struct AInfo
// - AnimationBitmap -
// -------------------
+class ImplAnimView;
+typedef ::std::vector< AnimationBitmap* > AnimationBitmapList_impl;
+typedef ::std::vector< ImplAnimView* > AnimViewList_impl;
+
class VCL_DLLPUBLIC Animation
{
- SAL_DLLPRIVATE static sal_uLong mnAnimCount;
+ SAL_DLLPRIVATE static sal_uLong mnAnimCount;
- List maList;
- List maAInfoList;
+ AnimationBitmapList_impl maList;
+ AnimViewList_impl maViewList;
Link maNotifyLink;
BitmapEx maBitmapEx;
Timer maTimer;
Size maGlobalSize;
- List* mpViewList;
void* mpExtraData;
long mnLoopCount;
long mnLoops;
- long mnPos;
+ size_t mnPos;
Disposal meLastDisposal;
CycleMode meCycleMode;
- sal_Bool mbFirst;
- sal_Bool mbIsInAnimation;
- sal_Bool mbWithSize;
- sal_Bool mbLoopTerminated;
- sal_Bool mbIsWaiting;
+ sal_Bool mbFirst;
+ sal_Bool mbIsInAnimation;
+ sal_Bool mbWithSize;
+ sal_Bool mbLoopTerminated;
+ sal_Bool mbIsWaiting;
SAL_DLLPRIVATE void ImplRestartTimer( sal_uLong nTimeout );
@@ -170,7 +179,7 @@ public:
SAL_DLLPRIVATE static void ImplIncAnimCount() { mnAnimCount++; }
SAL_DLLPRIVATE static void ImplDecAnimCount() { mnAnimCount--; }
- SAL_DLLPRIVATE sal_uLong ImplGetCurPos() const { return mnPos; }
+ SAL_DLLPRIVATE sal_uLong ImplGetCurPos() const { return mnPos; }
public:
@@ -179,28 +188,36 @@ public:
~Animation();
Animation& operator=( const Animation& rAnimation );
- sal_Bool operator==( const Animation& rAnimation ) const;
- sal_Bool operator!=( const Animation& rAnimation ) const { return !(*this==rAnimation); }
-
- sal_Bool IsEqual( const Animation& rAnimation ) const;
+ sal_Bool operator==( const Animation& rAnimation ) const;
+ sal_Bool operator!=( const Animation& rAnimation ) const
+ { return !(*this==rAnimation); }
- sal_Bool IsEmpty() const;
+ sal_Bool IsEmpty() const;
void SetEmpty();
void Clear();
- sal_Bool Start( OutputDevice* pOutDev, const Point& rDestPt, long nExtraData = 0,
- OutputDevice* pFirstFrameOutDev = NULL );
- sal_Bool Start( OutputDevice* pOutDev, const Point& rDestPt, const Size& rDestSz, long nExtraData = 0,
- OutputDevice* pFirstFrameOutDev = NULL );
+ sal_Bool Start(
+ OutputDevice* pOutDev,
+ const Point& rDestPt,
+ long nExtraData = 0,
+ OutputDevice* pFirstFrameOutDev = NULL
+ );
+ sal_Bool Start(
+ OutputDevice* pOutDev,
+ const Point& rDestPt,
+ const Size& rDestSz,
+ long nExtraData = 0,
+ OutputDevice* pFirstFrameOutDev = NULL
+ );
void Stop( OutputDevice* pOutDev = NULL, long nExtraData = 0 );
void Draw( OutputDevice* pOutDev, const Point& rDestPt ) const;
void Draw( OutputDevice* pOutDev, const Point& rDestPt, const Size& rDestSz ) const;
- sal_Bool IsInAnimation() const { return mbIsInAnimation; }
- sal_Bool IsTransparent() const;
- sal_Bool IsTerminated() const { return mbLoopTerminated; }
+ sal_Bool IsInAnimation() const { return mbIsInAnimation; }
+ sal_Bool IsTransparent() const;
+ sal_Bool IsTerminated() const { return mbLoopTerminated; }
const Size& GetDisplaySizePixel() const { return maGlobalSize; }
void SetDisplaySizePixel( const Size& rSize ) { maGlobalSize = rSize; }
@@ -208,7 +225,7 @@ public:
const BitmapEx& GetBitmapEx() const { return maBitmapEx; }
void SetBitmapEx( const BitmapEx& rBmpEx ) { maBitmapEx = rBmpEx; }
- sal_uLong GetLoopCount() const { return mnLoopCount; }
+ sal_uLong GetLoopCount() const { return mnLoopCount; }
void SetLoopCount( const sal_uLong nLoopCount );
void ResetLoopCount();
@@ -218,36 +235,40 @@ public:
void SetNotifyHdl( const Link& rLink ) { maNotifyLink = rLink; }
const Link& GetNotifyHdl() const { return maNotifyLink; }
- sal_uInt16 Count() const { return (sal_uInt16) maList.Count(); }
- sal_Bool Insert( const AnimationBitmap& rAnimationBitmap );
+ size_t Count() const { return maList.size(); }
+ sal_Bool Insert( const AnimationBitmap& rAnimationBitmap );
const AnimationBitmap& Get( sal_uInt16 nAnimation ) const;
void Replace( const AnimationBitmap& rNewAnimationBmp, sal_uInt16 nAnimation );
- List* GetAInfoList() { return &maAInfoList; }
- sal_uLong GetSizeBytes() const;
- sal_uLong GetChecksum() const;
+ sal_uLong GetSizeBytes() const;
+ sal_uLong GetChecksum() const;
public:
- sal_Bool Convert( BmpConversion eConversion );
- sal_Bool ReduceColors( sal_uInt16 nNewColorCount,
- BmpReduce eReduce = BMP_REDUCE_SIMPLE );
- sal_Bool Invert();
- sal_Bool Mirror( sal_uLong nMirrorFlags );
- sal_Bool Dither( sal_uLong nDitherFlags = BMP_DITHER_MATRIX );
- sal_Bool Adjust( short nLuminancePercent = 0,
- short nContrastPercent = 0,
- short nChannelRPercent = 0,
- short nChannelGPercent = 0,
- short nChannelBPercent = 0,
- double fGamma = 1.0,
- sal_Bool bInvert = sal_False );
- sal_Bool Filter( BmpFilter eFilter,
- const BmpFilterParam* pFilterParam = NULL,
- const Link* pProgress = NULL );
-
- friend VCL_DLLPUBLIC SvStream& operator>>( SvStream& rIStream, Animation& rAnimation );
- friend VCL_DLLPUBLIC SvStream& operator<<( SvStream& rOStream, const Animation& rAnimation );
+ sal_Bool Convert( BmpConversion eConversion );
+ sal_Bool ReduceColors(
+ sal_uInt16 nNewColorCount,
+ BmpReduce eReduce = BMP_REDUCE_SIMPLE
+ );
+ sal_Bool Invert();
+ sal_Bool Mirror( sal_uLong nMirrorFlags );
+ sal_Bool Adjust(
+ short nLuminancePercent = 0,
+ short nContrastPercent = 0,
+ short nChannelRPercent = 0,
+ short nChannelGPercent = 0,
+ short nChannelBPercent = 0,
+ double fGamma = 1.0,
+ sal_Bool bInvert = sal_False
+ );
+ sal_Bool Filter(
+ BmpFilter eFilter,
+ const BmpFilterParam* pFilterParam = NULL,
+ const Link* pProgress = NULL
+ );
+
+ friend VCL_DLLPUBLIC SvStream& operator>>( SvStream& rIStream, Animation& rAnimation );
+ friend VCL_DLLPUBLIC SvStream& operator<<( SvStream& rOStream, const Animation& rAnimation );
};
#endif // _SV_ANIMATE_HXX
diff --git a/vcl/inc/vcl/bitmap.hxx b/vcl/inc/vcl/bitmap.hxx
index e25bb482f53c..a6ff3129fada 100644
--- a/vcl/inc/vcl/bitmap.hxx
+++ b/vcl/inc/vcl/bitmap.hxx
@@ -234,7 +234,7 @@ struct BitmapSystemData
#if defined( WNT )
void* pDIB; // device independent byte buffer
void* pDDB; // if not NULL then this is actually an HBITMAP
- #elif defined( QUARTZ )
+ #elif defined( QUARTZ ) || defined( IOS )
void* rImageContext; //Image context (CGContextRef)
#else
void* aPixmap;
diff --git a/vcl/inc/vcl/canvastools.hxx b/vcl/inc/vcl/canvastools.hxx
index e82d397a92f0..ce6c7bcafe68 100644
--- a/vcl/inc/vcl/canvastools.hxx
+++ b/vcl/inc/vcl/canvastools.hxx
@@ -144,11 +144,6 @@ namespace vcl
::BitmapEx VCL_DLLPUBLIC bitmapExFromXBitmap( const ::com::sun::star::uno::Reference<
::com::sun::star::rendering::XIntegerReadOnlyBitmap >& xInputBitmap );
- /** get a unique identifier for identification in XUnoTunnel interface
- */
- enum TunnelIdentifierType { Id_BitmapEx = 0 };
- const com::sun::star::uno::Sequence< sal_Int8 > VCL_DLLPUBLIC getTunnelIdentifier( TunnelIdentifierType eType );
-
// Color conversions (vcl/tools Color <-> canvas standard color space)
// ===================================================================
diff --git a/vcl/inc/vcl/displayconnectiondispatch.hxx b/vcl/inc/vcl/displayconnectiondispatch.hxx
index fea1d0b7cba9..0804c9111153 100644
--- a/vcl/inc/vcl/displayconnectiondispatch.hxx
+++ b/vcl/inc/vcl/displayconnectiondispatch.hxx
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -50,3 +51,5 @@ protected:
}
#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/vcl/field.hxx b/vcl/inc/vcl/field.hxx
index fd0ce90cb0d7..4af5e1a6128b 100644
--- a/vcl/inc/vcl/field.hxx
+++ b/vcl/inc/vcl/field.hxx
@@ -111,7 +111,7 @@ public:
class VCL_DLLPUBLIC PatternFormatter : public FormatterBase
{
private:
- ByteString maEditMask;
+ rtl::OString m_aEditMask;
XubString maFieldString;
XubString maLiteralMask;
sal_uInt16 mnFormatFlags;
@@ -122,7 +122,8 @@ protected:
PatternFormatter();
SAL_DLLPRIVATE void ImplLoadRes( const ResId& rResId );
- SAL_DLLPRIVATE void ImplSetMask( const ByteString& rEditMask, const XubString& rLiteralMask );
+ SAL_DLLPRIVATE void ImplSetMask(const rtl::OString& rEditMask,
+ const XubString& rLiteralMask);
SAL_DLLPRIVATE sal_Bool ImplIsSameMask() const { return mbSameMask; }
SAL_DLLPRIVATE sal_Bool& ImplGetInPattKeyInput() { return mbInPattKeyInput; }
@@ -131,9 +132,8 @@ public:
virtual void Reformat();
- void SetMask( const ByteString& rEditMask,
- const XubString& rLiteralMask );
- const ByteString& GetEditMask() const { return maEditMask; }
+ void SetMask(const rtl::OString& rEditMask, const XubString& rLiteralMask );
+ const rtl::OString& GetEditMask() const { return m_aEditMask; }
const XubString& GetLiteralMask() const { return maLiteralMask; }
void SetFormatFlags( sal_uInt16 nFlags ) { mnFormatFlags = nFlags; }
@@ -475,8 +475,6 @@ public:
void SetTime( const Time& rNewTime );
void SetUserTime( const Time& rNewTime );
Time GetTime() const;
- Time GetRealTime() const;
- sal_Bool IsTimeModified() const;
void SetEmptyTime() { FormatterBase::SetEmptyFieldValue(); }
sal_Bool IsEmptyTime() const { return FormatterBase::IsEmptyFieldValue(); }
Time GetCorrectedTime() const { return maCorrectedTime; }
@@ -866,7 +864,6 @@ class VCL_DLLPUBLIC TimeBox : public ComboBox, public TimeFormatter
{
public:
TimeBox( Window* pParent, WinBits nWinStyle );
- TimeBox( Window* pParent, const ResId& rResId );
~TimeBox();
virtual long PreNotify( NotifyEvent& rNEvt );
@@ -876,12 +873,6 @@ public:
virtual void Modify();
virtual void ReformatAll();
-
- void InsertTime( const Time& rTime, sal_uInt16 nPos = COMBOBOX_APPEND );
- void RemoveTime( const Time& rTime );
- using TimeFormatter::GetTime;
- Time GetTime( sal_uInt16 nPos ) const;
- sal_uInt16 GetTimePos( const Time& rTime ) const;
};
#endif // _SV_FIELD_HXX
diff --git a/vcl/inc/vcl/fontmanager.hxx b/vcl/inc/vcl/fontmanager.hxx
index 145c4d0a2169..467297668b5a 100644
--- a/vcl/inc/vcl/fontmanager.hxx
+++ b/vcl/inc/vcl/fontmanager.hxx
@@ -333,7 +333,7 @@ class VCL_PLUGIN_PUBLIC PrintFontManager
void getFontAttributesFromXLFD( PrintFont* pFont, const std::list< rtl::OString >& rXLFDs ) const;
- bool analyzeFontFile( int nDirID, const rtl::OString& rFileName, const std::list< rtl::OString >& rXLFDs, std::list< PrintFont* >& rNewFonts ) const;
+ bool analyzeFontFile( int nDirID, const rtl::OString& rFileName, const std::list< rtl::OString >& rXLFDs, std::list< PrintFont* >& rNewFonts, const char *pFormat=NULL ) const;
rtl::OUString convertTrueTypeName( void* pNameRecord ) const; // actually a NameRecord* formt font subsetting code
void analyzeTrueTypeFamilyName( void* pTTFont, std::list< rtl::OUString >& rnames ) const; // actually a TrueTypeFont* from font subsetting code
bool analyzeTrueTypeFile( PrintFont* pFont ) const;
diff --git a/vcl/inc/vcl/gdimtf.hxx b/vcl/inc/vcl/gdimtf.hxx
index 86f8dc5cbc77..e15a536ced0f 100644
--- a/vcl/inc/vcl/gdimtf.hxx
+++ b/vcl/inc/vcl/gdimtf.hxx
@@ -291,4 +291,4 @@ MetaCommentAction* makePluggableRendererAction( const rtl::OUString& rRendererSe
#endif // _SV_GDIMTF_HXX
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ \ No newline at end of file
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/vcl/graph.hxx b/vcl/inc/vcl/graph.hxx
index 61da922acce6..2ca801cfb97b 100644
--- a/vcl/inc/vcl/graph.hxx
+++ b/vcl/inc/vcl/graph.hxx
@@ -178,8 +178,6 @@ public:
sal_uLong GetAnimationLoopCount() const;
void ResetAnimationLoopCount();
- List* GetAnimationInfoList() const;
-
sal_uLong GetChecksum() const;
public:
@@ -222,4 +220,4 @@ public:
#endif // _SV_GRAPH_HXX
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ \ No newline at end of file
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/vcl/graphictools.hxx b/vcl/inc/vcl/graphictools.hxx
index edd29ab9db01..333c9163d57a 100644
--- a/vcl/inc/vcl/graphictools.hxx
+++ b/vcl/inc/vcl/graphictools.hxx
@@ -424,18 +424,6 @@ public:
void setHatchType ( HatchType aHatchType );
/// Set color used for drawing the hatch
void setHatchColor ( Color aHatchColor );
- /// Set type of gradient used
- void setGradientType ( GradientType aGradType );
- /// Set start color of the gradient
- void setGradient1stColor ( Color aColor );
- /// Set end color of the gradient
- void setGradient2ndColor ( Color aColor );
- /** Set the numbers of steps to render the gradient.
-
- @param aCount
- The step count. gradientStepsInfinite means use infinitely many.
- */
- void setGradientStepCount( int aCount );
/// Set the texture graphic used
void setGraphic ( const Graphic& rGraphic );
diff --git a/vcl/inc/vcl/help.hxx b/vcl/inc/vcl/help.hxx
index ce7d1baf4fd6..54cdea8ccb25 100644
--- a/vcl/inc/vcl/help.hxx
+++ b/vcl/inc/vcl/help.hxx
@@ -86,14 +86,12 @@ public:
static void EnableContextHelp();
static void DisableContextHelp();
static sal_Bool IsContextHelpEnabled();
- static sal_Bool StartContextHelp();
static void EnableExtHelp();
static void DisableExtHelp();
static sal_Bool IsExtHelpEnabled();
static sal_Bool StartExtHelp();
static sal_Bool EndExtHelp();
- static sal_Bool IsExtHelpActive();
static void EnableBalloonHelp();
static void DisableBalloonHelp();
diff --git a/vcl/inc/vcl/image.hxx b/vcl/inc/vcl/image.hxx
index d536d6bd03d7..301af44bead9 100644
--- a/vcl/inc/vcl/image.hxx
+++ b/vcl/inc/vcl/image.hxx
@@ -87,9 +87,6 @@ public:
::com::sun::star::uno::Reference< ::com::sun::star::graphic::XGraphic > GetXGraphic() const;
Image GetColorTransformedImage( ImageColorTransform eColorTransform ) const;
- static void GetColorTransformArrays( ImageColorTransform eColorTransform, Color*& rpSrcColor, Color*& rpDstColor, sal_uLong& rColorCount );
-
- void Invert();
sal_Bool operator!() const { return( !mpImplData ? true : false ); }
Image& operator=( const Image& rImage );
diff --git a/vcl/inc/vcl/outdev.hxx b/vcl/inc/vcl/outdev.hxx
index b0d694c5e75e..78c7ad938d1a 100644
--- a/vcl/inc/vcl/outdev.hxx
+++ b/vcl/inc/vcl/outdev.hxx
@@ -282,6 +282,9 @@ class VirtualDevice;
class Printer;
class ImplFontSelectData;
class ImplFontMetricData;
+class VCLXGraphics;
+
+typedef ::std::vector< VCLXGraphics* > VCLXGraphicsList_impl;
const char* ImplDbgCheckOutputDevice( const void* pObj );
@@ -305,17 +308,17 @@ private:
mutable SalGraphics* mpGraphics;
mutable OutputDevice* mpPrevGraphics;
mutable OutputDevice* mpNextGraphics;
- GDIMetaFile* mpMetaFile;
+ GDIMetaFile* mpMetaFile;
mutable ImplFontEntry* mpFontEntry;
mutable ImplFontCache* mpFontCache;
mutable ImplDevFontList* mpFontList;
mutable ImplGetDevFontList* mpGetDevFontList;
mutable ImplGetDevSizeList* mpGetDevSizeList;
- ImplObjStack* mpObjStack;
- ImplOutDevData* mpOutDevData;
- List* mpUnoGraphicsList;
- vcl::PDFWriterImpl* mpPDFWriter;
- vcl::ExtOutDevData* mpExtOutDevData;
+ ImplObjStack* mpObjStack;
+ ImplOutDevData* mpOutDevData;
+ VCLXGraphicsList_impl* mpUnoGraphicsList;
+ vcl::PDFWriterImpl* mpPDFWriter;
+ vcl::ExtOutDevData* mpExtOutDevData;
// TEMP TEMP TEMP
VirtualDevice* mpAlphaVDev;
@@ -1141,8 +1144,12 @@ public:
::com::sun::star::rendering::XCanvas > GetCanvas() const;
::com::sun::star::uno::Reference< ::com::sun::star::awt::XGraphics > CreateUnoGraphics();
- List* GetUnoGraphicsList() const { return mpUnoGraphicsList; }
- List* CreateUnoGraphicsList() { mpUnoGraphicsList = new List; return mpUnoGraphicsList; }
+ VCLXGraphicsList_impl* GetUnoGraphicsList() const { return mpUnoGraphicsList; }
+ VCLXGraphicsList_impl* CreateUnoGraphicsList()
+ {
+ mpUnoGraphicsList = new VCLXGraphicsList_impl();
+ return mpUnoGraphicsList;
+ }
static void BeginFontSubstitution();
static void EndFontSubstitution();
diff --git a/vcl/inc/vcl/ppdparser.hxx b/vcl/inc/vcl/ppdparser.hxx
index 7082c020c7a2..474d847e2607 100644
--- a/vcl/inc/vcl/ppdparser.hxx
+++ b/vcl/inc/vcl/ppdparser.hxx
@@ -186,12 +186,12 @@ private:
PPDParser( const String& rFile );
~PPDParser();
- void parseOrderDependency( const ByteString& rLine );
- void parseOpenUI( const ByteString& rLine );
- void parseConstraint( const ByteString& rLine );
- void parse( std::list< ByteString >& rLines );
+ void parseOrderDependency(const rtl::OString& rLine);
+ void parseOpenUI(const rtl::OString& rLine);
+ void parseConstraint(const rtl::OString& rLine);
+ void parse( std::list< rtl::OString >& rLines );
- String handleTranslation( const ByteString& i_rString, bool i_bIsGlobalized );
+ String handleTranslation(const rtl::OString& i_rString, bool i_bIsGlobalized);
static void scanPPDDir( const String& rDir );
static void initPPDFiles();
diff --git a/vcl/inc/vcl/print.hxx b/vcl/inc/vcl/print.hxx
index 182258aeb3c1..120198328e49 100644
--- a/vcl/inc/vcl/print.hxx
+++ b/vcl/inc/vcl/print.hxx
@@ -265,14 +265,12 @@ private:
SAL_DLLPRIVATE void ImplUpdatePageData();
SAL_DLLPRIVATE void ImplUpdateFontList();
SAL_DLLPRIVATE void ImplFindPaperFormatForUserSize( JobSetup&, bool bMatchNearest );
- DECL_DLLPRIVATE_LINK( ImplDestroyPrinterAsync, void* );
SAL_DLLPRIVATE bool StartJob( const rtl::OUString& rJobName, boost::shared_ptr<vcl::PrinterController>& );
static SAL_DLLPRIVATE sal_uLong ImplSalPrinterErrorCodeToVCL( sal_uLong nError );
private:
- SAL_DLLPRIVATE void ImplEndPrint();
SAL_DLLPRIVATE sal_Bool EndJob();
SAL_DLLPRIVATE Printer( const Printer& rPrinter );
SAL_DLLPRIVATE Printer& operator =( const Printer& rPrinter );
@@ -281,7 +279,6 @@ public:
SAL_DLLPRIVATE void ImplEndPage();
public:
void DrawGradientEx( OutputDevice* pOut, const Rectangle& rRect, const Gradient& rGradient );
- void DrawGradientEx( OutputDevice* pOut, const PolyPolygon& rPolyPoly, const Gradient& rGradient );
protected:
@@ -290,7 +287,6 @@ protected:
public:
Printer();
- Printer( const Window* pWindow );
Printer( const JobSetup& rJobSetup );
Printer( const QueueInfo& rQueueInfo );
Printer( const XubString& rPrinterName );
@@ -329,7 +325,6 @@ public:
sal_Bool SetOrientation( Orientation eOrient );
Orientation GetOrientation() const;
- DuplexMode GetDuplexMode() const;
sal_Bool SetDuplexMode( DuplexMode );
// returns the angle that a landscape page will be turned counterclockwise
// wrt to portrait. The return value may be only valid for
@@ -363,7 +358,6 @@ public:
sal_Bool IsPrinting() const { return mbPrinting; }
- sal_Bool AbortJob();
const XubString& GetCurJobName() const { return maJobName; }
sal_uInt16 GetCurPage() const { return mnCurPage; }
sal_Bool IsJobActive() const { return mbJobActive; }
diff --git a/vcl/inc/vcl/quickselectionengine.hxx b/vcl/inc/vcl/quickselectionengine.hxx
index f70736428010..d3dc157d2c6c 100644
--- a/vcl/inc/vcl/quickselectionengine.hxx
+++ b/vcl/inc/vcl/quickselectionengine.hxx
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -93,3 +94,5 @@ namespace vcl
//........................................................................
#endif // VCL_QUICKSELECTIONENGINE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/vcl/rendergraphic.hxx b/vcl/inc/vcl/rendergraphic.hxx
index 0a0f475decd6..bee2abf4f6f1 100644
--- a/vcl/inc/vcl/rendergraphic.hxx
+++ b/vcl/inc/vcl/rendergraphic.hxx
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -122,3 +123,5 @@ namespace vcl
}
#endif // _SV_RENDERHRAPHIC_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/vcl/rendergraphicrasterizer.hxx b/vcl/inc/vcl/rendergraphicrasterizer.hxx
index f2166b03ffb3..0f564a635beb 100644
--- a/vcl/inc/vcl/rendergraphicrasterizer.hxx
+++ b/vcl/inc/vcl/rendergraphicrasterizer.hxx
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -109,3 +110,5 @@ namespace vcl
}
#endif // _SV_RENDERGRAPHICRASTERIZER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/vcl/settings.hxx b/vcl/inc/vcl/settings.hxx
index 0ade4c63f295..2494f4fa5d08 100644
--- a/vcl/inc/vcl/settings.hxx
+++ b/vcl/inc/vcl/settings.hxx
@@ -713,7 +713,6 @@ public:
{ CopyData(); mpData->mnHighContrast = bHighContrast; }
sal_Bool GetHighContrastMode() const
{ return (sal_Bool) mpData->mnHighContrast; }
- sal_Bool IsHighContrastBlackAndWhite() const;
void SetUseSystemUIFonts( sal_Bool bUseSystemUIFonts )
{ CopyData(); mpData->mnUseSystemUIFonts = bUseSystemUIFonts; }
sal_Bool GetUseSystemUIFonts() const
diff --git a/vcl/inc/vcl/strhelper.hxx b/vcl/inc/vcl/strhelper.hxx
index 450139b0ba14..62e4fc072bdd 100644
--- a/vcl/inc/vcl/strhelper.hxx
+++ b/vcl/inc/vcl/strhelper.hxx
@@ -38,17 +38,17 @@
namespace psp {
String VCL_DLLPUBLIC GetCommandLineToken( int, const String& );
-ByteString VCL_DLLPUBLIC GetCommandLineToken( int, const ByteString& );
+rtl::OString VCL_DLLPUBLIC GetCommandLineToken(int, const rtl::OString&);
// gets one token of a unix command line style string
// doublequote, singlequote and singleleftquote protect their respective
// contents
int VCL_DLLPUBLIC GetCommandLineTokenCount( const String& );
-int VCL_DLLPUBLIC GetCommandLineTokenCount( const ByteString& );
+int VCL_DLLPUBLIC GetCommandLineTokenCount(const rtl::OString&);
// returns number of tokens (zero if empty or whitespace only)
String VCL_DLLPUBLIC WhitespaceToSpace( const String&, sal_Bool bProtect = sal_True );
-ByteString VCL_DLLPUBLIC WhitespaceToSpace( const ByteString&, sal_Bool bProtect = sal_True );
+rtl::OString VCL_DLLPUBLIC WhitespaceToSpace(const rtl::OString&, sal_Bool bProtect = sal_True);
// returns a string with multiple adjacent occurrences of whitespace
// converted to a single space. if bProtect is sal_True (nonzero), then
// doublequote, singlequote and singleleftquote protect their respective
@@ -58,14 +58,12 @@ ByteString VCL_DLLPUBLIC WhitespaceToSpace( const ByteString&, sal_Bool bProtect
// parses the first double in the string; decimal is '.' only
inline double VCL_DLLPUBLIC StringToDouble( const String& rStr )
{
- rtl_math_ConversionStatus eStatus;
- return rtl::math::stringToDouble( rStr, sal_Unicode('.'), sal_Unicode(0), &eStatus, NULL);
+ return rtl::math::stringToDouble(rStr, sal_Unicode('.'), sal_Unicode(0));
}
-inline double VCL_DLLPUBLIC StringToDouble( const ByteString& rStr )
+inline double VCL_DLLPUBLIC StringToDouble(const rtl::OString& rStr)
{
- rtl_math_ConversionStatus eStatus;
- return rtl::math::stringToDouble( rtl::OStringToOUString( rStr, osl_getThreadTextEncoding() ), sal_Unicode('.'), sal_Unicode(0), &eStatus, NULL);
+ return rtl::math::stringToDouble(rStr, '.', static_cast<sal_Char>(0));
}
// fills a character buffer with the string representation of a double
diff --git a/vcl/inc/vcl/svapp.hxx b/vcl/inc/vcl/svapp.hxx
index 85e902161a48..b233a3c07c03 100644
--- a/vcl/inc/vcl/svapp.hxx
+++ b/vcl/inc/vcl/svapp.hxx
@@ -161,14 +161,12 @@ inline sal_Bool ApplicationAddress::IsConnectToSame( const ApplicationAddress& r
#define APPEVENT_OPEN_STRING "Open"
#define APPEVENT_PRINT_STRING "Print"
-#define APPEVENT_DISKINSERT_STRING "DiskInsert"
-#define APPEVENT_SAVEDOCUMENTS_STRING "SaveDocuments"
class VCL_DLLPUBLIC ApplicationEvent
{
private:
UniString aSenderAppName; // Absender Applikationsname
- ByteString aEvent; // Event
+ rtl::OString m_aEvent; // Event
UniString aData; // Uebertragene Daten
ApplicationAddress aAppAddr; // Absender Addresse
@@ -176,57 +174,29 @@ public:
ApplicationEvent() {}
ApplicationEvent( const UniString& rSenderAppName,
const ApplicationAddress& rAppAddr,
- const ByteString& rEvent,
+ const rtl::OString& rEvent,
const UniString& rData );
const UniString& GetSenderAppName() const { return aSenderAppName; }
- const ByteString& GetEvent() const { return aEvent; }
+ const rtl::OString& GetEvent() const { return m_aEvent; }
const UniString& GetData() const { return aData; }
const ApplicationAddress& GetAppAddress() const { return aAppAddr; }
- sal_Bool IsOpenEvent() const;
- sal_Bool IsPrintEvent() const;
- sal_Bool IsDiskInsertEvent() const;
-
sal_uInt16 GetParamCount() const { return aData.GetTokenCount( APPEVENT_PARAM_DELIMITER ); }
UniString GetParam( sal_uInt16 nParam ) const { return aData.GetToken( nParam, APPEVENT_PARAM_DELIMITER ); }
};
inline ApplicationEvent::ApplicationEvent( const UniString& rSenderAppName,
const ApplicationAddress& rAppAddr,
- const ByteString& rEvent,
+ const rtl::OString& rEvent,
const UniString& rData ) :
aSenderAppName( rSenderAppName ),
- aEvent( rEvent ),
+ m_aEvent( rEvent ),
aData( rData ),
aAppAddr( rAppAddr )
{
}
-inline sal_Bool ApplicationEvent::IsOpenEvent() const
-{
- if ( aEvent.Equals( APPEVENT_OPEN_STRING ))
- return sal_True;
- else
- return sal_False;
-}
-
-inline sal_Bool ApplicationEvent::IsPrintEvent() const
-{
- if ( aEvent.Equals( APPEVENT_PRINT_STRING ))
- return sal_True;
- else
- return sal_False;
-}
-
-inline sal_Bool ApplicationEvent::IsDiskInsertEvent() const
-{
- if ( aEvent.Equals( APPEVENT_DISKINSERT_STRING ))
- return sal_True;
- else
- return sal_False;
-}
-
class VCL_DLLPUBLIC PropertyHandler
{
public:
@@ -262,8 +232,6 @@ public:
virtual void InitFinished();
virtual void DeInit();
- static void InitAppRes( const ResId& rResId );
-
static sal_uInt16 GetCommandLineParamCount();
static XubString GetCommandLineParam( sal_uInt16 nParam );
static const XubString& GetAppFileName();
@@ -286,7 +254,6 @@ public:
static sal_Bool IsInMain();
static sal_Bool IsInExecute();
- static sal_Bool IsShutDown();
static sal_Bool IsInModalMode();
static sal_uInt16 GetModalModeCount();
@@ -294,7 +261,6 @@ public:
static sal_Bool AnyInput( sal_uInt16 nType = INPUT_ANY );
static sal_uLong GetLastInputInterval();
static sal_Bool IsUICaptured();
- static sal_Bool IsUserActive( sal_uInt16 nTest = USERACTIVE_ALL );
virtual void SystemSettingsChanging( AllSettings& rSettings,
Window* pFrame );
@@ -387,16 +353,11 @@ public:
static sal_Bool InsertAccel( Accelerator* pAccel );
static void RemoveAccel( Accelerator* pAccel );
- static void FlushAccel();
static sal_Bool CallAccel( const KeyCode& rKeyCode, sal_uInt16 nRepeat = 0 );
- static sal_uLong AddHotKey( const KeyCode& rKeyCode, const Link& rLink, void* pData = NULL );
- static void RemoveHotKey( sal_uLong nId );
static sal_uLong AddEventHook( VCLEventHookProc pProc, void* pData = NULL );
static void RemoveEventHook( sal_uLong nId );
static long CallEventHooks( NotifyEvent& rEvt );
- static long CallPreNotify( NotifyEvent& rEvt );
- static long CallEvent( NotifyEvent& rEvt );
static void SetHelp( Help* pHelp = NULL );
static Help* GetHelp();
@@ -409,7 +370,6 @@ public:
static sal_uLong GetReservedKeyCodeCount();
static const KeyCode* GetReservedKeyCode( sal_uLong i );
- static String GetReservedKeyCodeDescription( sal_uLong i );
static void SetDefDialogParent( Window* pWindow );
static Window* GetDefDialogParent();
@@ -421,9 +381,7 @@ public:
static sal_uInt16 GetSystemWindowMode();
static void SetDialogScaleX( short nScale );
- static short GetDialogScaleX();
- static void SetFontPath( const String& rPath );
static const String& GetFontPath();
static UniqueItemId CreateUniqueId();
@@ -438,8 +396,6 @@ public:
static void SetFilterHdl( const Link& rLink );
static const Link& GetFilterHdl();
- static sal_Bool IsAccessibilityEnabled();
-
static void EnableHeadlessMode( sal_Bool bEnable = sal_True );
static sal_Bool IsHeadlessModeEnabled();
diff --git a/vcl/inc/vcl/svgread.hxx b/vcl/inc/vcl/svgread.hxx
index 4427198eeb5a..cf4f8008c7ef 100644
--- a/vcl/inc/vcl/svgread.hxx
+++ b/vcl/inc/vcl/svgread.hxx
@@ -80,4 +80,4 @@ namespace vcl
#endif
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ \ No newline at end of file
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/vcl/syschild.hxx b/vcl/inc/vcl/syschild.hxx
index 275e41312f17..3a55d0b45a2c 100644
--- a/vcl/inc/vcl/syschild.hxx
+++ b/vcl/inc/vcl/syschild.hxx
@@ -63,7 +63,6 @@ public:
// per default systemchildwindows erase their background for better plugin support
// however, this might not always be required
void EnableEraseBackground( sal_Bool bEnable = sal_True );
- sal_Bool IsEraseBackgroundEnabled();
void SetForwardKey( sal_Bool bEnable );
// return the platform specific handle/id of this window;
// in case the flag bUseJava is set, a java compatible overlay window
diff --git a/vcl/inc/vcl/sysdata.hxx b/vcl/inc/vcl/sysdata.hxx
index cab614841e1d..b5daf28e579d 100644
--- a/vcl/inc/vcl/sysdata.hxx
+++ b/vcl/inc/vcl/sysdata.hxx
@@ -41,6 +41,18 @@ typedef struct CGLayer *CGLayerRef;
class NSView;
#endif
#endif
+
+#ifdef IOS
+typedef struct CGFont *CGFontRef;
+typedef struct CGContext *CGContextRef;
+typedef struct CGLayer *CGLayerRef;
+#ifdef __OBJC__
+@class UIView;
+#else
+class UIView;
+#endif
+#endif
+
#if defined( WNT )
#include <windef.h>
#endif
@@ -56,6 +68,8 @@ struct SystemEnvData
HWND hWnd; // the window hwnd
#elif defined( QUARTZ )
NSView* pView; // the cocoa (NSView *) implementing this object
+#elif defined( IOS )
+ UIView* pView; // the CocoaTouch (UIView *) implementing this object
#elif defined( UNX )
void* pDisplay; // the relevant display connection
long aWindow; // the window of the object
@@ -84,6 +98,8 @@ struct SystemParentData
HWND hWnd; // the window hwnd
#elif defined( QUARTZ )
NSView* pView; // the cocoa (NSView *) implementing this object
+#elif defined( IOS )
+ UIView* pView; // the CocoaTouch (UIView *) implementing this object
#elif defined( UNX )
long aWindow; // the window of the object
bool bXEmbedSupport:1; // decides whether the object in question
@@ -116,8 +132,8 @@ struct SystemGraphicsData
unsigned long nSize; // size in bytes of this structure
#if defined( WNT )
HDC hDC; // handle to a device context
-#elif defined( QUARTZ )
- CGContextRef rCGContext; // QUARTZ graphic context
+#elif defined( QUARTZ ) || defined( IOS )
+ CGContextRef rCGContext; // CoreGraphics graphic context
#elif defined( UNX )
void* pDisplay; // the relevant display connection
long hDrawable; // a drawable
@@ -139,6 +155,7 @@ struct SystemWindowData
unsigned long nSize; // size in bytes of this structure
#if defined( WNT ) // meaningless on Windows
#elif defined( QUARTZ ) // meaningless on Mac OS X / Quartz
+#elif defined( IOS ) // and maybe on iOS, too, then
#elif defined( UNX )
void* pVisual; // the visual to be used
#endif
@@ -169,6 +186,8 @@ struct SystemFontData
HFONT hFont; // native font object
#elif defined( QUARTZ )
void* aATSUFontID; // native font object
+#elif defined( IOS )
+ CGFontRef rFont; // native font object
#elif defined( UNX )
void* nFontId; // native font id
int nFontFlags; // native font flags
diff --git a/vcl/inc/vcl/syswin.hxx b/vcl/inc/vcl/syswin.hxx
index 0fd2fd8d1512..19cce93d44dd 100644
--- a/vcl/inc/vcl/syswin.hxx
+++ b/vcl/inc/vcl/syswin.hxx
@@ -204,10 +204,6 @@ public:
// for systems like MacOSX which can display the URL a document is loaded from
// separately from the window title
void SetRepresentedURL( const rtl::OUString& );
- const rtl::OUString& GetRepresentedURL() const;
-
- void SetZLevel( sal_uInt8 nLevel );
- sal_uInt8 GetZLevel() const;
void EnableSaveBackground( sal_Bool bSave = sal_True );
sal_Bool IsSaveBackgroundEnabled() const;
@@ -231,8 +227,8 @@ public:
const Size& GetMaxOutputSizePixel() const;
Size GetResizeOutputSizePixel() const;
- void SetWindowState( const ByteString& rStr );
- ByteString GetWindowState( sal_uLong nMask = WINDOWSTATE_MASK_ALL ) const;
+ void SetWindowState(const rtl::OString& rStr);
+ rtl::OString GetWindowState(sal_uLong nMask = WINDOWSTATE_MASK_ALL) const;
void SetMenuBar( MenuBar* pMenuBar );
MenuBar* GetMenuBar() const { return mpMenuBar; }
diff --git a/vcl/inc/vcl/tabctrl.hxx b/vcl/inc/vcl/tabctrl.hxx
index c6525138f73b..380fb2e70883 100644
--- a/vcl/inc/vcl/tabctrl.hxx
+++ b/vcl/inc/vcl/tabctrl.hxx
@@ -158,7 +158,6 @@ public:
void SetTabPage( sal_uInt16 nPageId, TabPage* pPage );
TabPage* GetTabPage( sal_uInt16 nPageId ) const;
- sal_uInt16 GetTabPageResId( sal_uInt16 nPageId ) const;
void SetPageText( sal_uInt16 nPageId, const XubString& rText );
XubString GetPageText( sal_uInt16 nPageId ) const;
@@ -166,11 +165,9 @@ public:
void SetHelpText( sal_uInt16 nPageId, const XubString& rText );
const XubString& GetHelpText( sal_uInt16 nPageId ) const;
- void SetHelpId( sal_uInt16 nPageId, const rtl::OString& rHelpId );
rtl::OString GetHelpId( sal_uInt16 nPageId ) const;
void SetPageImage( sal_uInt16 nPageId, const Image& rImage );
- const Image* GetPageImage( sal_uInt16 nPageId ) const;
void SetHelpText( const XubString& rText )
{ Control::SetHelpText( rText ); }
diff --git a/vcl/inc/vcl/taskpanelist.hxx b/vcl/inc/vcl/taskpanelist.hxx
index 102f755554f2..9042169e9898 100644
--- a/vcl/inc/vcl/taskpanelist.hxx
+++ b/vcl/inc/vcl/taskpanelist.hxx
@@ -37,7 +37,6 @@
class VCL_DLLPUBLIC TaskPaneList
{
::std::vector<Window *> mTaskPanes;
- Window *FindNextPane( Window *pWindow, sal_Bool bForward = sal_True );
Window *FindNextFloat( Window *pWindow, sal_Bool bForward = sal_True );
Window *FindNextSplitter( Window *pWindow, sal_Bool bForward = sal_True );
diff --git a/vcl/inc/vcl/threadex.hxx b/vcl/inc/vcl/threadex.hxx
index 429b43e6ac7c..c5333d847fa1 100644
--- a/vcl/inc/vcl/threadex.hxx
+++ b/vcl/inc/vcl/threadex.hxx
@@ -39,24 +39,6 @@
namespace vcl
{
- class VCL_DLLPUBLIC ThreadExecutor
- {
- oslThread m_aThread;
- oslCondition m_aFinish;
- long m_nReturn;
-
- #ifdef THREADEX_IMPLEMENTATION
- public:
- SAL_DLLPRIVATE static void SAL_CALL worker( void* );
- #endif
- public:
- ThreadExecutor();
- virtual ~ThreadExecutor();
-
- virtual long doIt() = 0;
- long execute();
- };
-
class VCL_DLLPUBLIC SolarThreadExecutor
{
oslCondition m_aStart;
diff --git a/vcl/inc/vcl/throbber.hxx b/vcl/inc/vcl/throbber.hxx
index ce45631d2fda..4cbd6dcdbce2 100644
--- a/vcl/inc/vcl/throbber.hxx
+++ b/vcl/inc/vcl/throbber.hxx
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -99,3 +100,4 @@ private:
#endif // VCL_THROBBER_HXX
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/vcl/toolbox.hxx b/vcl/inc/vcl/toolbox.hxx
index 5badbc2d13bd..dd482c610d95 100644
--- a/vcl/inc/vcl/toolbox.hxx
+++ b/vcl/inc/vcl/toolbox.hxx
@@ -265,8 +265,6 @@ private:
using Window::ImplInvalidate;
SAL_DLLPRIVATE void ImplInvalidate( sal_Bool bNewCalc = sal_False, sal_Bool bFullPaint = sal_False );
SAL_DLLPRIVATE void ImplUpdateItem( sal_uInt16 nIndex = 0xFFFF );
- SAL_DLLPRIVATE void ImplStartCustomizeMode();
- SAL_DLLPRIVATE void ImplEndCustomizeMode();
SAL_DLLPRIVATE const XubString& ImplConvertMenuString( const XubString& rStr );
SAL_DLLPRIVATE sal_Bool ImplHandleMouseMove( const MouseEvent& rMEvt, sal_Bool bRepeat = sal_False );
SAL_DLLPRIVATE sal_Bool ImplHandleMouseButtonUp( const MouseEvent& rMEvt, sal_Bool bCancel = sal_False );
@@ -274,7 +272,6 @@ private:
SAL_DLLPRIVATE sal_Bool ImplChangeHighlightUpDn( sal_Bool bUp, sal_Bool bNoCycle = sal_False );
SAL_DLLPRIVATE sal_uInt16 ImplGetItemLine( ImplToolItem* pCurrentItem );
SAL_DLLPRIVATE ImplToolItem* ImplGetFirstValidItem( sal_uInt16 nLine );
- SAL_DLLPRIVATE ImplToolItem* ImplGetLastValidItem( sal_uInt16 nLine );
SAL_DLLPRIVATE sal_Bool ImplOpenItem( KeyCode aKeyCode );
SAL_DLLPRIVATE sal_Bool ImplActivateItem( KeyCode aKeyCode );
SAL_DLLPRIVATE void ImplShowFocus();
@@ -332,9 +329,6 @@ public:
static SAL_DLLPRIVATE void ImplDrawToolArrow( ToolBox* pBox, long nX, long nY, sal_Bool bBlack, sal_Bool bColTransform,
sal_Bool bLeft = sal_False, sal_Bool bTop = sal_False,
long nSize = 6 );
- static SAL_DLLPRIVATE void SetToolArrowClipregion( ToolBox* pBox, long nX, long nY,
- sal_Bool bLeft = sal_False, sal_Bool bTop = sal_False,
- long nSize = 6 );
static SAL_DLLPRIVATE void ImplDrawMenubutton( ToolBox *pThis, sal_Bool bHighlight );
static SAL_DLLPRIVATE sal_uInt16 ImplCountLineBreaks( const ToolBox *pThis );
SAL_DLLPRIVATE ImplToolBoxPrivateData* ImplGetToolBoxPrivateData() const { return mpData; }
@@ -401,12 +395,9 @@ public:
sal_uInt16 nPixSize = 0 );
void InsertBreak( sal_uInt16 nPos = TOOLBOX_APPEND );
void RemoveItem( sal_uInt16 nPos );
- void MoveItem( sal_uInt16 nItemId, sal_uInt16 nNewPos = TOOLBOX_APPEND );
void CopyItem( const ToolBox& rToolBox, sal_uInt16 nItemId,
sal_uInt16 nNewPos = TOOLBOX_APPEND );
- void CopyItems( const ToolBox& rToolBox );
void Clear();
- void RecalcItems();
const ImageList& GetImageList() const { return maImageList; }
void SetImageList( const ImageList& rImageList );
@@ -429,7 +420,6 @@ public:
// Used to enable/disable scrolling one page at a time for toolbar
void SetPageScroll( sal_Bool b );
- sal_Bool GetPageScroll();
void SetNextToolBox( const XubString& rStr );
const XubString& GetNextToolBox() const { return maNextToolBoxStr; }
@@ -442,14 +432,12 @@ public:
sal_uInt16 GetItemId( const Point& rPos ) const;
Rectangle GetItemRect( sal_uInt16 nItemId ) const;
Rectangle GetItemPosRect( sal_uInt16 nPos ) const;
- Rectangle GetItemDropDownRect( sal_uInt16 nItemId ) const;
Rectangle GetItemPosDropDownRect( sal_uInt16 nPos ) const;
// retrieves the optimal position to place a popup window for this item (subtoolbar or dropdown)
Point GetItemPopupPosition( sal_uInt16 nItemId, const Size& rSize ) const;
Rectangle GetScrollRect() const;
- Rectangle GetMenubuttonRect() const;
sal_uInt16 GetCurItemId() const { return mnCurItemId; }
sal_uInt16 GetDownItemId() const { return mnDownItemId; }
sal_uInt16 GetClicks() const { return mnMouseClicks; }
@@ -464,11 +452,7 @@ public:
void SetItemImage( sal_uInt16 nItemId, const Image& rImage );
Image GetItemImage( sal_uInt16 nItemId ) const;
void SetItemImageAngle( sal_uInt16 nItemId, long nAngle10 );
- long GetItemImageAngle( sal_uInt16 nItemId ) const;
void SetItemImageMirrorMode( sal_uInt16 nItemId, sal_Bool bMirror );
- sal_Bool GetItemImageMirrorMode( sal_uInt16 ) const;
- void SetItemHighImage( sal_uInt16 nItemId, const Image& rImage );
- Image GetItemHighImage( sal_uInt16 nItemId ) const;
void SetItemText( sal_uInt16 nItemId, const XubString& rText );
const XubString& GetItemText( sal_uInt16 nItemId ) const;
void SetItemWindow( sal_uInt16 nItemId, Window* pNewWindow );
@@ -479,7 +463,6 @@ public:
void EndSelection();
void SetItemDown( sal_uInt16 nItemId, sal_Bool bDown, sal_Bool bRelease = sal_True );
- sal_Bool IsItemDown( sal_uInt16 nItemId ) const;
void SetItemState( sal_uInt16 nItemId, TriState eState );
TriState GetItemState( sal_uInt16 nItemId ) const;
@@ -552,14 +535,8 @@ public:
void EnableCustomize( sal_Bool bEnable = sal_True );
sal_Bool IsCustomize() { return mbCustomize; }
- void StartCustomize( const Rectangle& rRect, void* pData = NULL );
- void SetCustomizeMode( sal_Bool );
sal_Bool IsInCustomizeMode() const { return mbCustomizeMode; }
- static void StartCustomizeMode();
- static void EndCustomizeMode();
- static sal_Bool IsCustomizeMode();
-
void SetHelpText( const XubString& rText )
{ DockingWindow::SetHelpText( rText ); }
const XubString& GetHelpText() const
@@ -600,7 +577,6 @@ public:
PopupMenu* GetMenu() const;
void UpdateCustomMenu();
void SetMenuButtonHdl( const Link& rLink );
- const Link& GetMenuButtonHdl() const;
// open custommenu
void ExecuteCustomMenu();
@@ -625,13 +601,6 @@ public:
// -1 is returned if no character is at that point
// if an index is found the corresponding item id is filled in (else 0)
long GetIndexForPoint( const Point& rPoint, sal_uInt16& rItemID ) const;
- // returns the number of portions in the result of GetDisplayText()
- long GetTextCount() const;
- // returns the interval [start,end] of text portion nText
- // returns [-1,-1] for an invalid text number
- Pair GetTextStartEnd( long nText ) const;
- // returns the item id for text portion nText or 0 if nText is invalid
- sal_uInt16 GetDisplayItemId( long nText ) const;
const Size& GetDefaultImageSize() const;
void ChangeHighlight( sal_uInt16 nPos );
diff --git a/vcl/inc/vcl/wall.hxx b/vcl/inc/vcl/wall.hxx
index 66a2a11038ed..f85d58c1200f 100644
--- a/vcl/inc/vcl/wall.hxx
+++ b/vcl/inc/vcl/wall.hxx
@@ -112,17 +112,14 @@ public:
WallpaperStyle GetStyle() const;
void SetBitmap( const BitmapEx& rBitmap );
- void SetBitmap();
BitmapEx GetBitmap() const;
sal_Bool IsBitmap() const;
void SetGradient( const Gradient& rGradient );
- void SetGradient();
Gradient GetGradient() const;
sal_Bool IsGradient() const;
void SetRect( const Rectangle& rRect );
- void SetRect();
Rectangle GetRect() const;
sal_Bool IsRect() const;
diff --git a/vcl/inc/vcl/window.hxx b/vcl/inc/vcl/window.hxx
index df82b7870854..8cc7bfd0894f 100644
--- a/vcl/inc/vcl/window.hxx
+++ b/vcl/inc/vcl/window.hxx
@@ -914,7 +914,6 @@ public:
void SetFakeFocus( bool bFocus );
sal_Bool IsCompoundControl() const;
- sal_Bool HasCompoundControlFocus() const;
static sal_uIntPtr SaveFocus();
static sal_Bool EndSaveFocus( sal_uIntPtr nSaveId, sal_Bool bRestore = sal_True );
diff --git a/vcl/inc/win/salbmp.h b/vcl/inc/win/salbmp.h
index 5cf92bcf3591..5cf92bcf3591 100755..100644
--- a/vcl/inc/win/salbmp.h
+++ b/vcl/inc/win/salbmp.h
diff --git a/vcl/inc/win/saldata.hxx b/vcl/inc/win/saldata.hxx
index ca0a19f4361a..ba9068628c8c 100644
--- a/vcl/inc/win/saldata.hxx
+++ b/vcl/inc/win/saldata.hxx
@@ -162,8 +162,6 @@ struct SalShlData
UINT mnWheelScrollChars; // WheelScrollChars
UINT mnWheelMsgId; // Wheel-Message-Id fuer W95
BOOL mbWXP; // Windows XP
- BOOL mbWPrinter; // true: use unicode printer functions
- // false: use anis compat printer functions
OSVERSIONINFO maVersionInfo;
};
diff --git a/vcl/inc/win/salframe.h b/vcl/inc/win/salframe.h
index e62d60196a1e..e62d60196a1e 100755..100644
--- a/vcl/inc/win/salframe.h
+++ b/vcl/inc/win/salframe.h
diff --git a/vcl/inc/win/salmenu.h b/vcl/inc/win/salmenu.h
index 99239d7b8191..99239d7b8191 100755..100644
--- a/vcl/inc/win/salmenu.h
+++ b/vcl/inc/win/salmenu.h
diff --git a/vcl/inc/win/salnativewidgets.h b/vcl/inc/win/salnativewidgets.h
index 33ba8de4ba87..33ba8de4ba87 100755..100644
--- a/vcl/inc/win/salnativewidgets.h
+++ b/vcl/inc/win/salnativewidgets.h
diff --git a/vcl/inc/win/salobj.h b/vcl/inc/win/salobj.h
index 068d65a611f2..068d65a611f2 100755..100644
--- a/vcl/inc/win/salobj.h
+++ b/vcl/inc/win/salobj.h
diff --git a/vcl/inc/win/salprn.h b/vcl/inc/win/salprn.h
index 6b399f99f971..80399d5eb3e9 100755..100644
--- a/vcl/inc/win/salprn.h
+++ b/vcl/inc/win/salprn.h
@@ -37,15 +37,12 @@
// WNT3
#define SAL_DRIVERDATA_SYSSIGN ((sal_uIntPtr)0x574E5433)
-#define SAL_DRIVERDATA_VERSION_A 1
-#define SAL_DRIVERDATA_VERSION_W 2
#pragma pack( 1 )
struct SalDriverData
{
sal_uIntPtr mnSysSignature;
- sal_uInt16 mnVersion;
sal_uInt16 mnDriverOffset;
BYTE maDriverData[1];
};
diff --git a/vcl/inc/win/salsys.h b/vcl/inc/win/salsys.h
index 6f133b57d15f..6f133b57d15f 100755..100644
--- a/vcl/inc/win/salsys.h
+++ b/vcl/inc/win/salsys.h
diff --git a/vcl/inc/win/saltimer.h b/vcl/inc/win/saltimer.h
index d408e099eaaf..d408e099eaaf 100755..100644
--- a/vcl/inc/win/saltimer.h
+++ b/vcl/inc/win/saltimer.h
diff --git a/vcl/inc/win/salvd.h b/vcl/inc/win/salvd.h
index 0f213ed5a6f3..0f213ed5a6f3 100755..100644
--- a/vcl/inc/win/salvd.h
+++ b/vcl/inc/win/salvd.h
diff --git a/vcl/inc/win/wincomp.hxx b/vcl/inc/win/wincomp.hxx
index 6e20eb8e16e5..6e20eb8e16e5 100755..100644
--- a/vcl/inc/win/wincomp.hxx
+++ b/vcl/inc/win/wincomp.hxx