public void Preview(Dock_e dock, double size, double offsetX, double offsetY) { m_Dock = dock; m_Size = size; m_OffsetX = offsetX; m_OffsetY = offsetY; ((ISwDrawing)m_Drw).Model.GraphicsRedraw2(); }
public void CalculateLocation(IXDrawing drawing, Dock_e dock, double size, double offsetX, double offsetY, out Point centerPt, out double scale) { var sheet = (drawing.Sheets.Active as ISwSheet).Sheet; double sheetWidth = -1; double sheetHeight = -1; sheet.GetSize(ref sheetWidth, ref sheetHeight); var sheetPrps = (double[])sheet.GetProperties2(); scale = sheetPrps[2] / sheetPrps[3]; double x; double y; double offsetXDir; double offsetYDir; switch (dock) { case Dock_e.BottomLeft: x = size / 2; y = size / 2; offsetXDir = 1; offsetYDir = 1; break; case Dock_e.TopLeft: x = size / 2; y = sheetHeight - size / 2; offsetXDir = 1; offsetYDir = -1; break; case Dock_e.TopRight: x = sheetWidth - size / 2; y = sheetHeight - size / 2; offsetXDir = -1; offsetYDir = -1; break; case Dock_e.BottomRight: x = sheetWidth - size / 2; y = size / 2; offsetXDir = -1; offsetYDir = 1; break; default: throw new NotSupportedException(); } centerPt = new Point(x + offsetX * offsetXDir, y + offsetY * offsetYDir, 0); }