emf

package module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 20, 2023 License: MIT Imports: 14 Imported by: 5

README

Emf

Enhanced Metafile Format (MS-EMF) reader and converter. Supports only png output.

Installation

go get github.com/pzinovkin/emf/cmd/emftopng

Usage

Calling by passing file path as an argument will generate image in the folder next to source emf file.

emftopng /path/to/image.emf

Also supports stdin. Image will be written to stdout.

emftopng < image.emf > image.png

Credits

Credits to github.com/pzinovkin/emf for the awesome work of this emf package. Removed the vendor folder to make it work with go modules import.

Documentation

Index

Constants

View Source
const (
	EMR_HEADER                  = 0x00000001
	EMR_POLYBEZIER              = 0x00000002
	EMR_POLYGON                 = 0x00000003
	EMR_POLYLINE                = 0x00000004
	EMR_POLYBEZIERTO            = 0x00000005
	EMR_POLYLINETO              = 0x00000006
	EMR_POLYPOLYLINE            = 0x00000007
	EMR_POLYPOLYGON             = 0x00000008
	EMR_SETWINDOWEXTEX          = 0x00000009
	EMR_SETWINDOWORGEX          = 0x0000000A
	EMR_SETVIEWPORTEXTEX        = 0x0000000B
	EMR_SETVIEWPORTORGEX        = 0x0000000C
	EMR_SETBRUSHORGEX           = 0x0000000D
	EMR_EOF                     = 0x0000000E
	EMR_SETPIXELV               = 0x0000000F
	EMR_SETMAPPERFLAGS          = 0x00000010
	EMR_SETMAPMODE              = 0x00000011
	EMR_SETBKMODE               = 0x00000012
	EMR_SETPOLYFILLMODE         = 0x00000013
	EMR_SETROP2                 = 0x00000014
	EMR_SETSTRETCHBLTMODE       = 0x00000015
	EMR_SETTEXTALIGN            = 0x00000016
	EMR_SETCOLORADJUSTMENT      = 0x00000017
	EMR_SETTEXTCOLOR            = 0x00000018
	EMR_SETBKCOLOR              = 0x00000019
	EMR_OFFSETCLIPRGN           = 0x0000001A
	EMR_MOVETOEX                = 0x0000001B
	EMR_SETMETARGN              = 0x0000001C
	EMR_EXCLUDECLIPRECT         = 0x0000001D
	EMR_INTERSECTCLIPRECT       = 0x0000001E
	EMR_SCALEVIEWPORTEXTEX      = 0x0000001F
	EMR_SCALEWINDOWEXTEX        = 0x00000020
	EMR_SAVEDC                  = 0x00000021
	EMR_RESTOREDC               = 0x00000022
	EMR_SETWORLDTRANSFORM       = 0x00000023
	EMR_MODIFYWORLDTRANSFORM    = 0x00000024
	EMR_SELECTOBJECT            = 0x00000025
	EMR_CREATEPEN               = 0x00000026
	EMR_CREATEBRUSHINDIRECT     = 0x00000027
	EMR_DELETEOBJECT            = 0x00000028
	EMR_ANGLEARC                = 0x00000029
	EMR_ELLIPSE                 = 0x0000002A
	EMR_RECTANGLE               = 0x0000002B
	EMR_ROUNDRECT               = 0x0000002C
	EMR_ARC                     = 0x0000002D
	EMR_CHORD                   = 0x0000002E
	EMR_PIE                     = 0x0000002F
	EMR_SELECTPALETTE           = 0x00000030
	EMR_CREATEPALETTE           = 0x00000031
	EMR_SETPALETTEENTRIES       = 0x00000032
	EMR_RESIZEPALETTE           = 0x00000033
	EMR_REALIZEPALETTE          = 0x00000034
	EMR_EXTFLOODFILL            = 0x00000035
	EMR_LINETO                  = 0x00000036
	EMR_ARCTO                   = 0x00000037
	EMR_POLYDRAW                = 0x00000038
	EMR_SETARCDIRECTION         = 0x00000039
	EMR_SETMITERLIMIT           = 0x0000003A
	EMR_BEGINPATH               = 0x0000003B
	EMR_ENDPATH                 = 0x0000003C
	EMR_CLOSEFIGURE             = 0x0000003D
	EMR_FILLPATH                = 0x0000003E
	EMR_STROKEANDFILLPATH       = 0x0000003F
	EMR_STROKEPATH              = 0x00000040
	EMR_FLATTENPATH             = 0x00000041
	EMR_WIDENPATH               = 0x00000042
	EMR_SELECTCLIPPATH          = 0x00000043
	EMR_ABORTPATH               = 0x00000044
	EMR_COMMENT                 = 0x00000046
	EMR_FILLRGN                 = 0x00000047
	EMR_FRAMERGN                = 0x00000048
	EMR_INVERTRGN               = 0x00000049
	EMR_PAINTRGN                = 0x0000004A
	EMR_EXTSELECTCLIPRGN        = 0x0000004B
	EMR_BITBLT                  = 0x0000004C
	EMR_STRETCHBLT              = 0x0000004D
	EMR_MASKBLT                 = 0x0000004E
	EMR_PLGBLT                  = 0x0000004F
	EMR_SETDIBITSTODEVICE       = 0x00000050
	EMR_STRETCHDIBITS           = 0x00000051
	EMR_EXTCREATEFONTINDIRECTW  = 0x00000052
	EMR_EXTTEXTOUTA             = 0x00000053
	EMR_EXTTEXTOUTW             = 0x00000054
	EMR_POLYBEZIER16            = 0x00000055
	EMR_POLYGON16               = 0x00000056
	EMR_POLYLINE16              = 0x00000057
	EMR_POLYBEZIERTO16          = 0x00000058
	EMR_POLYLINETO16            = 0x00000059
	EMR_POLYPOLYLINE16          = 0x0000005A
	EMR_POLYPOLYGON16           = 0x0000005B
	EMR_POLYDRAW16              = 0x0000005C
	EMR_CREATEMONOBRUSH         = 0x0000005D
	EMR_CREATEDIBPATTERNBRUSHPT = 0x0000005E
	EMR_EXTCREATEPEN            = 0x0000005F
	EMR_POLYTEXTOUTA            = 0x00000060
	EMR_POLYTEXTOUTW            = 0x00000061
	EMR_SETICMMODE              = 0x00000062
	EMR_CREATECOLORSPACE        = 0x00000063
	EMR_SETCOLORSPACE           = 0x00000064
	EMR_DELETECOLORSPACE        = 0x00000065
	EMR_GLSRECORD               = 0x00000066
	EMR_GLSBOUNDEDRECORD        = 0x00000067
	EMR_PIXELFORMAT             = 0x00000068
	EMR_DRAWESCAPE              = 0x00000069
	EMR_EXTESCAPE               = 0x0000006A
	EMR_SMALLTEXTOUT            = 0x0000006C
	EMR_FORCEUFIMAPPING         = 0x0000006D
	EMR_NAMEDESCAPE             = 0x0000006E
	EMR_COLORCORRECTPALETTE     = 0x0000006F
	EMR_SETICMPROFILEA          = 0x00000070
	EMR_SETICMPROFILEW          = 0x00000071
	EMR_ALPHABLEND              = 0x00000072
	EMR_SETLAYOUT               = 0x00000073
	EMR_TRANSPARENTBLT          = 0x00000074
	EMR_GRADIENTFILL            = 0x00000076
	EMR_SETLINKEDUFIS           = 0x00000077
	EMR_SETTEXTJUSTIFICATION    = 0x00000078
	EMR_COLORMATCHTOTARGETW     = 0x00000079
	EMR_CREATECOLORSPACEW       = 0x0000007A
)

