Browse Source

add predefined image clipboard formats because GetClipboardFormatName cannot get a name for predefined. The Unknown_Format_ template is poor for system formats

pull/12246/head
Vitaliy Orazov 3 years ago
parent
commit
e02476f88c
  1. 7
      src/Windows/Avalonia.Win32/ClipboardFormats.cs
  2. 16
      src/Windows/Avalonia.Win32/Interop/UnmanagedMethods.cs

7
src/Windows/Avalonia.Win32/ClipboardFormats.cs

@ -33,6 +33,13 @@ namespace Avalonia.Win32
#pragma warning disable CS0618 // Type or member is obsolete
new ClipboardFormat(DataFormats.FileNames, (ushort)UnmanagedMethods.ClipboardFormat.CF_HDROP),
#pragma warning restore CS0618 // Type or member is obsolete
new ClipboardFormat("Bitmap", (ushort)UnmanagedMethods.ClipboardFormat.CF_BITMAP),
new ClipboardFormat("MetafilePict", (ushort)UnmanagedMethods.ClipboardFormat.CF_METAFILEPICT),
new ClipboardFormat("Dib", (ushort)UnmanagedMethods.ClipboardFormat.CF_DIB),
new ClipboardFormat("EnhancedMetafile", (ushort)UnmanagedMethods.ClipboardFormat.CF_ENHMETAFILE),
new ClipboardFormat("Palette", (ushort)UnmanagedMethods.ClipboardFormat.CF_PALETTE),
new ClipboardFormat("PenData", (ushort)UnmanagedMethods.ClipboardFormat.CF_PENDATA),
};

16
src/Windows/Avalonia.Win32/Interop/UnmanagedMethods.cs

@ -2135,14 +2135,30 @@ namespace Avalonia.Win32.Interop
/// </summary>
CF_BITMAP = 2,
/// <summary>
/// Handle to a metafile picture format as defined by the METAFILEPICT structure. When passing a CF_METAFILEPICT handle by means of DDE, the application responsible for deleting hMem should also free the metafile referred to by the CF_METAFILEPICT handle.
/// </summary>
CF_METAFILEPICT = 3,
/// <summary>
/// A memory object containing a BITMAPINFO structure followed by the bitmap bits.
/// </summary>
CF_DIB = 8,
/// <summary>
/// Handle to a color palette.
/// </summary>
CF_PALETTE = 9,
/// <summary>
/// Data for the pen extensions to the Microsoft Windows for Pen Computing.
/// </summary>
CF_PENDATA = 10,
/// <summary>
/// Unicode text format. Each line ends with a carriage return/linefeed (CR-LF) combination. A null character signals the end of the data.
/// </summary>
CF_UNICODETEXT = 13,
/// <summary>
/// A handle to an enhanced metafile (HENHMETAFILE).
/// </summary>
CF_ENHMETAFILE = 14,
/// <summary>
/// A handle to type HDROP that identifies a list of files.
/// </summary>
CF_HDROP = 15,

Loading…
Cancel
Save