Hello,<br><br><div>   I see that you are trying to define a portability layer that will help you run the code unmodified on different scenarios, but I fear that the approach that you have taken will not work for the reasons that you already identified.</div>
<div><br></div><div>   My suggestion would be to reverse the way that you are doing your compatibility stack.   Instead of trying to emulate System.Drawing.Graphics with CGContexts, you should have a MyCompany.Drawing.Context and have that map to either CoreGraphics or System.Drawing depending on your platform.</div>
<div><br></div><div>Miguel.</div><div><br></div>