RecordType

View Source
const (
	WHITE_BRUSH         = 0x80000000
	LTGRAY_BRUSH        = 0x80000001
	GRAY_BRUSH          = 0x80000002
	DKGRAY_BRUSH        = 0x80000003
	BLACK_BRUSH         = 0x80000004
	NULL_BRUSH          = 0x80000005
	WHITE_PEN           = 0x80000006
	BLACK_PEN           = 0x80000007
	NULL_PEN            = 0x80000008
	OEM_FIXED_FONT      = 0x8000000A
	ANSI_FIXED_FONT     = 0x8000000B
	ANSI_VAR_FONT       = 0x8000000C
	SYSTEM_FONT         = 0x8000000D
	DEVICE_DEFAULT_FONT = 0x8000000E
	DEFAULT_PALETTE     = 0x8000000F
	SYSTEM_FIXED_FONT   = 0x80000010
	DEFAULT_GUI_FONT    = 0x80000011
	DC_BRUSH            = 0x80000012
	DC_PEN              = 0x80000013
)

StockObject

View Source
const (
	BI_BITCOUNT_0 = 0x0000
	BI_BITCOUNT_1 = 0x0001
	BI_BITCOUNT_2 = 0x0004
	BI_BITCOUNT_3 = 0x0008
	BI_BITCOUNT_4 = 0x0010
	BI_BITCOUNT_5 = 0x0018
	BI_BITCOUNT_6 = 0x0020
)

BitCount

View Source
const (
	TRANSPARENT = 0x0001
	OPAQUE      = 0x0002
)

BackgroundMode

View Source
const (
	PS_COSMETIC      = 0x00000000
	PS_ENDCAP_ROUND  = 0x00000000
	PS_JOIN_ROUND    = 0x00000000
	PS_SOLID         = 0x00000000
	PS_DASH          = 0x00000001
	PS_DOT           = 0x00000002
	PS_DASHDOT       = 0x00000003
	PS_DASHDOTDOT    = 0x00000004
	PS_NULL          = 0x00000005
	PS_INSIDEFRAME   = 0x00000006
	PS_USERSTYLE     = 0x00000007
	PS_ALTERNATE     = 0x00000008
	PS_ENDCAP_SQUARE = 0x00000100
	PS_ENDCAP_FLAT   = 0x00000200
	PS_JOIN_BEVEL    = 0x00001000
	PS_JOIN_MITER    = 0x00002000
	PS_GEOMETRIC     = 0x00010000
)

PenStyle

View Source
const (
	MWT_IDENTITY      = 0x01
	MWT_LEFTMULTIPLY  = 0x02
	MWT_RIGHTMULTIPLY = 0x03
	MWT_SET           = 0x04
)

ModifyWorldTransformMode

View Source
const (
	ALTERNATE = 0x01
	WINDING   = 0x02
)

PolygonFillMode

View Source
const (
	GM_COMPATIBLE = 0x00000001
	GM_ADVANCED   = 0x00000002
)

GraphicsMode

View Source
const (
	ETO_OPAQUE            = 0x00000002
	ETO_CLIPPED           = 0x00000004
	ETO_GLYPH_INDEX       = 0x00000010
	ETO_RTLREADING        = 0x00000080
	ETO_NO_RECT           = 0x00000100
	ETO_SMALL_CHARS       = 0x00000200
	ETO_NUMERICSLOCAL     = 0x00000400
	ETO_NUMERICSLATIN     = 0x00000800
	ETO_IGNORELANGUAGE    = 0x00001000
	ETO_PDY               = 0x00002000
	ETO_REVERSE_INDEX_MAP = 0x00010000
)

ExtTextOutOptions

View Source
const (
	BI_RGB       = 0x0000
	BI_RLE8      = 0x0001
	BI_RLE4      = 0x0002
	BI_BITFIELDS = 0x0003
	BI_JPEG      = 0x0004
	BI_PNG       = 0x0005
	BI_CMYK      = 0x000B
	BI_CMYKRLE8  = 0x000C
	BI_CMYKRLE4  = 0x000D
)

Compression

View Source
const (
	MM_TEXT        = 0x01
	MM_LOMETRIC    = 0x02
	MM_HIMETRIC    = 0x03
	MM_LOENGLISH   = 0x04
	MM_HIENGLISH   = 0x05
	MM_TWIPS       = 0x06
	MM_ISOTROPIC   = 0x07
	MM_ANISOTROPIC = 0x08
)

MapMode

View Source
const (
	DIB_RGB_COLORS  = 0x00
	DIB_PAL_COLORS  = 0x01
	DIB_PAL_INDICES = 0x02
)

DIBColors

View Source
const (
	STRETCH_ANDSCANS    = 0x01
	STRETCH_ORSCANS     = 0x02
	STRETCH_DELETESCANS = 0x03
	STRETCH_HALFTONE    = 0x04
)

StretchMode

View Source
const (
	RGN_AND  = 0x01
	RGN_OR   = 0x02
	RGN_XOR  = 0x03
	RGN_DIFF = 0x04
	RGN_COPY = 0x05
)

RegionMode

View Source
const (
	BS_SOLID         = 0x0000
	BS_NULL          = 0x0001
	BS_HATCHED       = 0x0002
	BS_PATTERN       = 0x0003
	BS_INDEXED       = 0x0004
	BS_DIBPATTERN    = 0x0005
	BS_DIBPATTERNPT  = 0x0006
	BS_PATTERN8X8    = 0x0007
	BS_DIBPATTERN8X8 = 0x0008
	BS_MONOPATTERN   = 0x0009
)

BrushStyle

View Source
const ENHMETA_SIGNATURE = 0x464D4520

FormatSignature

