[Libreoffice-commits] .: 2 commits - sot/source sot/util svl/source svl/util svtools/source svtools/util toolkit/source toolkit/util unotools/source unotools/util vcl/inc vcl/source vcl/unx vcl/vcl.macosx.component vcl/vcl.unx.component vcl/vcl.windows.component

Michael Meeks michael at kemper.freedesktop.org
Fri Jun 24 07:10:51 PDT 2011


 sot/source/unoolestorage/register.cxx                                |    4 
 sot/util/sot.component                                               |    2 
 svl/source/fsstor/fsfactory.cxx                                      |    4 
 svl/source/fsstor/fsstorage.component                                |    2 
 svl/source/passwordcontainer/passwordcontainer.component             |    2 
 svl/source/passwordcontainer/passwordcontainer.cxx                   |    4 
 svl/source/uno/registerservices.cxx                                  |    4 
 svl/util/svl.component                                               |    2 
 svtools/source/hatchwindow/hatchwindowfactory.component              |    2 
 svtools/source/hatchwindow/hatchwindowfactory.cxx                    |    4 
 svtools/source/productregistration/productregistration.cxx           |    4 
 svtools/source/productregistration/productregistration.uno.component |    2 
 svtools/source/uno/miscservices.cxx                                  |    4 
 svtools/util/svt.component                                           |    2 
 toolkit/source/helper/registerservices.cxx                           |    4 
 toolkit/util/tk.component                                            |    2 
 unotools/source/ucbhelper/xtempfile.cxx                              |    4 
 unotools/util/utl.component                                          |    2 
 vcl/inc/unx/gtk/gtkgdi.hxx                                           |    3 
 vcl/inc/unx/headless/svpbmp.hxx                                      |   72 +++
 vcl/inc/unx/headless/svpdummies.hxx                                  |  100 ++++
 vcl/inc/unx/headless/svpelement.hxx                                  |   49 ++
 vcl/inc/unx/headless/svpframe.hxx                                    |  132 ++++++
 vcl/inc/unx/headless/svpgdi.hxx                                      |  174 ++++++++
 vcl/inc/unx/headless/svpinst.hxx                                     |  204 ++++++++++
 vcl/inc/unx/headless/svpprn.hxx                                      |   57 ++
 vcl/inc/unx/headless/svppspgraphics.hxx                              |  189 +++++++++
 vcl/inc/unx/headless/svpvd.hxx                                       |   62 +++
 vcl/source/components/factory.cxx                                    |    4 
 vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx                        |    4 
 vcl/unx/headless/svpbmp.cxx                                          |    2 
 vcl/unx/headless/svpbmp.hxx                                          |   72 ---
 vcl/unx/headless/svpdummies.cxx                                      |    4 
 vcl/unx/headless/svpdummies.hxx                                      |  100 ----
 vcl/unx/headless/svpelement.cxx                                      |    8 
 vcl/unx/headless/svpelement.hxx                                      |   49 --
 vcl/unx/headless/svpframe.cxx                                        |    6 
 vcl/unx/headless/svpframe.hxx                                        |  132 ------
 vcl/unx/headless/svpgdi.cxx                                          |    6 
 vcl/unx/headless/svpgdi.hxx                                          |  174 --------
 vcl/unx/headless/svpinst.cxx                                         |   10 
 vcl/unx/headless/svpinst.hxx                                         |  204 ----------
 vcl/unx/headless/svpprn.cxx                                          |    6 
 vcl/unx/headless/svpprn.hxx                                          |   57 --
 vcl/unx/headless/svppspgraphics.cxx                                  |    4 
 vcl/unx/headless/svppspgraphics.hxx                                  |  189 ---------
 vcl/unx/headless/svptext.cxx                                         |    6 
 vcl/unx/headless/svpvd.cxx                                           |    4 
 vcl/unx/headless/svpvd.hxx                                           |   62 ---
 vcl/vcl.macosx.component                                             |    2 
 vcl/vcl.unx.component                                                |    2 
 vcl/vcl.windows.component                                            |    2 
 52 files changed, 1104 insertions(+), 1101 deletions(-)

New commits:
commit 16596ab1bacbe5c49bc81cb82b9450577e756c96
Author: Matus Kukan <matus.kukan at gmail.com>
Date:   Fri Jun 24 14:56:31 2011 +0100

    update component factory methods to use new prefixes, to add lib merging

