public virtual id InitWithFrame(NSRect frameRect)
{
id self = this;
if (base.Init() == null)
return null;
if (frameRect.Size.Width < 0)
{
frameRect.Size = new NSSize(0, frameRect.Size.Height);
}
if (frameRect.Size.Height < 0)
{
frameRect.Size = new NSSize(frameRect.Size.Width, 0);
}
_frame = frameRect; // Set frame rectangle
_bounds.Origin = NSPoint.Zero; // Set bounds rectangle
_bounds.Size = _frame.Size;
// _frameMatrix = [NSAffineTransform new]; // Map fromsuperview to frame
// _boundsMatrix = [NSAffineTransform new]; // Map from superview to bounds
_matrixToWindow = (NSAffineTransform)NSAffineTransform.Alloc().Init(); // Map to window coordinates
_matrixFromWindow = (NSAffineTransform)NSAffineTransform.Alloc().Init(); // Map from window coordinates
_sub_views = (NSMutableArray)NSMutableArray.Alloc().Init();
_tracking_rects = (NSMutableArray)NSMutableArray.Alloc().Init();
_cursor_rects = (NSMutableArray)NSMutableArray.Alloc().Init();
// Some values are already set by initialisation
//_super_view = nil;
//_window = nil;
//_is_rotated_from_base = NO;
//_is_rotated_or_scaled_from_base = NO;
_rFlags.needs_display = 1;
_post_bounds_changes = true;
_post_frame_changes = true;
_autoresizes_subviews = true;
_autoresizingMask = (uint)NSViewAutoresizingMasks.NSViewNotSizable;
//_coordinates_valid = NO;
//_nextKeyView = 0;
//_previousKeyView = 0;
return self;
}