Variables

View Source
var StockObjects = map[uint32]interface{}{
	WHITE_BRUSH:         LogBrushEx{Color: ColorRef{Red: 255, Green: 255, Blue: 255}},
	LTGRAY_BRUSH:        LogBrushEx{Color: ColorRef{Red: 192, Green: 192, Blue: 192}},
	GRAY_BRUSH:          LogBrushEx{Color: ColorRef{Red: 128, Green: 128, Blue: 128}},
	DKGRAY_BRUSH:        LogBrushEx{Color: ColorRef{Red: 64, Green: 64, Blue: 64}},
	BLACK_BRUSH:         LogBrushEx{Color: ColorRef{Red: 0, Green: 0, Blue: 0}},
	NULL_BRUSH:          true,
	WHITE_PEN:           LogPen{ColorRef: ColorRef{Red: 255, Green: 255, Blue: 255}, Width: PointL{1, 0}},
	BLACK_PEN:           LogPen{ColorRef: ColorRef{Red: 0, Green: 0, Blue: 0}, Width: PointL{1, 0}},
	NULL_PEN:            true,
	SYSTEM_FONT:         LogFont{Height: 11},
	DEVICE_DEFAULT_FONT: LogFont{Height: 11},
}

Functions

This section is empty.

Types

type ArcRecord

type ArcRecord struct {
	Record
	Box   RectL
	Start PointL
	End   PointL
}

func (*ArcRecord) Draw

func (r *ArcRecord) Draw(ctx *context)

type BeginpathRecord

type BeginpathRecord struct {
	Record
}

func (*BeginpathRecord) Draw

func (r *BeginpathRecord) Draw(ctx *context)

type BitbltRecord

type BitbltRecord struct {
	// contains filtered or unexported fields
}

func (*BitbltRecord) Draw

func (r *BitbltRecord) Draw(ctx *context)

type BitmapInfoHeader

type BitmapInfoHeader struct {
	HeaderSize                   uint32
	Width, Height                int32
	Planes, BitCount             uint16
	Compression, ImageSize       uint32
	XPelsPerMeter, YPelsPerMeter int32
	ColorUsed, ColorImportant    uint32
}

type ClosefigureRecord

type ClosefigureRecord struct {
	Record
}

func (*ClosefigureRecord) Draw

func (r *ClosefigureRecord) Draw(ctx *context)

type ColorRef

type ColorRef struct {
	Red, Green, Blue uint8
	// contains filtered or unexported fields
}

MS-WMF types

func (ColorRef) GetColor

func (c ColorRef) GetColor() color.RGBA

type CommentRecord

type CommentRecord struct {
	Record
}

type CreatebrushindirectRecord

type CreatebrushindirectRecord struct {
	Record

	LogBrush LogBrushEx
	// contains filtered or unexported fields
}

func (*CreatebrushindirectRecord) Draw

func (r *CreatebrushindirectRecord) Draw(ctx *context)

type CreatepenRecord

type CreatepenRecord struct {
	Record

	LogPen LogPen
	// contains filtered or unexported fields
}

func (*CreatepenRecord) Draw

func (r *CreatepenRecord) Draw(ctx *context)

type DeleteobjectRecord

type DeleteobjectRecord struct {
	Record
	// contains filtered or unexported fields
}

func (*DeleteobjectRecord) Draw

func (r *DeleteobjectRecord) Draw(ctx *context)

type DibHeaderInfo

type DibHeaderInfo struct{}

type EOFRecord

type EOFRecord struct {
	Record
	SizeLast uint32
	// contains filtered or unexported fields
}

type EmfFile

type EmfFile struct {
	Header  *HeaderRecord
	Records []Recorder
	EOF     *EOFRecord
}

func ReadFile

func ReadFile(data []byte) (*EmfFile, error)

func (*EmfFile) Draw

func (f *EmfFile) Draw() image.Image

type EmrText

type EmrText struct {
	Reference PointL
	Chars     uint32

	Options   uint32
	Rectangle RectL

	OutputString string
	OutputDx     []uint32
	// contains filtered or unexported fields
}

type EndpathRecord

type EndpathRecord struct {
	Record
}

func (*EndpathRecord) Draw

func (r *EndpathRecord) Draw(ctx *context)

type ExtcreatefontindirectwRecord

type ExtcreatefontindirectwRecord struct {
	Record
	// contains filtered or unexported fields
}

func (*ExtcreatefontindirectwRecord) Draw

func (r *ExtcreatefontindirectwRecord) Draw(ctx *context)

