#region PDFsharp - A .NET library for processing PDF // // Authors: // Stefan Lange // // Copyright (c) 2005-2017 empira Software GmbH, Cologne Area (Germany) // // http://www.pdfsharp.com // http://sourceforge.net/projects/pdfsharp // // Permission is hereby granted, free of charge, to any person obtaining a // copy of this software and associated documentation files (the "Software"), // to deal in the Software without restriction, including without limitation // the rights to use, copy, modify, merge, publish, distribute, sublicense, // and/or sell copies of the Software, and to permit persons to whom the // Software is furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included // in all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. #endregion using System.Diagnostics; using PdfSharp.Drawing; namespace PdfSharp.Pdf { /// /// Represents trim margins added to the page. /// [DebuggerDisplay("(Left={_left.Millimeter}mm, Right={_right.Millimeter}mm, Top={_top.Millimeter}mm, Bottom={_bottom.Millimeter}mm)")] public sealed class TrimMargins { ///// ///// Clones this instance. ///// //public TrimMargins Clone() //{ // TrimMargins trimMargins = new TrimMargins(); // trimMargins.left = left; // trimMargins.top = top; // trimMargins.right = right; // trimMargins.bottom = bottom; // return trimMargins; //} /// /// Sets all four crop margins simultaneously. /// public XUnit All { set { _left = value; _right = value; _top = value; _bottom = value; } } /// /// Gets or sets the left crop margin. /// public XUnit Left { get { return _left; } set { _left = value; } } XUnit _left; /// /// Gets or sets the right crop margin. /// public XUnit Right { get { return _right; } set { _right = value; } } XUnit _right; /// /// Gets or sets the top crop margin. /// public XUnit Top { get { return _top; } set { _top = value; } } XUnit _top; /// /// Gets or sets the bottom crop margin. /// public XUnit Bottom { get { return _bottom; } set { _bottom = value; } } XUnit _bottom; /// /// Gets a value indicating whether this instance has at least one margin with a value other than zero. /// public bool AreSet { get { return _left.Value != 0 || _right.Value != 0 || _top.Value != 0 || _bottom.Value != 0; } } } }