コード例 #1
1
ファイル: Dnd.cs プロジェクト: nlhepler/mono
		internal static DataObject DragToDataObject (IntPtr dragref) {
			UInt32 items = 0;
			ArrayList flavorlist = new ArrayList ();

			CountDragItems (dragref, ref items);
			
			for (uint item_counter = 1; item_counter <= items; item_counter++) {
				IntPtr itemref = IntPtr.Zero;
				UInt32 flavors = 0;
				
				GetDragItemReferenceNumber (dragref, item_counter, ref itemref);
				CountDragItemFlavors (dragref, itemref, ref flavors);
				for (uint flavor_counter = 1; flavor_counter <= flavors; flavor_counter++) {
					FlavorHandler flavor = new FlavorHandler (dragref, itemref, flavor_counter);
					if (flavor.Supported)
						flavorlist.Add (flavor);
				}
			}

			if (flavorlist.Count > 0) {
				return ((FlavorHandler) flavorlist [0]).Convert (flavorlist);
			} 

			return new DataObject ();
		}
コード例 #2
0
ファイル: Dnd.cs プロジェクト: sengiv/WasmWinforms
        internal static DataObject DragToDataObject(IntPtr dragref)
        {
            UInt32    items      = 0;
            ArrayList flavorlist = new ArrayList();

            CountDragItems(dragref, ref items);

            for (uint item_counter = 1; item_counter <= items; item_counter++)
            {
                IntPtr itemref = IntPtr.Zero;
                UInt32 flavors = 0;

                GetDragItemReferenceNumber(dragref, item_counter, ref itemref);
                CountDragItemFlavors(dragref, itemref, ref flavors);
                for (uint flavor_counter = 1; flavor_counter <= flavors; flavor_counter++)
                {
                    FlavorHandler flavor = new FlavorHandler(dragref, itemref, flavor_counter);
                    if (flavor.Supported)
                    {
                        flavorlist.Add(flavor);
                    }
                }
            }

            if (flavorlist.Count > 0)
            {
                return(((FlavorHandler)flavorlist [0]).Convert(flavorlist));
            }

            return(new DataObject());
        }