Module pyemf
[frames | no frames]

Module pyemf

pyemf is a pure python module that provides a cross-platform ability to generate enhanced metafiles (.emf files), a vector graphics format defined by the ECMA-234 standard. Enhanced metafiles are a natively supported image and scalable clip-art format in the OpenOffice suite of tools and in Windows applications.

ECMA-234 is the published interface for enhanced metafiles, which is also a file-based representation of the Windows graphics device interface. This API follows most of the naming conventions of ECMA-234, and most of the parameter lists of methods are the same as their ECMA-234 equivalents. The primary difference is that pyemf has extended the API to be object-oriented based on the class EMF. So, while in ECMA-234 the first argument is generally the device context, here in pyemf it is implicit in the class instance.

ECMA-234 defines a lot of constants (mostly integers that are used as flags to various functions) that pyemf defines as module level variables. So, rather than pollute your global namespace, it is recommended that you use import pyemf rather than from pyemf import *.

Introduction

To use pyemf in your programs, you instantiate an EMF object, draw some stuff using its methods, and save the file. An example:
 #!/usr/bin/env python

 import pyemf

 width=8.0
 height=6.0
 dpi=300

 emf=pyemf.EMF(width,height,dpi)
 thin=emf.CreatePen(pyemf.PS_SOLID,1,(0x01,0x02,0x03))
 emf.SelectObject(thin)
 emf.Polyline([(0,0),(width*dpi,height*dpi)])
 emf.Polyline([(0,height*dpi),(width*dpi,0)])
 emf.save("test-1.emf")
This small program creates a 8in x 6in EMF at 300 dots per inch, and draws two lines connecting the opposite corners. This simple test is available as test-1.py in the examples directory of the pyemf distribution. There are many other small test programs to demonstrate other features of the EMF class.

Naming Conventions in pyemf

Methods that belong to ECMA-234 are CamelCased starting with a capital letter. Methods that apply to the operation of the EMF class itself (i.e. load and save) are lower cased. Constants described in pyemf that are used as parameters are ALL_UPPER_CASE.

Coordinate System

Coordinates are addressed a coordinate system called page space by integer pixels in a horizontal range (increasing to the right) from 0 to width*density, and vertically (from the top down) 0 to height*density. Density is either dots per inch if working in english units, or dots per millimeter if working in metric.

World and Page Space

Note that there are four coordinate spaces used by GDI: world, page, device, and physical device. World and page are the same, unless a world transform (SetWorldTransform, ModifyWorldTransform) is used. In that case, you operate in world space (that is transformed into page space by multiplying by the transformation matrix), and it could be scaled differently.

Experimental Coordinate System

Experimental support for device coordinates is available through SetMapMode and the various Window and Viewport methods. Device coordinates are referenced by physical dimensions corresponding to the mapping mode currently used. [The methods work correctly (in the sense that they generate the correct records in the metafile) and the API won't change, but it's not clear to me what the parameters should do.]

Drawing Characteristics

GDI has a concept of the current object for the each of the three drawing characteristics: line style, fill style, and font. Once a characteristic is made current using SelectObject, it remains current until it is replaced by another call to SelectObject. Note that a call to SelectObject only affects that characteristic, and not the other two, so changing the line style doesn't effect the fill style or the font.

Additionally, there is a set of stock objects retrievable with GetStockObject that should be available on any system capable of rendering an EMF.

Colors

A quick note about color. Colors in pyemf are specified one of three ways:

Line Styles

Line styles are created by CreatePen and specify the style, width, and color.

Note that there is a NULL_PEN stock object if you don't actually want to draw a line with a drawing primitive.

Fill Styles

Polygon fill styles are created by CreateSolidBrush and theoretically CreateHatchBrush, although the latter doesn't seem to be supported currently in OpenOffice. So, reliably we can only use CreateSolidBrush and thus can only specify a fill color and not a fill pattern.

Note that there is a stock object NULL_BRUSH that doesn't fill, useful if you want to only draw an outline of a primitive that is normally filled.

