diff options
author | Bjoern Michaelsen <bjoern.michaelsen@canonical.com> | 2013-04-18 18:26:28 +0200 |
---|---|---|
committer | Bjoern Michaelsen <bjoern.michaelsen@canonical.com> | 2013-04-23 22:20:31 +0200 |
commit | b9337e22ce1dbf2eba0e8c8db294ae99f4111f91 (patch) | |
tree | 53ee1bd3dfd213815a21579151983cb997922b05 /include/vcl/sysdata.hxx | |
parent | f4e1642a1761d5eab6ccdd89928869c2b2f1528a (diff) |
execute move of global headers
see https://gerrit.libreoffice.org/#/c/3367/
and Change-Id: I00c96fa77d04b33a6f8c8cd3490dfcd9bdc9e84a for details
Change-Id: I199a75bc4042af20817265d5ef85b1134a96ff5a
Diffstat (limited to 'include/vcl/sysdata.hxx')
-rw-r--r-- | include/vcl/sysdata.hxx | 272 |
1 files changed, 272 insertions, 0 deletions
diff --git a/include/vcl/sysdata.hxx b/include/vcl/sysdata.hxx new file mode 100644 index 000000000000..d06e72aee22f --- /dev/null +++ b/include/vcl/sysdata.hxx @@ -0,0 +1,272 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _SV_SYSDATA_HXX +#define _SV_SYSDATA_HXX + +#include <vector> +#include <cstddef> + +#ifdef MACOSX +// predeclare the native classes to avoid header/include problems +typedef struct CGContext *CGContextRef; +typedef struct CGLayer *CGLayerRef; +#ifdef ENABLE_CORETEXT +typedef const struct __CTFont * CTFontRef; +#endif +#ifdef __OBJC__ +@class NSView; +#else +class NSView; +#endif +#endif + +#ifdef IOS +typedef const struct __CTFont * CTFontRef; +typedef struct CGContext *CGContextRef; +#endif + +#if defined( WNT ) +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable:4201) +#endif +#include <windef.h> +#ifdef _MSC_VER +#pragma warning(pop) +#endif +#endif + +// ----------------- +// - SystemEnvData - +// ----------------- + +struct SystemEnvData +{ + unsigned long nSize; // size in bytes of this structure +#if defined( WNT ) + HWND hWnd; // the window hwnd +#elif defined( MACOSX ) + NSView* pView; // the cocoa (NSView *) implementing this object +#elif defined( ANDROID ) + // Nothing +#elif defined( IOS ) + // Nothing +#elif defined( UNX ) + void* pDisplay; // the relevant display connection + long aWindow; // the window of the object + void* pSalFrame; // contains a salframe, if object has one + void* pWidget; // the corresponding widget + void* pVisual; // the visual in use + int nScreen; // the current screen of the window + int nDepth; // depth of said visual + long aColormap; // the colormap being used + void* pAppContext; // the application context in use + long aShellWindow; // the window of the frame's shell + void* pShellWidget; // the frame's shell widget +#endif +}; + +#define SystemChildData SystemEnvData + +// -------------------- +// - SystemParentData - +// -------------------- + +struct SystemParentData +{ + unsigned long nSize; // size in bytes of this structure +#if defined( WNT ) + HWND hWnd; // the window hwnd +#elif defined( MACOSX ) + NSView* pView; // the cocoa (NSView *) implementing this object +#elif defined( ANDROID ) + // Nothing +#elif defined( IOS ) + // Nothing +#elif defined( UNX ) + long aWindow; // the window of the object + bool bXEmbedSupport:1; // decides whether the object in question + // should support the XEmbed protocol +#endif +}; + +// -------------------- +// - SystemMenuData - +// -------------------- + +struct SystemMenuData +{ + unsigned long nSize; // size in bytes of this structure +#if defined( WNT ) + HMENU hMenu; // the menu handle of the menu bar +#elif defined( MACOSX ) + // Nothing +#elif defined( ANDROID ) + // Nothing +#elif defined( IOS ) + // Nothing +#elif defined( UNX ) + long aMenu; // ??? +#endif +}; + +// -------------------- +// - SystemGraphicsData - +// -------------------- + +struct SystemGraphicsData +{ + unsigned long nSize; // size in bytes of this structure +#if defined( WNT ) + HDC hDC; // handle to a device context +#elif defined( MACOSX ) + CGContextRef rCGContext; // CoreGraphics graphic context +#elif defined( ANDROID ) + // Nothing +#elif defined( IOS ) + // Nothing +#elif defined( UNX ) + void* pDisplay; // the relevant display connection + long hDrawable; // a drawable + void* pVisual; // the visual in use + int nScreen; // the current screen of the drawable + int nDepth; // depth of said visual + long aColormap; // the colormap being used + void* pXRenderFormat; // render format for drawable +#endif + SystemGraphicsData() + : nSize( sizeof( SystemGraphicsData ) ) +#if defined( WNT ) + , hDC( 0 ) +#elif defined( MACOSX ) + // Nothing +#elif defined( ANDROID ) + // Nothing +#elif defined( IOS ) + // Nothing +#elif defined( UNX ) + , pDisplay( NULL ) + , hDrawable( 0 ) + , pVisual( NULL ) + , nScreen( 0 ) + , nDepth( 0 ) + , aColormap( 0 ) + , pXRenderFormat( NULL ) +#endif + { } +}; + + +// -------------------- +// - SystemWindowData - +// -------------------- + +struct SystemWindowData +{ + unsigned long nSize; // size in bytes of this structure +#if defined( WNT ) // meaningless on Windows +#elif defined( MACOSX ) // meaningless on Mac OS X + // Nothing +#elif defined( ANDROID ) + // Nothing +#elif defined( IOS ) + // Nothing +#elif defined( UNX ) + void* pVisual; // the visual to be used +#endif +}; + + +// -------------------- +// - SystemGlyphData - +// -------------------- + +struct SystemGlyphData +{ + unsigned long index; + double x; + double y; + int fallbacklevel; +}; + + +// -------------------- +// - SystemFontData - +// -------------------- +struct SystemFontData +{ + unsigned long nSize; // size in bytes of this structure +#if defined( WNT ) + HFONT hFont; // native font object +#elif defined( MACOSX ) +#ifdef ENABLE_CORETEXT + CTFontRef rCTFont; // native font object +#else + void* aATSUFontID; // native font object +#endif +#elif defined( IOS ) + CTFontRef rCTFont; // native font object +#elif defined( UNX ) + void* nFontId; // native font id + int nFontFlags; // native font flags +#endif + bool bFakeBold; // Does this font need faking the bold style + bool bFakeItalic; // Does this font need faking the italic style + bool bAntialias; // Should this font be antialiased + bool bVerticalCharacterType; // Is the font using vertical character type + + SystemFontData() + : nSize( sizeof( SystemFontData ) ) +#if defined( WNT ) + , hFont( 0 ) +#elif defined( MACOSX ) +#ifdef ENABLE_CORETEXT +#else + , aATSUFontID( NULL ) +#endif +#elif defined( IOS ) +#elif defined( UNX ) + , nFontId( NULL ) + , nFontFlags( 0 ) +#endif + , bFakeBold( false ) + , bFakeItalic( false ) + , bAntialias( true ) + , bVerticalCharacterType( false ) + { + } +}; + +// -------------------- +// - SystemTextLayoutData - +// -------------------- + +typedef std::vector<SystemGlyphData> SystemGlyphDataVector; + +struct SystemTextLayoutData +{ + unsigned long nSize; // size in bytes of this structure + SystemGlyphDataVector rGlyphData; // glyph data + int orientation; // Text orientation +}; + +#endif // _SV_SYSDATA_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |