Oops.<div>Please ignore imagekit.patch from the previous post.  The correct file is attached to this post.<div>-regan<br><br><div class="gmail_quote">On Sun, Mar 13, 2011 at 9:44 PM, Regan Sarwas <span dir="ltr">&lt;<a href="mailto:rsarwas@gmail.com">rsarwas@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div>Hello all,</div><div><br></div>1) The monomac build from git is broken (at least for me: OSX 10.6.6, mono 2.10.1.0). Seems some changes to <span style="line-height:26px"><font face="arial, helvetica, sans-serif">maccore/src/CoreMedia/CMSampleBuffer.cs</font></span> requires CoreMedia on monomac, However CoreMedia is not a public framework on OSX.  <b>coremedia.patch</b> (for monomac) fixes this by adding a path in monomac/src/Constants.cs to a private framework, but it may be better to revisit CMSampleBuffer.cs.<div>

<div><br></div><div>2) <b>NSFileManager.patch</b> (for maccore) adds the &#39;Url&#39; methods to the NSFileManager type in maccore/src/foundation.cs and some supporting enums.  These are new in iOS 4, and have been attributed with [Since(4,0)], however if you would prefer to only have them in monomac, I can surround with an #ifdef</div>

<div><b></b></div><div><br></div><div>3) I think I finally understand the Drag/Drop classes for monomac, and have provided <b>dragging.patch</b> (for monomac) with the appropriate changes to appkit.cs.  In essence the messages that are sent to delegates that might respond to &#39;drag events&#39; are sent an object that implements NSDraggingInfo.  NSDraggingInfo is a protocol, but implementing this as a [Model] does not work because this object is not created by clients, and the runtime cannot cast the actual object created by appkit to the C# class.  <a href="http://developer.apple.com/library/mac/#documentation/cocoa/conceptual/DragandDrop/Concepts/dragdestination.html%23//apple_ref/doc/uid/20000977-BAJBJFBG" target="_blank">Drag and Drop Programming Topics for Cocoa</a> mentions that the system creates an undocumented NSDragDestination object which implements NSDraggingInfo.  Since the docs refer to NSDraggingInfo and not NSDragDestination, and since NSDraggingInfo is a more descriptive name, it is used in appkit.cs, and the Name attribute is used to register NSDraggingInfo to NSDragDestination.  I tested this with NSDraggingDestination and NSBrowserDelegate, and all seems well.  It could be improved by privatizing the constructors for NSDraggingInfo.</div>

<div><b></b></div><div><div><br></div></div><div>4) <b>imagekit.patch</b> (for monomac) revises the drag and drop code in the imagekit sample to use the changes in dragging.patch. It should not be applied unless dragging.patch is applied.</div>

<div><br></div><div>5) <b>sample.patch</b> eliminates some warnings and errors from the monomac samples.  It relies on NSFileManager.patch.  pretty minor stuff, but it is nice to have samples that build without warnings/errors.  There is an issue with the macdoc sample, but It may be specific to me.  The sample gives errors when built from the command line (make/mdtools), but builds fine from MonoDevelop.</div>

<div><br></div><div>6) lastly, <b>appkit.patch</b> clarifies a couple of deprecation warnings.</div><div><br></div><div>Enjoy.</div><div><br></div><div>- Regan</div><div><br></div><div><br></div><div>
<b></b></div></div>
</blockquote></div><br></div></div>