CGRect AccessibilityFrameForRange(NSRange range) { var realRange = new AtkCocoa.Range { Location = (int)range.Location, Length = (int)range.Length }; var frame = GetFrameForRange(realRange); int parentX, parentY; // Gtk is giving the top left corner of the bounding box, but Cocoa needs the bottom left int realFrameY = frame.Y + frame.Height; GetCoordsInWindow(parent, out parentX, out parentY); int cocoaY; if (!ConvertGtkYCoordToCocoa(parent, parentY + realFrameY, out cocoaY)) { Console.WriteLine("Error converting coordinate"); } int screenX, screenY; GetCoordsInScreen(parent, parentX + frame.X, cocoaY, out screenX, out screenY); return(new CGRect(screenX, screenY, frame.Width, frame.Height)); }
string AccessibilityStringForRange(NSRange range) { var realRange = new AtkCocoa.Range { Location = (int)range.Location, Length = (int)range.Length }; return(GetStringForRange(realRange)); }