summaryrefslogtreecommitdiffstats
path: root/src/VBox/Devices/Graphics/shaderlib/wine/include/gdiplusmetaheader.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-11 08:17:27 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-11 08:17:27 +0000
commitf215e02bf85f68d3a6106c2a1f4f7f063f819064 (patch)
tree6bb5b92c046312c4e95ac2620b10ddf482d3fa8b /src/VBox/Devices/Graphics/shaderlib/wine/include/gdiplusmetaheader.h
parentInitial commit. (diff)
downloadvirtualbox-f215e02bf85f68d3a6106c2a1f4f7f063f819064.tar.xz
virtualbox-f215e02bf85f68d3a6106c2a1f4f7f063f819064.zip
Adding upstream version 7.0.14-dfsg.upstream/7.0.14-dfsg
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/VBox/Devices/Graphics/shaderlib/wine/include/gdiplusmetaheader.h')
-rw-r--r--src/VBox/Devices/Graphics/shaderlib/wine/include/gdiplusmetaheader.h176
1 files changed, 176 insertions, 0 deletions
diff --git a/src/VBox/Devices/Graphics/shaderlib/wine/include/gdiplusmetaheader.h b/src/VBox/Devices/Graphics/shaderlib/wine/include/gdiplusmetaheader.h
new file mode 100644
index 00000000..805ae838
--- /dev/null
+++ b/src/VBox/Devices/Graphics/shaderlib/wine/include/gdiplusmetaheader.h
@@ -0,0 +1,176 @@
+/*
+ * Copyright (C) 2007 Google (Evan Stade)
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+/*
+ * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
+ * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
+ * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
+ * a choice of LGPL license versions is made available with the language indicating
+ * that LGPLv2 or any later version may be used, or where a choice of which version
+ * of the LGPL is applied is otherwise unspecified.
+ */
+
+#ifndef _GDIPLUSMETAHEADER_H
+#define _GDIPLUSMETAHEADER_H
+
+typedef struct
+{
+ DWORD iType;
+ DWORD nSize;
+ RECTL rclBounds;
+ RECTL rclFrame;
+ DWORD dSignature;
+ DWORD nVersion;
+ DWORD nBytes;
+ DWORD nRecords;
+ WORD nHandles;
+ WORD sReserved;
+ DWORD nDescription;
+ DWORD offDescription;
+ DWORD nPalEntries;
+ SIZEL szlDevice;
+ SIZEL szlMillimeters;
+} ENHMETAHEADER3;
+
+#include <pshpack2.h>
+
+typedef struct
+{
+ INT16 Left;
+ INT16 Top;
+ INT16 Right;
+ INT16 Bottom;
+} PWMFRect16;
+
+typedef struct
+{
+ UINT32 Key;
+ INT16 Hmf;
+ PWMFRect16 BoundingBox;
+ INT16 Inch;
+ UINT32 Reserved;
+ INT16 Checksum;
+} WmfPlaceableFileHeader;
+
+#include <poppack.h>
+
+#define GDIP_EMFPLUSFLAGS_DISPLAY 0x00000001
+
+#ifdef __cplusplus
+class MetafileHeader
+{
+public:
+ MetafileType Type;
+ UINT Size;
+ UINT Version;
+ UINT EmfPlusFlags;
+ REAL DpiX;
+ REAL DpiY;
+ INT X;
+ INT Y;
+ INT Width;
+ INT Height;
+ union
+ {
+ METAHEADER WmfHeader;
+ ENHMETAHEADER3 EmfHeader;
+ };
+ INT EmfPlusHeaderSize;
+ INT LogicalDpiX;
+ INT LogicalDpiY;
+
+public:
+ MetafileType GetType() const { return Type; }
+
+ UINT GetMetafileSize() const { return Size; }
+
+ UINT GetVersion() const { return Version; }
+
+ UINT GetEmfPlusFlags() const { return EmfPlusFlags; }
+
+ REAL GetDpiX() const { return DpiX; }
+
+ REAL GetDpiY() const { return DpiY; }
+
+ VOID GetBounds (OUT Rect *r) const
+ {
+ r->X = X;
+ r->Y = Y;
+ r->Width = Width;
+ r->Height = Height;
+ }
+
+ BOOL IsWmf() const
+ {
+ return ((Type == MetafileTypeWmf) || (Type == MetafileTypeWmfPlaceable));
+ }
+
+ BOOL IsWmfPlaceable() const { return (Type == MetafileTypeWmfPlaceable); }
+
+ BOOL IsEmf() const { return (Type == MetafileTypeEmf); }
+
+ BOOL IsEmfOrEmfPlus() const { return (Type >= MetafileTypeEmf); }
+
+ BOOL IsEmfPlus() const { return (Type >= MetafileTypeEmfPlusOnly); }
+
+ BOOL IsEmfPlusDual() const { return (Type == MetafileTypeEmfPlusDual); }
+
+ BOOL IsEmfPlusOnly() const { return (Type == MetafileTypeEmfPlusOnly); }
+
+ BOOL IsDisplay() const
+ {
+ return IsEmfPlus() && ((EmfPlusFlags & GDIP_EMFPLUSFLAGS_DISPLAY) != 0);
+ }
+
+ const METAHEADER * GetWmfHeader() const
+ {
+ return IsWmf() ? &WmfHeader : NULL;
+ }
+
+ const ENHMETAHEADER3 * GetEmfHeader() const
+ {
+ return IsEmfOrEmfPlus() ? &EmfHeader : NULL;
+ }
+};
+#else /* end of c++ typedefs */
+
+typedef struct MetafileHeader
+{
+ MetafileType Type;
+ UINT Size;
+ UINT Version;
+ UINT EmfPlusFlags;
+ REAL DpiX;
+ REAL DpiY;
+ INT X;
+ INT Y;
+ INT Width;
+ INT Height;
+ union
+ {
+ METAHEADER WmfHeader;
+ ENHMETAHEADER3 EmfHeader;
+ } DUMMYUNIONNAME;
+ INT EmfPlusHeaderSize;
+ INT LogicalDpiX;
+ INT LogicalDpiY;
+} MetafileHeader;
+
+#endif /* end of c typedefs */
+
+#endif /* _GDIPLUSMETAHEADER_H */