summaryrefslogtreecommitdiff
path: root/vcl/inc
diff options
context:
space:
mode:
authorJan-Marek Glogowski <glogow@fbihome.de>2018-09-12 10:26:52 +0200
committerJan-Marek Glogowski <glogow@fbihome.de>2018-10-02 11:24:00 +0200
commit1698debed2993fc5f262aa3ebbdb32fc112ac556 (patch)
tree0848ab3850845d3d6a088ace1b9561c99fcd6fef /vcl/inc
parent3d9809bb6a20c34ef9f5ef0f4a6bc4eab7d8551f (diff)
Implement Windows VCL backend as plugin
Change-Id: If9c7c67f48311ac68ecc9f8e3a07f9bb7c73d962 Reviewed-on: https://gerrit.libreoffice.org/61101 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Diffstat (limited to 'vcl/inc')
-rw-r--r--vcl/inc/fontselect.hxx2
-rw-r--r--vcl/inc/fontsubset.hxx2
-rw-r--r--vcl/inc/helpwin.hxx2
-rw-r--r--vcl/inc/opengl/FixedTextureAtlas.hxx6
-rw-r--r--vcl/inc/opengl/PackedTextureAtlas.hxx6
-rw-r--r--vcl/inc/salinst.hxx2
-rw-r--r--vcl/inc/salprn.hxx3
-rw-r--r--vcl/inc/salsys.hxx2
-rw-r--r--vcl/inc/sft.hxx10
-rw-r--r--vcl/inc/svdata.hxx2
-rw-r--r--vcl/inc/vclpluginapi.h6
11 files changed, 30 insertions, 13 deletions
diff --git a/vcl/inc/fontselect.hxx b/vcl/inc/fontselect.hxx
index 9707ba4e5fa9..51f70997ac53 100644
--- a/vcl/inc/fontselect.hxx
+++ b/vcl/inc/fontselect.hxx
@@ -34,7 +34,7 @@ class LogicalFontInstance;
class PhysicalFontFace;
class Size;
-class FontSelectPattern : public FontAttributes
+class VCL_DLLPUBLIC FontSelectPattern : public FontAttributes
{
public:
FontSelectPattern( const vcl::Font&, const OUString& rSearchName,
diff --git a/vcl/inc/fontsubset.hxx b/vcl/inc/fontsubset.hxx
index 66368b7cbcb9..76551c29d89d 100644
--- a/vcl/inc/fontsubset.hxx
+++ b/vcl/inc/fontsubset.hxx
@@ -44,7 +44,7 @@ namespace o3tl {
template<> struct typed_flags<FontType> : is_typed_flags<FontType, (1<<8)-1> {};
}
-class FontSubsetInfo final
+class VCL_DLLPUBLIC FontSubsetInfo final
{
public:
explicit FontSubsetInfo();
diff --git a/vcl/inc/helpwin.hxx b/vcl/inc/helpwin.hxx
index 09fed59b7138..765dac0508e5 100644
--- a/vcl/inc/helpwin.hxx
+++ b/vcl/inc/helpwin.hxx
@@ -74,7 +74,7 @@ public:
void ImplShowHelpWindow( vcl::Window* pParent, sal_uInt16 nHelpWinStyle, QuickHelpFlags nStyle,
const OUString& rHelpText, const OUString& rStatusText,
const Point& rScreenPos, const tools::Rectangle& rHelpArea );
-void ImplDestroyHelpWindow( bool bUpdateHideTime );
+VCL_DLLPUBLIC void ImplDestroyHelpWindow( bool bUpdateHideTime );
void ImplSetHelpWindowPos( vcl::Window* pHelpWindow, sal_uInt16 nHelpWinStyle, QuickHelpFlags nStyle,
const Point& rPos, const tools::Rectangle& rHelpArea );
diff --git a/vcl/inc/opengl/FixedTextureAtlas.hxx b/vcl/inc/opengl/FixedTextureAtlas.hxx
index c273a5e36c0c..145ddf52f5e1 100644
--- a/vcl/inc/opengl/FixedTextureAtlas.hxx
+++ b/vcl/inc/opengl/FixedTextureAtlas.hxx
@@ -16,7 +16,7 @@
struct FixedTexture;
-class VCL_PLUGIN_PUBLIC FixedTextureAtlasManager
+class FixedTextureAtlasManager final
{
std::vector<std::unique_ptr<FixedTexture>> maFixedTextures;
@@ -26,9 +26,13 @@ class VCL_PLUGIN_PUBLIC FixedTextureAtlasManager
void CreateNewTexture();
+ FixedTextureAtlasManager( const FixedTextureAtlasManager& ) = delete;
+ FixedTextureAtlasManager& operator=( const FixedTextureAtlasManager& ) = delete;
+
public:
FixedTextureAtlasManager(int nWidthFactor, int nHeightFactor, int nTextureSize);
~FixedTextureAtlasManager();
+
OpenGLTexture InsertBuffer(int nWidth, int nHeight, int nFormat, int nType, sal_uInt8 const * pData);
OpenGLTexture Reserve(int nWidth, int nHeight);
diff --git a/vcl/inc/opengl/PackedTextureAtlas.hxx b/vcl/inc/opengl/PackedTextureAtlas.hxx
index 8e6def84c9e4..c7f39d86b4d9 100644
--- a/vcl/inc/opengl/PackedTextureAtlas.hxx
+++ b/vcl/inc/opengl/PackedTextureAtlas.hxx
@@ -26,7 +26,7 @@ struct PackedTexture;
* [2]: https://github.com/lukaszdk/texture-atlas-generator
*
*/
-class VCL_PLUGIN_PUBLIC PackedTextureAtlasManager
+class VCL_DLLPUBLIC PackedTextureAtlasManager final
{
std::vector<std::unique_ptr<PackedTexture>> maPackedTextures;
@@ -35,6 +35,9 @@ class VCL_PLUGIN_PUBLIC PackedTextureAtlasManager
void CreateNewTexture();
+ PackedTextureAtlasManager( const PackedTextureAtlasManager& ) = delete;
+ PackedTextureAtlasManager& operator=( const PackedTextureAtlasManager& ) = delete;
+
public:
/**
@@ -43,6 +46,7 @@ public:
*/
PackedTextureAtlasManager(int nTextureWidth, int nTextureHeight);
~PackedTextureAtlasManager();
+
OpenGLTexture InsertBuffer(int nWidth, int nHeight, int nFormat, int nType, sal_uInt8 const * pData);
OpenGLTexture Reserve(int nWidth, int nHeight);
std::vector<GLuint> ReduceTextureNumber(int nMaxNumberOfTextures);
diff --git a/vcl/inc/salinst.hxx b/vcl/inc/salinst.hxx
index 3ee6aca23567..9f20394fe4e6 100644
--- a/vcl/inc/salinst.hxx
+++ b/vcl/inc/salinst.hxx
@@ -209,7 +209,7 @@ void DestroySalInstance( SalInstance* pInst );
void SalAbort( const OUString& rErrorText, bool bDumpCore );
-VCL_PLUGIN_PUBLIC const OUString& SalGetDesktopEnvironment();
+VCL_DLLPUBLIC const OUString& SalGetDesktopEnvironment();
void InitSalData(); // called from Application-Ctor
void DeInitSalData(); // called from Application-Dtor
diff --git a/vcl/inc/salprn.hxx b/vcl/inc/salprn.hxx
index 014f61179b47..d9669793655d 100644
--- a/vcl/inc/salprn.hxx
+++ b/vcl/inc/salprn.hxx
@@ -86,6 +86,9 @@ public:
class VCL_PLUGIN_PUBLIC SalPrinter
{
+ SalPrinter( const SalPrinter& ) = delete;
+ SalPrinter& operator=( const SalPrinter& ) = delete;
+
public:
SalPrinter() {}
virtual ~SalPrinter();
diff --git a/vcl/inc/salsys.hxx b/vcl/inc/salsys.hxx
index 5e3478e45b2b..fc80e90d0ca9 100644
--- a/vcl/inc/salsys.hxx
+++ b/vcl/inc/salsys.hxx
@@ -83,7 +83,7 @@ public:
};
-SalSystem* ImplGetSalSystem();
+VCL_DLLPUBLIC SalSystem* ImplGetSalSystem();
#endif // INCLUDED_VCL_INC_SALSYS_HXX
diff --git a/vcl/inc/sft.hxx b/vcl/inc/sft.hxx
index 00cf119a4ca4..95fbcadb0d8d 100644
--- a/vcl/inc/sft.hxx
+++ b/vcl/inc/sft.hxx
@@ -344,7 +344,7 @@ namespace vcl
* @ingroup sft
*
*/
- SFErrCodes CreateTTFromTTGlyphs(TrueTypeFont *ttf,
+ VCL_DLLPUBLIC SFErrCodes CreateTTFromTTGlyphs(TrueTypeFont *ttf,
const char *fname,
sal_uInt16 const *glyphArray,
sal_uInt8 const *encoding,
@@ -387,7 +387,7 @@ namespace vcl
* @ingroup sft
*
*/
- std::unique_ptr<sal_uInt16[]> GetTTSimpleGlyphMetrics(TrueTypeFont const *ttf, const sal_uInt16 *glyphArray, int nGlyphs, bool vertical);
+ VCL_DLLPUBLIC std::unique_ptr<sal_uInt16[]> GetTTSimpleGlyphMetrics(TrueTypeFont const *ttf, const sal_uInt16 *glyphArray, int nGlyphs, bool vertical);
#if defined(_WIN32) || defined(MACOSX) || defined(IOS)
/**
@@ -399,7 +399,7 @@ namespace vcl
* @return glyph ID, if the character is missing in the font, the return value is 0.
* @ingroup sft
*/
- sal_uInt16 MapChar(TrueTypeFont const *ttf, sal_uInt16 ch);
+ VCL_DLLPUBLIC sal_uInt16 MapChar(TrueTypeFont const *ttf, sal_uInt16 ch);
#endif
/**
@@ -411,7 +411,7 @@ namespace vcl
* @ingroup sft
*
*/
- void GetTTGlobalFontInfo(TrueTypeFont *ttf, TTGlobalFontInfo *info);
+ VCL_DLLPUBLIC void GetTTGlobalFontInfo(TrueTypeFont *ttf, TTGlobalFontInfo *info);
/**
* Returns fonts metrics.
@@ -430,7 +430,7 @@ namespace vcl
/**
* returns the number of glyphs in a font
*/
- int GetTTGlyphCount( TrueTypeFont const * ttf );
+ VCL_DLLPUBLIC int GetTTGlyphCount( TrueTypeFont const * ttf );
/**
* provide access to the raw data of a SFNT-container's subtable
diff --git a/vcl/inc/svdata.hxx b/vcl/inc/svdata.hxx
index 6df874abc74b..b36ecf7e6a41 100644
--- a/vcl/inc/svdata.hxx
+++ b/vcl/inc/svdata.hxx
@@ -387,7 +387,7 @@ VCL_PLUGIN_PUBLIC OUString VclResId(const char* pId);
DockingManager* ImplGetDockingManager();
BlendFrameCache* ImplGetBlendFrameCache();
-bool ImplCallPreNotify( NotifyEvent& rEvt );
+VCL_DLLPUBLIC bool ImplCallPreNotify( NotifyEvent& rEvt );
VCL_PLUGIN_PUBLIC ImplSVData* ImplGetSVData();
VCL_PLUGIN_PUBLIC void ImplHideSplash();
diff --git a/vcl/inc/vclpluginapi.h b/vcl/inc/vclpluginapi.h
index e8677d239937..88defd3972d6 100644
--- a/vcl/inc/vclpluginapi.h
+++ b/vcl/inc/vclpluginapi.h
@@ -59,6 +59,12 @@
#define VCLPLUG_SVP_PUBLIC SAL_DLLPUBLIC_IMPORT
#endif
+#if defined VCLPLUG_WIN_IMPLEMENTATION
+#define VCLPLUG_WIN_PUBLIC SAL_DLLPUBLIC_EXPORT
+#else
+#define VCLPLUG_WIN_PUBLIC SAL_DLLPUBLIC_IMPORT
+#endif
+
#if defined DESKTOP_DETECTOR_IMPLEMENTATION
#define DESKTOP_DETECTOR_PUBLIC SAL_DLLPUBLIC_EXPORT
#else