public void Badge_CornerTest() { ScryberBadgeStyle target = new ScryberBadgeStyle(); //Default Corner expected = Corner.BottomRight; Assert.AreEqual(expected, target.Corner); //Set value expected = Corner.BottomLeft; Corner actual; target.Corner = expected; actual = target.Corner; Assert.AreEqual(expected, actual); // Change Value expected = Corner.TopRight; target.Corner = expected; actual = target.Corner; Assert.AreEqual(expected, actual); //Remove value expected = Corner.BottomRight; target.RemoveCorner(); actual = target.Corner; Assert.AreEqual(expected, actual); }
public void Badge_YOffsetTest() { ScryberBadgeStyle target = new ScryberBadgeStyle(); // Default value PDFUnit expected = ScryberBadgeStyle.DefaultYOffset; PDFUnit actual = target.YOffset; Assert.AreEqual(expected, actual); // Set Value expected = 20; target.YOffset = expected; actual = target.YOffset; Assert.AreEqual(expected, actual); // Change Value expected = new PDFUnit(100, PageUnits.Points); target.YOffset = expected; actual = target.YOffset; Assert.AreEqual(expected, actual); // Remove Value expected = ScryberBadgeStyle.DefaultYOffset; target.RemoveYOffset(); actual = target.YOffset; Assert.AreEqual(expected, actual); }
public void Badge_ConstructorTest() { ScryberBadgeStyle target = new ScryberBadgeStyle(); Assert.IsNotNull(target); Assert.AreEqual(StyleKeys.BadgeItemKey, target.ItemKey); }
public void Badge_DisplayOptionTest() { ScryberBadgeStyle target = new ScryberBadgeStyle(); //Default Value BadgeType expected = ScryberBadgeStyle.DefaultDisplayOption; Assert.AreEqual(expected, target.DisplayOption); //Set value expected = BadgeType.WhiteOnBlack; BadgeType actual; target.DisplayOption = expected; actual = target.DisplayOption; Assert.AreEqual(expected, actual); // Change Value expected = BadgeType.BlackOnWhite; target.DisplayOption = expected; actual = target.DisplayOption; Assert.AreEqual(expected, actual); //Remove value expected = ScryberBadgeStyle.DefaultDisplayOption; target.RemoveDisplayOption(); actual = target.DisplayOption; Assert.AreEqual(expected, actual); }
private void RegisterBadgeData(PDFLayoutContext context) { _outputbadge = this.PageOwner.ShowBadge; if (!_outputbadge) { return; } ScryberBadgeStyle style; if (!this.FullStyle.TryGetItem(StyleKeys.BadgeItemKey, out style)) { style = new ScryberBadgeStyle(); } //get any existing badge resource registered in the document Document doc = context.DocumentLayout.DocumentComponent; string rsrcName = BadgeResourceStem; if (style.DisplayOption == BadgeType.BlackOnWhite) { rsrcName = rsrcName + BlackOnWhiteResourceName; } else if (style.DisplayOption == BadgeType.WhiteOnBlack) { rsrcName = rsrcName + WhiteOnBlackResourceName; } else if (style.DisplayOption == BadgeType.Environment) { rsrcName = rsrcName + EnvironmentBadgeName; } _badgexobj = doc.GetImageResource(rsrcName, this.PageOwner, false); if (null == _badgexobj) { //Document does not have a previous badge registed, so need to register it now. System.Resources.ResourceManager mgr = new System.Resources.ResourceManager("Scryber.Components.Properties.Resources", typeof(Page).Assembly); System.Drawing.Bitmap bmp; if (style.DisplayOption == BadgeType.BlackOnWhite) { bmp = mgr.GetObject(BlackOnWhiteResourceName) as System.Drawing.Bitmap; } else if (style.DisplayOption == BadgeType.WhiteOnBlack) { bmp = mgr.GetObject(WhiteOnBlackResourceName) as System.Drawing.Bitmap; } else { bmp = mgr.GetObject(EnvironmentBadgeName) as System.Drawing.Bitmap; } PDFImageData data = PDFImageData.LoadImageFromBitmap(rsrcName, bmp, false); string name = doc.GetIncrementID(PDFObjectTypes.ImageXObject); _badgexobj = PDFImageXObject.Load(data, name); doc.SharedResources.Add(_badgexobj); } //Make sure the badge is registered with the page too _badgexobj.RegisterUse(this.Resources, this.PageOwner); // calculate the position based on the X and Y Offset plus the corners. _badgePosition = new PDFPoint(style.XOffset, style.YOffset); _badgeSize = new PDFSize(_badgexobj.ImageData.DisplayWidth, _badgexobj.ImageData.DisplayHeight); PDFSize pageSize = this.Size; switch (style.Corner) { default: case Corner.TopLeft: //Do Nothing break; case Corner.TopRight: _badgePosition.X = (pageSize.Width - _badgePosition.X) - _badgeSize.Width; break; case Corner.BottomRight: _badgePosition.X = (pageSize.Width - _badgePosition.X) - _badgeSize.Width; _badgePosition.Y = (pageSize.Height - _badgePosition.Y) - _badgeSize.Height; break; case Corner.BottomLeft: _badgePosition.Y = (pageSize.Height - _badgePosition.Y) - _badgeSize.Height; break; } }