diff --git a/sot/source/unoolestorage/register.cxx b/sot/source/unoolestorage/register.cxx
index 2adbd05..a497074 100644
--- a/sot/source/unoolestorage/register.cxx
+++ b/sot/source/unoolestorage/register.cxx
@@ -41,12 +41,12 @@ using namespace ::com::sun::star;
 
 extern "C" {
 
-SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment( const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
+SAL_DLLPUBLIC_EXPORT void SAL_CALL sot_component_getImplementationEnvironment( const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
 {
     *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
 }
 
-SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
+SAL_DLLPUBLIC_EXPORT void * SAL_CALL sot_component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
 {
     void * pRet = 0;
     
diff --git a/sot/util/sot.component b/sot/util/sot.component
index 7d17c7d..44ca8ce 100644
--- a/sot/util/sot.component
+++ b/sot/util/sot.component
@@ -26,7 +26,7 @@
 *
 **********************************************************************-->
 
-<component loader="com.sun.star.loader.SharedLibrary"
+<component loader="com.sun.star.loader.SharedLibrary" prefix="sot"
     xmlns="http://openoffice.org/2010/uno-components">
   <implementation name="com.sun.star.comp.embed.OLESimpleStorage">
     <service name="com.sun.star.embed.OLESimpleStorage"/>
diff --git a/svl/source/fsstor/fsfactory.cxx b/svl/source/fsstor/fsfactory.cxx
index 1e941f2..ca1a330 100644
--- a/svl/source/fsstor/fsfactory.cxx
+++ b/svl/source/fsstor/fsfactory.cxx
@@ -235,13 +235,13 @@ uno::Sequence< ::rtl::OUString > SAL_CALL FSStorageFactory::getSupportedServiceN
 
 extern "C"
 {
-SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment (
+SAL_DLLPUBLIC_EXPORT void SAL_CALL fsstorage_component_getImplementationEnvironment (
     const sal_Char ** ppEnvTypeName, uno_Environment ** /* ppEnv */)
 {
     *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
 }
 
-SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory (
+SAL_DLLPUBLIC_EXPORT void * SAL_CALL fsstorage_component_getFactory (
     const sal_Char * pImplementationName, void * pServiceManager, void * /* pRegistryKey */)
 {
     void * pResult = 0;
diff --git a/svl/source/fsstor/fsstorage.component b/svl/source/fsstor/fsstorage.component
index 3ef0be8..f9f0848 100644
--- a/svl/source/fsstor/fsstorage.component
+++ b/svl/source/fsstor/fsstorage.component
@@ -26,7 +26,7 @@
 *
 **********************************************************************-->
 
-<component loader="com.sun.star.loader.SharedLibrary"
+<component loader="com.sun.star.loader.SharedLibrary" prefix="fsstorage"
     xmlns="http://openoffice.org/2010/uno-components">
   <implementation name="com.sun.star.comp.embed.FileSystemStorageFactory">
     <service name="com.sun.star.comp.embed.FileSystemStorageFactory"/>
diff --git a/svl/source/passwordcontainer/passwordcontainer.component b/svl/source/passwordcontainer/passwordcontainer.component
index 42eb47c..3fc55af 100644
--- a/svl/source/passwordcontainer/passwordcontainer.component
+++ b/svl/source/passwordcontainer/passwordcontainer.component
@@ -26,7 +26,7 @@
 *
 **********************************************************************-->
 
-<component loader="com.sun.star.loader.SharedLibrary"
+<component loader="com.sun.star.loader.SharedLibrary" prefix="passwordcontainer"
     xmlns="http://openoffice.org/2010/uno-components">
   <implementation name="stardiv.svl.PasswordContainer">
     <service name="com.sun.star.task.PasswordContainer"/>
diff --git a/svl/source/passwordcontainer/passwordcontainer.cxx b/svl/source/passwordcontainer/passwordcontainer.cxx
index ec46521..a85c4bf 100644
--- a/svl/source/passwordcontainer/passwordcontainer.cxx
+++ b/svl/source/passwordcontainer/passwordcontainer.cxx
@@ -1538,13 +1538,13 @@ MasterPasswordRequest_Impl::MasterPasswordRequest_Impl( PasswordRequestMode Mode
 
 extern "C"
 {
-SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment (
+SAL_DLLPUBLIC_EXPORT void SAL_CALL passwordcontainer_component_getImplementationEnvironment (
     const sal_Char ** ppEnvTypeName, uno_Environment ** /* ppEnv */)
 {
     *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
 }
 
-SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory (
+SAL_DLLPUBLIC_EXPORT void * SAL_CALL passwordcontainer_component_getFactory (
     const sal_Char * pImplementationName, void * pServiceManager, void * /* pRegistryKey */)
 {
     void * pResult = 0;
diff --git a/svl/source/uno/registerservices.cxx b/svl/source/uno/registerservices.cxx
index f51bb1c..71ae942 100644
--- a/svl/source/uno/registerservices.cxx
+++ b/svl/source/uno/registerservices.cxx
@@ -55,13 +55,13 @@ DECLARE_CREATEINSTANCE( PathService )
 extern "C"
 {
 
-SVL_DLLPUBLIC void SAL_CALL component_getImplementationEnvironment (
+SVL_DLLPUBLIC void SAL_CALL svl_component_getImplementationEnvironment (
     const sal_Char ** ppEnvTypeName, uno_Environment ** /* ppEnv */)
 {
     *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
 }
 
-SVL_DLLPUBLIC void* SAL_CALL component_getFactory (
+SVL_DLLPUBLIC void* SAL_CALL svl_component_getFactory (
     const sal_Char * pImplementationName, void * _pServiceManager, void * /* _pRegistryKey*/)
 {
     void * pResult = 0;
diff --git a/svl/util/svl.component b/svl/util/svl.component
index 4af1a31..78fc229 100644
--- a/svl/util/svl.component
+++ b/svl/util/svl.component
@@ -26,7 +26,7 @@
 *
 **********************************************************************-->
 
-<component loader="com.sun.star.loader.SharedLibrary"
+<component loader="com.sun.star.loader.SharedLibrary" prefix="svl"
     xmlns="http://openoffice.org/2010/uno-components">
   <implementation name="com.sun.star.comp.svl.PathService">
     <service name="com.sun.star.config.SpecialConfigManager"/>
diff --git a/svtools/source/hatchwindow/hatchwindowfactory.component b/svtools/source/hatchwindow/hatchwindowfactory.component
index 153fc87..b9ebbae 100644
--- a/svtools/source/hatchwindow/hatchwindowfactory.component
+++ b/svtools/source/hatchwindow/hatchwindowfactory.component
@@ -26,7 +26,7 @@
 *
 **********************************************************************-->
 
-<component loader="com.sun.star.loader.SharedLibrary"
+<component loader="com.sun.star.loader.SharedLibrary" prefix="hatchwindowfactory"
     xmlns="http://openoffice.org/2010/uno-components">
   <implementation name="com.sun.star.comp.embed.DocumentCloser">
     <service name="com.sun.star.embed.DocumentCloser"/>
diff --git a/svtools/source/hatchwindow/hatchwindowfactory.cxx b/svtools/source/hatchwindow/hatchwindowfactory.cxx
index d08bb8d..6b1266c 100644
--- a/svtools/source/hatchwindow/hatchwindowfactory.cxx
+++ b/svtools/source/hatchwindow/hatchwindowfactory.cxx
@@ -109,13 +109,13 @@ uno::Sequence< ::rtl::OUString > SAL_CALL OHatchWindowFactory::getSupportedServi
 extern "C"
 {
 
-SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment (
+SAL_DLLPUBLIC_EXPORT void SAL_CALL hatchwindowfactory_component_getImplementationEnvironment (
     const sal_Char ** ppEnvTypeName, uno_Environment ** /* ppEnv */)
 {
     *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
 }
 
-SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory (
+SAL_DLLPUBLIC_EXPORT void * SAL_CALL hatchwindowfactory_component_getFactory (
     const sal_Char * pImplementationName, void * pServiceManager, void * /* pRegistryKey */)
 {
     void * pResult = 0;
diff --git a/svtools/source/productregistration/productregistration.cxx b/svtools/source/productregistration/productregistration.cxx
index c820099..e7136ab 100644
--- a/svtools/source/productregistration/productregistration.cxx
+++ b/svtools/source/productregistration/productregistration.cxx
@@ -453,13 +453,13 @@ namespace svt
 
 extern "C"
 {
-SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment (
+SAL_DLLPUBLIC_EXPORT void SAL_CALL productregistration_component_getImplementationEnvironment (
     const sal_Char ** ppEnvTypeName, uno_Environment ** /* ppEnv */)
 {
     *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
 }
 
-SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory (
+SAL_DLLPUBLIC_EXPORT void * SAL_CALL productregistration_component_getFactory (
     const sal_Char * pImplementationName, void * pServiceManager, void * /* pRegistryKey */)
 {
     void * pResult = 0;
diff --git a/svtools/source/productregistration/productregistration.uno.component b/svtools/source/productregistration/productregistration.uno.component
index da2cfd3..f57860e 100644
--- a/svtools/source/productregistration/productregistration.uno.component
+++ b/svtools/source/productregistration/productregistration.uno.component
@@ -26,7 +26,7 @@
 *
 **********************************************************************-->
 
-<component loader="com.sun.star.loader.SharedLibrary"
+<component loader="com.sun.star.loader.SharedLibrary" prefix="productregistration"
     xmlns="http://openoffice.org/2010/uno-components">
   <implementation name="com.sun.star.comp.setup.ProductRegistration">
     <service name="com.sun.star.setup.ProductRegistration"/>
diff --git a/svtools/source/uno/miscservices.cxx b/svtools/source/uno/miscservices.cxx
index eea6237..a218308 100644
--- a/svtools/source/uno/miscservices.cxx
+++ b/svtools/source/uno/miscservices.cxx
@@ -96,13 +96,13 @@ DECLARE_CREATEINSTANCE_NAMESPACE( unographic, GraphicRendererVCL )
 extern "C"
 {
 
-SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment (
+SAL_DLLPUBLIC_EXPORT void SAL_CALL svt_component_getImplementationEnvironment (
     const sal_Char ** ppEnvTypeName, uno_Environment ** /* ppEnv */)
 {
     *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
 }
 
-SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory (
+SAL_DLLPUBLIC_EXPORT void * SAL_CALL svt_component_getFactory (
     const sal_Char * pImplementationName, void * _pServiceManager, void * pRegistryKey)
 {
     void * pResult = 0;
diff --git a/svtools/util/svt.component b/svtools/util/svt.component
index e159705..2ba695d 100644
--- a/svtools/util/svt.component
+++ b/svtools/util/svt.component
@@ -26,7 +26,7 @@
 *
 **********************************************************************-->
 
-<component loader="com.sun.star.loader.SharedLibrary"
+<component loader="com.sun.star.loader.SharedLibrary" prefix="svt"
     xmlns="http://openoffice.org/2010/uno-components">
   <implementation name="com.sun.star.comp.graphic.GraphicProvider">
     <service name="com.sun.star.graphic.GraphicProvider"/>
diff --git a/toolkit/source/helper/registerservices.cxx b/toolkit/source/helper/registerservices.cxx
index 75b6e8b..7076c28 100644
--- a/toolkit/source/helper/registerservices.cxx
+++ b/toolkit/source/helper/registerservices.cxx
@@ -236,12 +236,12 @@ extern void * SAL_CALL comp_Layout_component_getFactory( const char * implName,
 extern "C"
 {
 
-TOOLKIT_DLLPUBLIC void SAL_CALL component_getImplementationEnvironment( const sal_Char** ppEnvTypeName, uno_Environment** )
+TOOLKIT_DLLPUBLIC void SAL_CALL tk_component_getImplementationEnvironment( const sal_Char** ppEnvTypeName, uno_Environment** )
 {
     *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
 }
 
-TOOLKIT_DLLPUBLIC void* SAL_CALL component_getFactory( const sal_Char* sImplementationName, void* _pServiceManager, void* _pRegistryKey )
+TOOLKIT_DLLPUBLIC void* SAL_CALL tk_component_getFactory( const sal_Char* sImplementationName, void* _pServiceManager, void* _pRegistryKey )
 {
     void* pRet = NULL;
 
diff --git a/toolkit/util/tk.component b/toolkit/util/tk.component
index 4d4713e..f663879 100644
--- a/toolkit/util/tk.component
+++ b/toolkit/util/tk.component
@@ -26,7 +26,7 @@
 *
 **********************************************************************-->
 
-<component loader="com.sun.star.loader.SharedLibrary"
+<component loader="com.sun.star.loader.SharedLibrary" prefix="tk"
     xmlns="http://openoffice.org/2010/uno-components">
   <implementation name="com.sun.star.awt.comp.AsyncCallback">
     <service name="com.sun.star.awt.AsyncCallback"/>
diff --git a/unotools/source/ucbhelper/xtempfile.cxx b/unotools/source/ucbhelper/xtempfile.cxx
index 18dffdd..ed0b67b 100644
--- a/unotools/source/ucbhelper/xtempfile.cxx
+++ b/unotools/source/ucbhelper/xtempfile.cxx
@@ -486,7 +486,7 @@ throw ( ::css::uno::RuntimeException )
 
 // C functions to implement this as a component
 
-extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
+extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL utl_component_getImplementationEnvironment(
                 const sal_Char ** ppEnvTypeName, uno_Environment ** /*ppEnv*/ )
 {
     *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
@@ -499,7 +499,7 @@ extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnviron
  * @param pRegistryKey registry data key to read and write component persistent data
  * @return a component factory (generic uno interface)
  */
-extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory(
+extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL utl_component_getFactory(
     const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
 {
     void * pRet = 0;
diff --git a/unotools/util/utl.component b/unotools/util/utl.component
index 8c81987..ab4b67b 100644
--- a/unotools/util/utl.component
+++ b/unotools/util/utl.component
@@ -26,7 +26,7 @@
 *
 **********************************************************************-->
 
-<component loader="com.sun.star.loader.SharedLibrary"
+<component loader="com.sun.star.loader.SharedLibrary" prefix="utl"
     xmlns="http://openoffice.org/2010/uno-components">
   <implementation name="com.sun.star.io.comp.TempFile">
     <service name="com.sun.star.io.TempFile"/>
diff --git a/vcl/source/components/factory.cxx b/vcl/source/components/factory.cxx
index 28fea08..cba39b2 100644
--- a/vcl/source/components/factory.cxx
+++ b/vcl/source/components/factory.cxx
@@ -83,14 +83,14 @@ namespace rsvg
 
 extern "C" {
 
-    VCL_DLLPUBLIC void SAL_CALL component_getImplementationEnvironment(
+    VCL_DLLPUBLIC void SAL_CALL vcl_component_getImplementationEnvironment(
         const sal_Char** ppEnvTypeName,
         uno_Environment** /*ppEnv*/ )
     {
         *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
     }
 
-    VCL_DLLPUBLIC void* SAL_CALL component_getFactory(
+    VCL_DLLPUBLIC void* SAL_CALL vcl_component_getFactory(
         const sal_Char* pImplementationName,
         void* pXUnoSMgr,
         void* /*pXUnoKey*/
diff --git a/vcl/vcl.macosx.component b/vcl/vcl.macosx.component
index 023f805..a4f551c 100644
--- a/vcl/vcl.macosx.component
+++ b/vcl/vcl.macosx.component
@@ -26,7 +26,7 @@
 *
 **********************************************************************-->
 
-<component loader="com.sun.star.loader.SharedLibrary"
+<component loader="com.sun.star.loader.SharedLibrary" prefix="vcl"
     xmlns="http://openoffice.org/2010/uno-components">
   <implementation name="com.sun.star.comp.datatransfer.dnd.OleDragSource_V1">
     <service name="com.sun.star.datatransfer.dnd.OleDragSource"/>
diff --git a/vcl/vcl.unx.component b/vcl/vcl.unx.component
index ea14667..c58bb8f 100644
--- a/vcl/vcl.unx.component
+++ b/vcl/vcl.unx.component
@@ -26,7 +26,7 @@
 *
 **********************************************************************-->
 
-<component loader="com.sun.star.loader.SharedLibrary"
+<component loader="com.sun.star.loader.SharedLibrary" prefix="vcl"
     xmlns="http://openoffice.org/2010/uno-components">
   <implementation name="com.sun.star.datatransfer.X11ClipboardSupport">
     <service name="com.sun.star.datatransfer.clipboard.SystemClipboard"/>
diff --git a/vcl/vcl.windows.component b/vcl/vcl.windows.component
index df786c4..5dd80eb 100644
--- a/vcl/vcl.windows.component
+++ b/vcl/vcl.windows.component
@@ -26,7 +26,7 @@
 *
 **********************************************************************-->
 
-<component loader="com.sun.star.loader.SharedLibrary"
+<component loader="com.sun.star.loader.SharedLibrary" prefix="vcl"
     xmlns="http://openoffice.org/2010/uno-components">
   <implementation name="com.sun.star.frame.VCLSessionManagerClient">
     <service name="com.sun.star.frame.SessionManagerClient"/>
commit d88f437c8abfbf0431af8c66ba2be5476ec3fc51
Author: Michael Meeks <michael.meeks at novell.com>
Date:   Thu Jun 16 11:46:48 2011 +0100

    make svp / headless backend's headers more public

diff --git a/vcl/inc/unx/gtk/gtkgdi.hxx b/vcl/inc/unx/gtk/gtkgdi.hxx
index 98c3f10..cd6bc6c 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 0000000..e96f13e
--- /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 0000000..3474eaa
--- /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 0000000..c7f647c
--- /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 0000000..aa80bac
--- /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 0000000..90f83ca
--- /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 0000000..b2cc215
--- /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 0000000..72e3e3c
--- /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 0000000..52040b6
--- /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 0000000..ae2c281
--- /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/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
index 07dc4e5..d6a181a 100644
--- a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
+++ b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
@@ -25,4 +25,6 @@
  * instead of those above.
  */
 
-#include "../../gtk/gdi/salnativewidgets-gtk.cxx"
+#include "../../headless/svpdi.hxx"
+#include "../../headless/svpdi.hxx"
+
diff --git a/vcl/unx/headless/svpbmp.cxx b/vcl/unx/headless/svpbmp.cxx
index 60aa6e0..cc3f6ac 100644
--- a/vcl/unx/headless/svpbmp.cxx
+++ b/vcl/unx/headless/svpbmp.cxx
@@ -26,7 +26,7 @@
  *
  ************************************************************************/
 
-#include "svpbmp.hxx"
+#include "unx/headless/svpbmp.hxx"
 
 #include <basegfx/vector/b2ivector.hxx>
 #include <basegfx/range/b2irange.hxx>
diff --git a/vcl/unx/headless/svpbmp.hxx b/vcl/unx/headless/svpbmp.hxx
deleted file mode 100644
index 018c202..0000000
--- a/vcl/unx/headless/svpbmp.hxx
+++ /dev/null
@@ -1,72 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef 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/unx/headless/svpdummies.cxx b/vcl/unx/headless/svpdummies.cxx
index 05d9bb6..b91ffc3 100644
--- a/vcl/unx/headless/svpdummies.cxx
+++ b/vcl/unx/headless/svpdummies.cxx
@@ -26,8 +26,8 @@
  *
  ************************************************************************/
 
-#include "svpdummies.hxx"
-#include "svpinst.hxx"
+#include "unx/headless/svpdummies.hxx"
+#include "unx/headless/svpinst.hxx"
 #include <rtl/ustrbuf.hxx>
 
 // SalObject
diff --git a/vcl/unx/headless/svpdummies.hxx b/vcl/unx/headless/svpdummies.hxx
deleted file mode 100644
index e1a19ef..0000000
--- a/vcl/unx/headless/svpdummies.hxx
+++ /dev/null
@@ -1,100 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _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/unx/headless/svpelement.cxx b/vcl/unx/headless/svpelement.cxx
index f6f895a..1100578 100644
--- a/vcl/unx/headless/svpelement.cxx
+++ b/vcl/unx/headless/svpelement.cxx
@@ -26,7 +26,7 @@
  *
  ************************************************************************/
 
-#include "svpelement.hxx"
+#include "unx/headless/svpelement.hxx"
 
 #include <basebmp/scanlineformats.hxx>
 #include <tools/debug.hxx>
@@ -39,9 +39,9 @@
 #include <vcl/bitmap.hxx>
 #include <tools/stream.hxx>
 
-#include "svpvd.hxx"
-#include "svpbmp.hxx"
-#include "svpframe.hxx"
+#include "unx/headless/svpvd.hxx"
+#include "unx/headless/svpbmp.hxx"
+#include "unx/headless/svpframe.hxx"
 
 #include <list>
 #include <boost/unordered_map.hpp>
diff --git a/vcl/unx/headless/svpelement.hxx b/vcl/unx/headless/svpelement.hxx
deleted file mode 100644
index 24302d5..0000000
--- a/vcl/unx/headless/svpelement.hxx
+++ /dev/null
@@ -1,49 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _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/unx/headless/svpframe.cxx b/vcl/unx/headless/svpframe.cxx
index 029fc8c..7f2d097 100644
--- a/vcl/unx/headless/svpframe.cxx
+++ b/vcl/unx/headless/svpframe.cxx
@@ -26,9 +26,9 @@
  *
  ************************************************************************/
 
-#include "svpframe.hxx"
-#include "svpinst.hxx"
-#include "svpgdi.hxx"
+#include "unx/headless/svpframe.hxx"
+#include "unx/headless/svpinst.hxx"
+#include "unx/headless/svpgdi.hxx"
 
 #include <basebmp/scanlineformats.hxx>
 #include <basegfx/vector/b2ivector.hxx>
diff --git a/vcl/unx/headless/svpframe.hxx b/vcl/unx/headless/svpframe.hxx
deleted file mode 100644
index 8236a6a..0000000
--- a/vcl/unx/headless/svpframe.hxx
+++ /dev/null
@@ -1,132 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
- 
-#ifndef _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/unx/headless/svpgdi.cxx b/vcl/unx/headless/svpgdi.cxx
index 1341b8e..71e48cc 100644
--- a/vcl/unx/headless/svpgdi.cxx
+++ b/vcl/unx/headless/svpgdi.cxx
@@ -26,8 +26,8 @@
  *
  ************************************************************************/
 
-#include "svpgdi.hxx"
-#include "svpbmp.hxx"
+#include "unx/headless/svpgdi.hxx"
+#include "unx/headless/svpbmp.hxx"
 
 #include <vcl/sysdata.hxx>
 #include <basegfx/range/b2drange.hxx>
@@ -46,7 +46,7 @@
 #include <sys/stat.h>
 #endif
 
-#include <svppspgraphics.hxx>
+#include "unx/headless/svppspgraphics.hxx"
 #include <region.h>
 
 using namespace basegfx;
diff --git a/vcl/unx/headless/svpgdi.hxx b/vcl/unx/headless/svpgdi.hxx
deleted file mode 100644
index 640eb43..0000000
--- a/vcl/unx/headless/svpgdi.hxx
+++ /dev/null
@@ -1,174 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _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/unx/headless/svpinst.cxx b/vcl/unx/headless/svpinst.cxx
index 8b21584..3adb5ce 100644
--- a/vcl/unx/headless/svpinst.cxx
+++ b/vcl/unx/headless/svpinst.cxx
@@ -35,11 +35,11 @@
 
 #include <vcl/apptypes.hxx>
 
-#include "svpinst.hxx"
-#include "svpframe.hxx"
-#include "svpdummies.hxx"
-#include "svpvd.hxx"
-#include "svpbmp.hxx"
+#include "unx/headless/svpinst.hxx"
+#include "unx/headless/svpframe.hxx"
+#include "unx/headless/svpdummies.hxx"
+#include "unx/headless/svpvd.hxx"
+#include "unx/headless/svpbmp.hxx"
 
 #include <salframe.hxx>
 #include <svdata.hxx>
diff --git a/vcl/unx/headless/svpinst.hxx b/vcl/unx/headless/svpinst.hxx
deleted file mode 100644
index c1f3cbe..0000000
--- a/vcl/unx/headless/svpinst.hxx
+++ /dev/null
@@ -1,204 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org.  If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef _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/unx/headless/svpprn.cxx b/vcl/unx/headless/svpprn.cxx
index fd6d2b4..d1c5a0b 100644
--- a/vcl/unx/headless/svpprn.cxx
+++ b/vcl/unx/headless/svpprn.cxx
@@ -41,9 +41,9 @@
 #include "print.h"
 #include "salptype.hxx"
 
-#include "svpprn.hxx"
-#include "svppspgraphics.hxx"
-#include "svpinst.hxx"
+#include "unx/headless/svpprn.hxx"
+#include "unx/headless/svppspgraphics.hxx"
+#include "unx/headless/svpinst.hxx"
 
 using namespace psp;
 
diff --git a/vcl/unx/headless/svpprn.hxx b/vcl/unx/headless/svpprn.hxx
deleted file mode 100644
index e7e67d7..0000000
--- a/vcl/unx/headless/svpprn.hxx
+++ /dev/null
@@ -1,57 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- * 

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list