Breaking Changes in GraphicsMill 11

This section covers the API changes that you need to be aware of when migrating to GraphicsMill 11.

The approach to working with text has changed. Instead of separate classes for each text type, frames are added to the Text class in GraphicsMill 11. You can substitute old classes as follows:

If you used the Paragraph and WrappingPaths members in the old text classes, then you can get the corresponding properties of text frames instead.

Since GraphicsContainer may contain a collection of text items, such methods as GetBlackBox or GetContentBounds now require FontRegistry.

Aurigma.GraphicsMill.AdvancedDrawing.BoundedText

Removed properties

  • Paragraph
  • WrappingPaths

Aurigma.GraphicsMill.AdvancedDrawing.Font

Removed properties

  • FauxBold
  • FauxItalic
  • Hinting

Aurigma.GraphicsMill.AdvancedDrawing.Graphics

Removed events

  • BeforeDrawImage
  • BeforeDrawPath

Instead of using these events, you can now access elements of graphics containers through the Items API: text, images, shapes, and containers in the GraphicsContainer.Items collection.

Aurigma.GraphicsMill.AdvancedDrawing.GraphicsContainer

Changed declaration

Aurigma.GraphicsMill.AdvancedDrawing.Path

Changed declaration

Aurigma.GraphicsMill.AdvancedDrawing.PathBoundedText

Removed properties

  • Paragraph
  • WrappingPaths

Aurigma.GraphicsMill.AdvancedDrawing.PlainText

Removed properties

  • Paragraph
  • WrappingPaths

Aurigma.GraphicsMill.AdvancedDrawing.Text

Class declaration has been changed, now this is a concrete class implementing different text types with text frames. For example, as a replacement of the former derived class PlainText, the Text class obtained PointTextFrame.

The properties responsible for the symbol and paragraph styles are now moved into new objects: Text.CharStyle and Text.ParagraphStyle.

Deprecation

  • BoundedText
  • DoublePathText
  • PathBoundedText
  • PathText
  • PlainText

You can still use these text classes, but they remain for backwards compatibility only and basically wrap Text with one of the frames.

Removed properties

  • Alignment
  • DigitType
  • Font
  • Leading
  • OpenTypeFeatures
  • Tracking
  • WordSpacingScale

Changed declaration

Changed visibility from public to internal

Aurigma.GraphicsMill.AdvancedDrawing.Text.Create(Text* text, FontRegistry fontRegistry)

Aurigma.GraphicsMill.AdvancedDrawing.TextAlignment

Removed fields

  • Bottom
  • Top

Instead, added more justification types.

Changed declaration

public enum TextAlignment
{
	Left = 0,
	Center = 1,
	Right = 2,
	Justification = 3,
	JustificationLastLeft = 4,
	JustificationLastCenter = 5,
	JustificationLastRight = 6
}

Removed classes and interfaces

  • Aurigma.GraphicsMill.AdvancedDrawing.DrawImageEventArgs
  • Aurigma.GraphicsMill.AdvancedDrawing.DrawPathEventArgs
  • Aurigma.GraphicsMill.AdvancedDrawing.IParagraphText
  • Aurigma.GraphicsMill.AdvancedDrawing.IWrappedText
  • Aurigma.GraphicsMill.AdvancedDrawing.ParagraphDirection
  • Aurigma.GraphicsMill.AdvancedDrawing.ParagraphSettings