// Assumes we are locked on the lock_object when it is called private static void Init() { if (initialized) { return; } IntPtr cliphandle = XplatUI.ClipboardOpen(false); new Format(Text, XplatUI.ClipboardGetID(cliphandle, Text)); new Format(Bitmap, XplatUI.ClipboardGetID(cliphandle, Bitmap)); new Format(MetafilePict, XplatUI.ClipboardGetID(cliphandle, MetafilePict)); new Format(SymbolicLink, XplatUI.ClipboardGetID(cliphandle, SymbolicLink)); new Format(Dif, XplatUI.ClipboardGetID(cliphandle, Dif)); new Format(Tiff, XplatUI.ClipboardGetID(cliphandle, Tiff)); new Format(OemText, XplatUI.ClipboardGetID(cliphandle, OemText)); new Format(Dib, XplatUI.ClipboardGetID(cliphandle, Dib)); new Format(Palette, XplatUI.ClipboardGetID(cliphandle, Palette)); new Format(PenData, XplatUI.ClipboardGetID(cliphandle, PenData)); new Format(Riff, XplatUI.ClipboardGetID(cliphandle, Riff)); new Format(WaveAudio, XplatUI.ClipboardGetID(cliphandle, WaveAudio)); new Format(UnicodeText, XplatUI.ClipboardGetID(cliphandle, UnicodeText)); new Format(EnhancedMetafile, XplatUI.ClipboardGetID(cliphandle, EnhancedMetafile)); new Format(FileDrop, XplatUI.ClipboardGetID(cliphandle, FileDrop)); new Format(Locale, XplatUI.ClipboardGetID(cliphandle, Locale)); new Format(CommaSeparatedValue, XplatUI.ClipboardGetID(cliphandle, CommaSeparatedValue)); new Format(Html, XplatUI.ClipboardGetID(cliphandle, Html)); new Format(Rtf, XplatUI.ClipboardGetID(cliphandle, Rtf)); new Format(Serializable, XplatUI.ClipboardGetID(cliphandle, Serializable)); new Format(StringFormat, XplatUI.ClipboardGetID(cliphandle, StringFormat)); XplatUI.ClipboardClose(cliphandle); initialized = true; }
internal static Format Add(string name) { Format f; f = Find(name); if (f == null) { IntPtr cliphandle; cliphandle = XplatUI.ClipboardOpen(false); f = new Format(name, XplatUI.ClipboardGetID(cliphandle, name)); XplatUI.ClipboardClose(cliphandle); } return(f); }