An interesting side-note is that there is no direct support for gradients in EMF. Examining some .emfs that do have gradients shows that Windows produces them using clipping regions and subdividing the object into areas of a single color an drawing slices of the individual color. Better support for clipping regions is the subject of a future release of pyemf, but they also don't seem to work well in OpenOffice, so it hasn't been a high priority.

Fonts

CreateFont requires a large number of parameters, the most important being the height, the rotation, and the name. Note that the height can either be specified as a positive or negative integer, where negative means use that value as the average glyph height and positive means use the value as the average cell height. Since a glyph is contained within a cell, the negative value will yield a slightly larger font when rendered on screen.

Note that the two rotation values must specify the same angle.

Also note that font color is not part of a SelectObject characteristic. It is specified using the separate method SetTextColor. SetBkMode and SetBkColor are supposed to work with text, but in my testing with OpenOffice it hasn't been consistent. I tend to just SetBkMode(pyemf.TRANSPARENT) and leave it at that.

Drawing

The methods listed under Drawing Primitives below use either the current line style or the current fill style (or both). Any primitive that creates a closed figure (Polygon, PolyPolygon, Rectangle, RoundRect, Ellipse, Chord, and Pie) will use both the line and fill style. Others (Polyline, PolyPolyline and Arc) will only use the line style, excepting SetPixel which doesn't use either.

Paths

To create more complicated shapes, the Path Primitives are used. A path is started with a call to BeginPath and the initial point should be set with MoveTo. Calls to LineTo, PolylineTo, ArcTo, and PolyBezierTo extend the path. CloseFigure should be used to connect the final point to the starting point, otherwise the path may be filled incorrectly. EndPath then completes the path, and it may be outlined with StrokePath, filled with FillPath or both with StrokeAndFillPath.

Note that OpenOffice ignores ArcTo in terms of path continuity -- the arc is drawn, but it is not connected to the path.

Note that SelectClipPath is broken in OpenOffice.

Coordinate System Transformation

You might have noticed that methods like Ellipse and Rectangle can only create objects that are aligned with the X-Y axis. This would be a real limitation without some way to rotate the figures. SetWorldTransform and ModifyWorldTransform provide this. These methods provide a generalized linear transformation that can translate, rotate, scale and shear subsequent graphics operations.

These methods aren't required by the ECMA-234 spec, which may explain why their support in OpenOffice is mixed. Drawing primitives and paths seem to be supported and are transformed, but text is not (though it should be).

Version: 2.0.0

Author: Rob McMullen

Classes
EMF Reference page of the public API for enhanced metafile creation.

Function Summary
int RGB(r, g, b)
Pack integer color values into a 32-bit integer format.

