private void InitializeContext(CGContext context)
{
this.context = context;
modelMatrix = new Matrix();
viewMatrix = new Matrix();
ResetTransform();
boundingBox = context.GetClipBoundingBox().ToRectangleF ();
// We are going to try this here and it may cause problems down the road.
// This seems to only happen with Mac and not iOS
// What is happening is that sub views are offset by their relative location
// within the window. That means our drawing locations are also offset by this
// value as well. So what we need to do is translate our view by this offset as well.
subviewClipOffset = context.GetClipBoundingBox().ToRectangleF ();
PageUnit = GraphicsUnit.Pixel;
PageScale = 1;
// Set anti-aliasing
SmoothingMode = SmoothingMode.Default;
clipRegion = new Region ();
}