type ExtcreatepenRecord

type ExtcreatepenRecord struct {
	Record

	BmiSrc  DibHeaderInfo
	BitsSrc []byte
	// contains filtered or unexported fields
}

func (*ExtcreatepenRecord) Draw

func (r *ExtcreatepenRecord) Draw(ctx *context)

type ExttextoutwRecord

type ExttextoutwRecord struct {
	Record
	Bounds RectL
	// contains filtered or unexported fields
}

type FillpathRecord

type FillpathRecord struct {
	Record
	Bounds RectL
}

func (*FillpathRecord) Draw

func (r *FillpathRecord) Draw(ctx *context)

type HeaderRecord

type HeaderRecord struct {
	Record
	Bounds, Frame           RectL
	RecordSignature         uint32
	Version, Bytes, Records uint32
	Handles                 uint16

	Device, Millimeters SizeL
	// contains filtered or unexported fields
}

type IntersectcliprectRecord

type IntersectcliprectRecord struct {
	Record
	Clip RectL
}

type LinetoRecord

type LinetoRecord struct {
	Record
	Point PointL
}

func (*LinetoRecord) Draw

func (r *LinetoRecord) Draw(ctx *context)

type LogBrushEx

type LogBrushEx struct {
	BrushStyle uint32
	Color      ColorRef
	BrushHatch uint32
}

type LogFont

type LogFont struct {
	Height, Width                        int32
	Escapement, Orientation, Weight      int32
	Italic, Underline, StrikeOut         uint8
	CharSet, OutPrecision, ClipPrecision uint8
	Quality                              uint8
	PitchAndFamily                       int8
	Facename                             string
}

type LogPaletteEntry

type LogPaletteEntry struct {
	Blue, Green, Red uint8
	// contains filtered or unexported fields
}

type LogPen

type LogPen struct {
	PenStyle uint32
	Width    PointL
	ColorRef ColorRef
}

type LogPenEx

type LogPenEx struct {
	PenStyle        uint32
	Width           uint32
	BrushStyle      uint32
	ColorRef        ColorRef
	BrushHatch      uint32
	NumStyleEntries uint32
	StyleEntry      []uint32
}

type ModifyworldtransformRecord

type ModifyworldtransformRecord struct {
	Record
	XForm                    XForm
	ModifyWorldTransformMode uint32
}

func (*ModifyworldtransformRecord) Draw

func (r *ModifyworldtransformRecord) Draw(ctx *context)

type MovetoexRecord

type MovetoexRecord struct {
	Record
	Offset PointL
}

func (*MovetoexRecord) Draw

func (r *MovetoexRecord) Draw(ctx *context)

type PointL

type PointL struct {
	X, Y int32
}

type PointS

type PointS struct {
	X, Y int16
}

type Polybezier16Record

type Polybezier16Record struct {
	Record
	Bounds RectL
	Count  uint32
	// contains filtered or unexported fields
}

func (*Polybezier16Record) Draw

func (r *Polybezier16Record) Draw(ctx *context)

type Polybezierto16Record

type Polybezierto16Record struct {
	Record
	Bounds RectL
	Count  uint32
	// contains filtered or unexported fields
}

func (*Polybezierto16Record) Draw

func (r *Polybezierto16Record) Draw(ctx *context)

type Polygon16Record

type Polygon16Record struct {
	Record
	Bounds RectL
	Count  uint32
	// contains filtered or unexported fields
}

func (*Polygon16Record) Draw

func (r *Polygon16Record) Draw(ctx *context)

type Polyline16Record

type Polyline16Record struct {
	Record
	Bounds RectL
	Count  uint32
	// contains filtered or unexported fields
}

func (*Polyline16Record) Draw

func (r *Polyline16Record) Draw(ctx *context)

type Polylineto16Record

type Polylineto16Record struct {
	Record
	Bounds RectL
	Count  uint32
	// contains filtered or unexported fields
}

func (*Polylineto16Record) Draw

func (r *Polylineto16Record) Draw(ctx *context)

type Polypolygon16Record

type Polypolygon16Record struct {
	Record
	Bounds            RectL
	NumberOfPolygons  uint32
	Count             uint32
	PolygonPointCount []uint32
	// contains filtered or unexported fields
}

func (*Polypolygon16Record) Draw

func (r *Polypolygon16Record) Draw(ctx *context)

type Record

type Record struct {
	Type, Size uint32
}

func (*Record) Draw

func (r *Record) Draw(ctx *context)

type Recorder