Variable Summary
str __author__ = 'Rob McMullen'
str __author_email__ = 'robm@users.sourceforge.net'
str __description__ = 'Pure Python Enhanced Metafile Library...
str __download_url__ = 'http://sourceforge.net/project/showf...
str __keywords__ = 'graphics, scalable, vector, image, clipa...
str __license__ = 'LGPL'
str __url__ = 'http://pyemf.sourceforge.net'
str __version__ = '2.0.0'
int AD_CLOCKWISE = 2                                                                     
int AD_COUNTERCLOCKWISE = 1                                                                     
int ALTERNATE = 1                                                                     
int ANSI_FIXED_FONT = 11                                                                    
int ANSI_VAR_FONT = 12                                                                    
int ANTIALIASED_QUALITY = 4                                                                     
int BKMODE_LAST = 2                                                                     
int BLACK_BRUSH = 4                                                                     
int BLACK_PEN = 7                                                                     
int BS_DIBPATTERN = 5                                                                     
int BS_DIBPATTERN8X8 = 8                                                                     
int BS_DIBPATTERNPT = 6                                                                     
int BS_HATCHED = 2                                                                     
int BS_HOLLOW = 1                                                                     
int BS_INDEXED = 4                                                                     
int BS_MONOPATTERN = 9                                                                     
int BS_NULL = 1                                                                     
int BS_PATTERN = 3                                                                     
int BS_PATTERN8X8 = 7                                                                     
int BS_SOLID = 0                                                                     
int CLIP_CHARACTER_PRECIS = 1                                                                     
int CLIP_DEFAULT_PRECIS = 0                                                                     
int CLIP_EMBEDDED = 128                                                                   
int CLIP_LH_ANGLES = 16                                                                    
int CLIP_MASK = 15                                                                    
int CLIP_STROKE_PRECIS = 2                                                                     
int CLIP_TT_ALWAYS = 32                                                                    
int DEFAULT_CHARSET = 1                                                                     
int DEFAULT_GUI_FONT = 17                                                                    
int DEFAULT_PALETTE = 15                                                                    
int DEFAULT_PITCH = 0                                                                     
int DEFAULT_QUALITY = 0                                                                     
int DEVICE_DEFAULT_FONT = 14                                                                    
int DKGRAY_BRUSH = 3                                                                     
int DRAFT_QUALITY = 1                                                                     
int EASTEUROPE_CHARSET = 238                                                                   
int FF_DECORATIVE = 80                                                                    
int FF_DONTCARE = 0                                                                     
int FF_MODERN = 48                                                                    
int FF_ROMAN = 16                                                                    
int FF_SCRIPT = 64                                                                    
int FF_SWISS = 32                                                                    
int FIXED_PITCH = 1                                                                     
long FS_ARABIC = 64L
long FS_BALTIC = 128L
long FS_CHINESESIMP = 262144L
long FS_CHINESETRAD = 1048576L
long FS_CYRILLIC = 4L
long FS_GREEK = 8L
long FS_HEBREW = 32L
long FS_JISJAPAN = 131072L
long FS_JOHAB = 2097152L
long FS_LATIN1 = 1L
long FS_LATIN2 = 2L
long FS_SYMBOL = 2147483648L
long FS_THAI = 65536L
long FS_TURKISH = 16L
long FS_VIETNAMESE = 256L
long FS_WANSUNG = 524288L
int FW_BLACK = 900                                                                   
int FW_BOLD = 700                                                                   
int FW_DEMIBOLD = 600                                                                   
int FW_DONTCARE = 0                                                                     
int FW_EXTRABOLD = 800                                                                   
int FW_EXTRALIGHT = 200                                                                   
int FW_HEAVY = 900                                                                   
int FW_LIGHT = 300                                                                   
int FW_MEDIUM = 500                                                                   
int FW_NORMAL = 400                                                                   
int FW_REGULAR = 400                                                                   
int FW_SEMIBOLD = 600                                                                   
int FW_THIN = 100                                                                   
int FW_ULTRABOLD = 800                                                                   
int FW_ULTRALIGHT = 200                                                                   
int GM_ADVANCED = 2                                                                     
int GM_COMPATIBLE = 1                                                                     
int GM_LAST = 2                                                                     
int GRAY_BRUSH = 2                                                                     
int HANGUL_CHARSET = 129                                                                   
int HOLLOW_BRUSH = 5                                                                     
int HS_BDIAGONAL = 3                                                                     
int HS_CROSS = 4                                                                     
int HS_DIAGCROSS = 5                                                                     
int HS_FDIAGONAL = 2                                                                     
int HS_HORIZONTAL = 0                                                                     
int HS_VERTICAL = 1                                                                     
int ICM_MAX = 3                                                                     
int ICM_MIN = 1                                                                     
int ICM_OFF = 1                                                                     
int ICM_ON = 2                                                                     
int ICM_QUERY = 3                                                                     
int LTGRAY_BRUSH = 1                                                                     
int MAC_CHARSET = 77                                                                    
int MM_ANISOTROPIC = 8                                                                     
int MM_HIENGLISH = 5                                                                     
int MM_HIMETRIC = 3                                                                     
int MM_ISOTROPIC = 7                                                                     
int MM_LOENGLISH = 4                                                                     
int MM_LOMETRIC = 2                                                                     
int MM_MAX = 8                                                                     
int MM_TEXT = 1                                                                     
int MM_TWIPS = 6                                                                     
int MONO_FONT = 8                                                                     
int MWT_IDENTITY = 1                                                                     
int MWT_LEFTMULTIPLY = 2                                                                     
int MWT_RIGHTMULTIPLY = 3                                                                     
int NONANTIALIASED_QUALITY = 3                                                                     
int NULL_BRUSH = 5                                                                     
int NULL_PEN = 8                                                                     
int OEM_CHARSET = 255                                                                   
int OEM_FIXED_FONT = 10                                                                    
int OPAQUE = 2                                                                     
int OUT_CHARACTER_PRECIS = 2                                                                     
int OUT_DEFAULT_PRECIS = 0                                                                     
int OUT_DEVICE_PRECIS = 5                                                                     
int OUT_OUTLINE_PRECIS = 8                                                                     
int OUT_RASTER_PRECIS = 6                                                                     
int OUT_STRING_PRECIS = 1                                                                     
int OUT_STROKE_PRECIS = 3                                                                     
int OUT_TT_ONLY_PRECIS = 7                                                                     
int OUT_TT_PRECIS = 4                                                                     
int POLYFILL_LAST = 2                                                                     
int PROOF_QUALITY = 2                                                                     
int PS_ALTERNATE = 8                                                                     
int PS_COSMETIC = 0                                                                     
int PS_DASH = 1                                                                     
int PS_DASHDOT = 3                                                                     
int PS_DASHDOTDOT = 4                                                                     
int PS_DOT = 2                                                                     
int PS_ENDCAP_FLAT = 512                                                                   
int PS_ENDCAP_MASK = 3840                                                                  
int PS_ENDCAP_ROUND = 0                                                                     
int PS_ENDCAP_SQUARE = 256                                                                   
int PS_GEOMETRIC = 65536                                                                 
int PS_INSIDEFRAME = 6                                                                     
int PS_JOIN_BEVEL = 4096                                                                  
int PS_JOIN_MASK = 61440                                                                 
int PS_JOIN_MITER = 8192                                                                  
int PS_JOIN_ROUND = 0                                                                     
int PS_NULL = 5                                                                     
int PS_SOLID = 0                                                                     
int PS_STYLE_MASK = 15                                                                    
int PS_TYPE_MASK = 983040                                                                
int PS_USERSTYLE = 7                                                                     
int RGN_AND = 1                                                                     
int RGN_COPY = 5                                                                     
int RGN_DIFF = 4                                                                     
int RGN_ERROR = 0                                                                     
int RGN_MAX = 5                                                                     
int RGN_MIN = 1                                                                     
int RGN_OR = 2                                                                     
int RGN_XOR = 3                                                                     
int STOCK_LAST = 17                                                                    
int SYMBOL_CHARSET = 2                                                                     
int SYSTEM_FIXED_FONT = 16                                                                    
int SYSTEM_FONT = 13                                                                    
int TA_BASELINE = 24                                                                    
int TA_BOTTOM = 8                                                                     
int TA_CENTER = 6                                                                     
int TA_LEFT = 0                                                                     
int TA_MASK = 287                                                                   
int TA_NOUPDATECP = 0                                                                     
int TA_RIGHT = 2                                                                     
int TA_RTLREADING = 256                                                                   
int TA_TOP = 0                                                                     
int TA_UPDATECP = 1                                                                     
int TRANSPARENT = 1                                                                     
int VARIABLE_PITCH = 2                                                                     
int WHITE_BRUSH = 0                                                                     
int WHITE_PEN = 6                                                                     
int WINDING = 2                                                                     

Function Details

RGB(r, g, b)

Pack integer color values into a 32-bit integer format.
Parameters:
r - 0 - 255 or 0.0 - 1.0 specifying red
           (type=int or float)
g - 0 - 255 or 0.0 - 1.0 specifying green
           (type=int or float)
b - 0 - 255 or 0.0 - 1.0 specifying blue
           (type=int or float)
Returns:
single integer that should be used when any function needs a color value
           (type=int)

Variable Details

__author__

Type:
str
Value:
'Rob McMullen'                                                         

__author_email__

Type:
str
Value:
'robm@users.sourceforge.net'                                           

__description__

Type:
str
Value:
'Pure Python Enhanced Metafile Library'                                

__download_url__

Type:
str
Value:
'http://sourceforge.net/project/showfiles.php?group_id=148144'         

__keywords__

Type:
str
Value:
'graphics, scalable, vector, image, clipart, emf'                      

__license__

Type:
str
Value:
'LGPL'                                                                 

__url__

Type:
str
Value:
'http://pyemf.sourceforge.net'                                         

__version__

Type:
str
Value:
'2.0.0'                                                                

AD_CLOCKWISE

Type:
int
Value:
2                                                                     

AD_COUNTERCLOCKWISE

Type:
int
Value:
1                                                                     

ALTERNATE

Type:
int
Value:
1                                                                     

ANSI_FIXED_FONT

Type:
int
Value:
11                                                                    

ANSI_VAR_FONT

Type:
int
Value:
12                                                                    

ANTIALIASED_QUALITY

Type:
int
Value:
4                                                                     

BKMODE_LAST

Type:
int
Value:
2                                                                     

BLACK_BRUSH

Type:
int
Value:
4                                                                     

BLACK_PEN

Type:
int
Value:
7                                                                     

BS_DIBPATTERN

Type:
int
Value:
5                                                                     

BS_DIBPATTERN8X8

Type:
int
Value:
8                                                                     

BS_DIBPATTERNPT

Type:
int
Value:
6                                                                     

BS_HATCHED

Type:
int
Value:
2                                                                     

BS_HOLLOW

Type:
int
Value:
1                                                                     

BS_INDEXED

Type:
int
Value:
4                                                                     

BS_MONOPATTERN

Type:
int
Value:
9                                                                     

BS_NULL

Type:
int
Value:
1                                                                     

BS_PATTERN

Type:
int
Value:
3                                                                     

BS_PATTERN8X8

Type:
int
Value:
7                                                                     

BS_SOLID

Type:
int
Value:
0                                                                     

CLIP_CHARACTER_PRECIS

Type:
int
Value:
1                                                                     

CLIP_DEFAULT_PRECIS

Type:
int
Value:
0                                                                     

CLIP_EMBEDDED

Type:
int
Value:
128                                                                   

CLIP_LH_ANGLES

Type:
int
Value:
16                                                                    

CLIP_MASK

Type:
int
Value:
15                                                                    

CLIP_STROKE_PRECIS

Type:
int
Value:
2                                                                     

CLIP_TT_ALWAYS

Type:
int
Value:
32                                                                    

DEFAULT_CHARSET

Type:
int
Value:
1                                                                     

DEFAULT_GUI_FONT

Type:
int
Value:
17                                                                    

DEFAULT_PALETTE

Type:
int
Value:
15                                                                    

DEFAULT_PITCH

Type:
int
Value:
0                                                                     

DEFAULT_QUALITY

Type:
int
Value:
0                                                                     

DEVICE_DEFAULT_FONT

Type:
int
Value:
14                                                                    

DKGRAY_BRUSH

Type:
int
Value:
3                                                                     

DRAFT_QUALITY

Type:
int
Value:
1                                                                     

EASTEUROPE_CHARSET

Type:
int
Value:
238                                                                   

FF_DECORATIVE

Type:
int
Value:
80                                                                    

FF_DONTCARE

Type:
int
Value:
0                                                                     

FF_MODERN

Type:
int
Value:
48                                                                    

FF_ROMAN

Type:
int
Value:
16                                                                    

FF_SCRIPT

Type:
int
Value:
64                                                                    

FF_SWISS

Type:
int
Value:
32                                                                    

FIXED_PITCH

Type:
int
Value:
1                                                                     

FS_ARABIC

Type:
long
Value:
64L                                                                    

FS_BALTIC

Type:
long
Value:
128L                                                                   

FS_CHINESESIMP

Type:
long
Value:
262144L                                                                

FS_CHINESETRAD

Type:
long
Value:
1048576L                                                               

FS_CYRILLIC

Type:
long
Value:
4L                                                                     

FS_GREEK

Type:
long
Value:
8L                                                                     

FS_HEBREW

Type:
long
Value:
32L                                                                    

FS_JISJAPAN

Type:
long
Value:
131072L                                                                

FS_JOHAB

Type:
long
Value:
2097152L                                                               

FS_LATIN1

Type:
long
Value:
1L                                                                     

FS_LATIN2

Type:
long
Value:
2L                                                                     

FS_SYMBOL

Type:
long
Value:
2147483648L                                                            

FS_THAI

Type:
long
Value:
65536L                                                                 

FS_TURKISH

Type:
long
Value:
16L                                                                    

FS_VIETNAMESE

Type:
long
Value:
256L                                                                   

FS_WANSUNG

Type:
long
Value:
524288L                                                                

FW_BLACK

Type:
int
Value:
900                                                                   

FW_BOLD

Type:
int
Value:
700                                                                   

FW_DEMIBOLD

Type:
int
Value:
600                                                                   

FW_DONTCARE

Type:
int
Value:
0                                                                     

FW_EXTRABOLD

Type:
int
Value:
800                                                                   

FW_EXTRALIGHT

Type:
int
Value:
200                                                                   

FW_HEAVY

Type:
int
Value:
900                                                                   

FW_LIGHT

Type:
int
Value:
300                                                                   

FW_MEDIUM

Type:
int
Value:
500                                                                   

FW_NORMAL

Type:
int
Value:
400                                                                   

FW_REGULAR

Type:
int
Value:
400                                                                   

FW_SEMIBOLD

Type:
int
Value:
600                                                                   

FW_THIN

Type:
int
Value:
100                                                                   

FW_ULTRABOLD

Type:
int
Value:
800                                                                   

FW_ULTRALIGHT

Type:
int
Value:
200                                                                   

GM_ADVANCED

Type:
int
Value:
2                                                                     

GM_COMPATIBLE

Type:
int
Value:
1                                                                     

GM_LAST

Type:
int
Value:
2                                                                     

GRAY_BRUSH

Type:
int
Value:
2                                                                     

HANGUL_CHARSET

Type:
int
Value:
129                                                                   

HOLLOW_BRUSH

Type:
int
Value:
5                                                                     

HS_BDIAGONAL

Type:
int
Value:
3                                                                     

HS_CROSS

Type:
int
Value:
4                                                                     

HS_DIAGCROSS

Type:
int
Value:
5                                                                     

HS_FDIAGONAL

Type:
int
Value:
2                                                                     

HS_HORIZONTAL

Type:
int
Value:
0                                                                     

HS_VERTICAL

Type:
int
Value:
1                                                                     

ICM_MAX

Type:
int
Value:
3                                                                     

ICM_MIN

Type:
int
Value:
1                                                                     

ICM_OFF

Type:
int
Value:
1                                                                     

ICM_ON

Type:
int
Value:
2                                                                     

ICM_QUERY

Type:
int
Value:
3                                                                     

LTGRAY_BRUSH

Type:
int
Value:
1                                                                     

MAC_CHARSET

Type:
int
Value:
77                                                                    

MM_ANISOTROPIC

Type:
int
Value:
8                                                                     

MM_HIENGLISH

Type:
int
Value:
5                                                                     

MM_HIMETRIC

Type:
int
Value:
3                                                                     

MM_ISOTROPIC

Type:
int
Value:
7                                                                     

MM_LOENGLISH

Type:
int
Value:
4                                                                     

MM_LOMETRIC

Type:
int
Value:
2                                                                     

MM_MAX

Type:
int
Value:
8                                                                     

MM_TEXT

Type:
int
Value:
1                                                                     

MM_TWIPS

Type:
int
Value:
6                                                                     

MONO_FONT

Type:
int
Value:
8                                                                     

MWT_IDENTITY

Type:
int
Value:
1                                                                     

MWT_LEFTMULTIPLY

Type:
int
Value:
2                                                                     

MWT_RIGHTMULTIPLY

Type:
int
Value:
3                                                                     

NONANTIALIASED_QUALITY

Type:
int
Value:
3                                                                     

NULL_BRUSH

Type:
int
Value:
5                                                                     

NULL_PEN

Type:
int
Value:
8                                                                     

OEM_CHARSET

Type:
int
Value:
255                                                                   

OEM_FIXED_FONT

Type:
int
Value:
10                                                                    

OPAQUE

Type:
int
Value:
2                                                                     

OUT_CHARACTER_PRECIS

Type:
int
Value:
2                                                                     

OUT_DEFAULT_PRECIS

Type:
int
Value:
0                                                                     

OUT_DEVICE_PRECIS

Type:
int
Value:
5                                                                     

OUT_OUTLINE_PRECIS

Type:
int
Value:
8                                                                     

OUT_RASTER_PRECIS

Type:
int
Value:
6                                                                     

OUT_STRING_PRECIS

Type:
int
Value:
1                                                                     

OUT_STROKE_PRECIS

Type:
int
Value:
3                                                                     

OUT_TT_ONLY_PRECIS

Type:
int
Value:
7                                                                     

OUT_TT_PRECIS

Type:
int
Value:
4                                                                     

POLYFILL_LAST

Type:
int
Value:
2                                                                     

PROOF_QUALITY

Type:
int
Value:
2                                                                     

PS_ALTERNATE

Type:
int
Value:
8                                                                     

PS_COSMETIC

Type:
int
Value:
0                                                                     

PS_DASH

Type:
int
Value:
1                                                                     

PS_DASHDOT

Type:
int
Value:
3                                                                     

PS_DASHDOTDOT

Type:
int
Value:
4                                                                     

PS_DOT

Type:
int
Value:
2                                                                     

PS_ENDCAP_FLAT

Type:
int
Value:
512                                                                   

PS_ENDCAP_MASK

Type:
int
Value:
3840                                                                  

PS_ENDCAP_ROUND

Type:
int
Value:
0                                                                     

PS_ENDCAP_SQUARE

Type:
int
Value:
256                                                                   

PS_GEOMETRIC

Type:
int
Value:
65536                                                                 

PS_INSIDEFRAME

Type:
int
Value:
6                                                                     

PS_JOIN_BEVEL

Type:
int
Value:
4096                                                                  

PS_JOIN_MASK

Type:
int
Value:
61440                                                                 

PS_JOIN_MITER

Type:
int
Value:
8192                                                                  

PS_JOIN_ROUND

Type:
int
Value:
0                                                                     

PS_NULL

Type:
int
Value:
5                                                                     

PS_SOLID

Type:
int
Value:
0                                                                     

PS_STYLE_MASK

Type:
int
Value:
15                                                                    

PS_TYPE_MASK

Type:
int
Value:
983040                                                                

PS_USERSTYLE

Type:
int
Value:
7                                                                     

RGN_AND

Type:
int
Value:
1                                                                     

RGN_COPY

Type:
int
Value:
5                                                                     

RGN_DIFF

Type:
int
Value:
4                                                                     

RGN_ERROR

Type:
int
Value:
0                                                                     

RGN_MAX

Type:
int
Value:
5                                                                     

RGN_MIN

Type:
int
Value:
1                                                                     

RGN_OR

Type:
int
Value:
2                                                                     

RGN_XOR

Type:
int
Value:
3                                                                     

STOCK_LAST

Type:
int
Value:
17                                                                    

SYMBOL_CHARSET

Type:
int
Value:
2                                                                     

SYSTEM_FIXED_FONT

Type:
int
Value:
16                                                                    

SYSTEM_FONT

Type:
int
Value:
13                                                                    

TA_BASELINE

Type:
int
Value:
24                                                                    

TA_BOTTOM

Type:
int
Value:
8                                                                     

TA_CENTER

Type:
int
Value:
6                                                                     

TA_LEFT

Type:
int
Value:
0                                                                     

TA_MASK

Type:
int
Value:
287                                                                   

TA_NOUPDATECP

Type:
int
Value:
0                                                                     

TA_RIGHT

Type:
int
Value:
2                                                                     

TA_RTLREADING

Type:
int
Value:
256                                                                   

TA_TOP

Type:
int
Value:
0                                                                     

TA_UPDATECP

Type:
int
Value:
1                                                                     

TRANSPARENT

Type:
int
Value:
1                                                                     

VARIABLE_PITCH

Type:
int
Value:
2                                                                     

WHITE_BRUSH

Type:
int
Value:
0                                                                     

WHITE_PEN

Type:
int
Value:
6                                                                     

WINDING

Type:
int
Value:
2                                                                     

Generated by Epydoc 2.1 on Sun Jan 1 09:25:22 2006 http://epydoc.sf.net