type Recorder interface {
	Draw(*context)
}

type RectL

type RectL struct {
	Left, Top, Right, Bottom int32
}

func (RectL) Center

func (r RectL) Center() PointL

func (RectL) Height

func (r RectL) Height() int32

func (RectL) Width

func (r RectL) Width() int32

type RectangleRecord

type RectangleRecord struct {
	Record
	Box RectL
}

func (*RectangleRecord) Draw

func (r *RectangleRecord) Draw(ctx *context)

type RestoredcRecord

type RestoredcRecord struct {
	Record
	SavedDC int32
}

func (*RestoredcRecord) Draw

func (r *RestoredcRecord) Draw(ctx *context)

type SavedcRecord

type SavedcRecord struct {
	Record
}

func (*SavedcRecord) Draw

func (r *SavedcRecord) Draw(ctx *context)

type SelectclippathRecord

type SelectclippathRecord struct {
	Record
	RegionMode uint32
}

type SelectobjectRecord

type SelectobjectRecord struct {
	Record
	// contains filtered or unexported fields
}

func (*SelectobjectRecord) Draw

func (r *SelectobjectRecord) Draw(ctx *context)

type SetbkcolorRecord

type SetbkcolorRecord struct {
	Record
	Color ColorRef
}

func (*SetbkcolorRecord) Draw

func (r *SetbkcolorRecord) Draw(ctx *context)

type SetbkmodeRecord

type SetbkmodeRecord struct {
	Record
	BackgroundMode uint32
}

type SeticmmodeRecord

type SeticmmodeRecord struct {
	Record
	ICMMode uint32
}

type SetpolyfillmodeRecord

type SetpolyfillmodeRecord struct {
	Record
	PolygonFillMode uint32
}

func (*SetpolyfillmodeRecord) Draw

func (r *SetpolyfillmodeRecord) Draw(ctx *context)

type SetstretchbltmodeRecord

type SetstretchbltmodeRecord struct {
	Record
	StretchMode uint32
}

type SettextalignRecord

type SettextalignRecord struct {
	Record
	TextAlignmentMode uint32
}

type SettextcolorRecord

type SettextcolorRecord struct {
	Record
	Color ColorRef
}

func (*SettextcolorRecord) Draw

func (r *SettextcolorRecord) Draw(ctx *context)

type SetviewportextexRecord

type SetviewportextexRecord struct {
	Record
	Extent SizeL
}

func (*SetviewportextexRecord) Draw

func (r *SetviewportextexRecord) Draw(ctx *context)

type SetviewportorgexRecord

type SetviewportorgexRecord struct {
	Record
	Origin PointL
}

func (*SetviewportorgexRecord) Draw

func (r *SetviewportorgexRecord) Draw(ctx *context)

type SetwindowextexRecord

type SetwindowextexRecord struct {
	Record
	Extent SizeL
}

func (*SetwindowextexRecord) Draw

func (r *SetwindowextexRecord) Draw(ctx *context)

type SetwindoworgexRecord

type SetwindoworgexRecord struct {
	Record
	Origin PointL
}

func (*SetwindoworgexRecord) Draw

func (r *SetwindoworgexRecord) Draw(ctx *context)

type SetworldtransformRecord

type SetworldtransformRecord struct {
	Record
	XForm XForm
}

func (*SetworldtransformRecord) Draw

func (r *SetworldtransformRecord) Draw(ctx *context)

type SizeL

type SizeL struct {
	// MS-WMF says it's 32-bit unsigned integer
	// but there are files with negative values here
	Cx, Cy int32
}

type StretchbltRecord

type StretchbltRecord struct {
	// contains filtered or unexported fields
}

func (*StretchbltRecord) Draw

func (r *StretchbltRecord) Draw(ctx *context)

type StretchdibitsRecord

type StretchdibitsRecord struct {
	// contains filtered or unexported fields
}

func (*StretchdibitsRecord) Draw

func (r *StretchdibitsRecord) Draw(ctx *context)

type StrokeandfillpathRecord

type StrokeandfillpathRecord struct {
	Record
	Bounds RectL
}

func (*StrokeandfillpathRecord) Draw

func (r *StrokeandfillpathRecord) Draw(ctx *context)

type StrokepathRecord

type StrokepathRecord struct {
	Record
	Bounds RectL
}

func (*StrokepathRecord) Draw

func (r *StrokepathRecord) Draw(ctx *context)

type XForm

type XForm struct {
	M11, M12, M21, M22, Dx, Dy float32
}

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL