compile insert PS_EQUATES
/* 
   ** Copyright (C) 1992-2021 Revelation Software Inc. All Rights Reserved **
   
   Author   : GG
   Date     : A long time ago, in a Revelation far far away ...
   Purpose  : Constants for working with PS object structures
   
   
   Comments
   ========
   
   
   Amended  Date        Reason
   =======  ====        ======
   Mr C     01 Jun 23   Added IMAGE RESIZEMODE equates
   Mr C     20 Jan 21   Moved SYSMSG codes to oiwin_SysMsg_Equates
   Mr C     15 Oct 20   Added SETHBITMAP method equates
                        Moved Added SHOWEFFECT/HIDEEFFECT equates to PS_WINDOW_EQUATES
   Mr C     20 Sep 20   Added MOUSEMOVE event equates
   Mr C     05 Dec 19   Added PSPOS_UDPNAMES$ and PSPOS_UDPVALUES$
   Mr C     13 Feb 19   Added PSPOS_VIEWPROPERTIES$
   Mr C     22 Mar 18   Added PS_TRACKSIZE_VAL_NOTSET$
   Mr C     07 Aug 17   Moved InitialPosition equates to PS_WINDOW_EQUATES
   Mr C     09 Jul 17   Added PSCTL_MENUBAR$
   Mr C     05 May 16   Added SCALEMETRICS equates
   Mr C     21 Jan 16   Extended generic placeholders again again again!!
   Mr C     07 Jan 16   Added mouse button equates
   Mr C     20 Dec 15   Added Horizontal Text Align values
   Mr C     13 Dec 15   Added PSCTL_GROUPBOXEX$
   djh      06 Nov 15   Remove SCALEUNITS, they already exist in PS_WINDOW_EQUATES
   Mr C     04 Nov 15   Added PAGENUMBER constants
   Mr C     28 Oct 15   Added SCALEUNITS, EDITSTATEFLAGS constants
   Mr C     08 Sep 15   Extended generic placeholders again again!!
   Mr C     20 Apr 15   Extended generic placeholders again!
   Mr C     06 Mar 15   Fixed shpelling mishtook
   Mr C     18 Feb 15   Added GETPARENTFRAME method equates
   Mr C     13 Feb 15   Removed DSO items
   Mr C     12 Feb 15   Added PSPOS_CURSOR$
   Mr C     10 Feb 15   Added PSPOS_WINMSGLIST$
   Mr C     22 Jan 15   Added TRACKINGSIZE equates
   Mr C     06 Dec 14   Added PSPOS_CONTEXTMENU$
   Mr C     18 Nov 14   Added PSPOS_IMAGE$
   Mr C     23 Oct 14   Added NoAutoScale to standard image and imagelist
                        properties
   Mr C     28 Dec 12   Updated for OI 10
*/
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
#ifndef _PS_EQUATES_
#define _PS_EQUATES_
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   // SYSMSG codes moved to oiWin_SysMsg_Equates - include for backwards 
   // compatibility
   $insert oiWin_SysMsg_Equates

///////////////////////////////////////////////////////////////////////////////

   // Presentation Server Control Types 
   
   equ PSCTL_ANIMATION$          to "ANIMATE"
   equ PSCTL_BITMAP$             to "BITMAP"
   equ PSCTL_CHECKBOX$           to "CHECKBOX"
   equ PSCTL_COLORDROPDOWN$      to "COLORDROPDOWN"
   equ PSCTL_COMBOBOX$           to "COMBOBOX"
   equ PSCTL_DATETIME$           to "DATETIME"
   equ PSCTL_EDITBOX$            to "EDITBOX"
   equ PSCTL_EDITFIELD$          to "EDITFIELD"
   equ PSCTL_EDITTABLE$          to "EDITTABLE"
   equ PSCTL_GROUPBOX$           to "GROUPBOX"    ; // v9-style 
   equ PSCTL_GROUPBOXEX$         to "GROUPBOXEX"  ; // v10-style
   equ PSCTL_HSCROLLBAR$         to "HSCROLLBAR"
   equ PSCTL_HSPLITBAR$ 	      to "HSPLITBAR"
   equ PSCTL_HYPERLINK$ 	      to "HYPERLINK"
   equ PSCTL_LISTBOX$            to "LISTBOX"
   // equ PSCTL_LISTVIEW$           to "LISTVIEW"
   equ PSCTL_MENU$               to "MENU"
   equ PSCTL_MENUBAR$            to "MENUBAR"
   // equ PSCTL_MONTHCAL$           to "MONTHCAL"
   equ PSCTL_OLECONTROL$         to "OLECONTROL"
   // equ PSCTL_PAGER$              to "PAGER"
   equ PSCTL_PANEL$              to "PANEL"
   equ PSCTL_PROGRESSBAR$        to "PROGRESSBAR"
   equ PSCTL_PROPERTYGRID$       to "PROPERTYGRID"
   equ PSCTL_PUSHBUTTON$         to "PUSHBUTTON"
   equ PSCTL_RADIOBUTTON$        to "RADIOBUTTON"
   equ PSCTL_RADIOGROUP$         to "RADIOGROUP"
   equ PSCTL_REBAR$              to "REBAR"
   equ PSCTL_RICHEDITBOX$        to "RICHEDITBOX"
   equ PSCTL_STATIC$             to "STATIC"
   equ PSCTL_STATUSBAR$          to "STATUSBAR"
   equ PSCTL_TABCONTROL$ 	      to "TABCONTROL"
   equ PSCTL_TOOLBAR$            to "TOOLBAR"
   // equ PSCTL_TRACKBAR$           to "TRACKBAR"
   equ PSCTL_TREELISTBOX$        to "TREELISTBOX"  ; // == Old Hierarchical ListBox
   // equ PSCTL_TREEVIEW$           to "TREEVIEW"
   equ PSCTL_UPDOWN$             to "UPDOWN"
   equ PSCTL_VSCROLLBAR$         to "VSCROLLBAR"
   equ PSCTL_VSPLITBAR$ 	      to "VSPLITBAR"
   equ PSCTL_WINCONTROL$         to "WINCONTROL"
   equ PSCTL_WINDOW$             to "WINDOW"
   
   // Deprecated controls
   equ PSCTL_PUSHBMP$            to "PUSHBMP"
   equ PSCTL_CHECKBMP$           to "CHECKBMP"
   
   // Deleted controls
   equ PSCTL_ICON$               to "ICON"
   equ PSCTL_RTFBOX$             to "RTFBOX"
   
   // Non - HWND based types
   equ PSCTL_REBARBAND$          to "REBARBAND"
   equ PSCTL_REBARBANDS$         to "REBARBANDS"
   
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   // Presentation Server Events

   equ PSEVENT_ACTIVATED$        to "ACTIVATED"
   equ PSEVENT_ARRANGEICONS$     to "ARRANGEICONS"
   equ PSEVENT_BUTTONDOWN$       to "BUTTONDOWN"
   equ PSEVENT_BUTTONUP$         to "BUTTONUP"
   equ PSEVENT_CASCADE$          to "CASCADE"
   equ PSEVENT_CHANGED$          to "CHANGED"
   equ PSEVENT_CHAR$             to "CHAR"
   equ PSEVENT_CLICK$            to "CLICK"
   equ PSEVENT_CLOSE$            to "CLOSE"
   equ PSEVENT_COLRESIZE$        to "COLSIZE"
   equ PSEVENT_CREATE$           to "CREATE"
   equ PSEVENT_DBLCLK$           to "DBLCLK"
   equ PSEVENT_DELETEROW$        to "DELETEROW"
   equ PSEVENT_DDEADVISE$        to "DDEADVISE"
   equ PSEVENT_DDEERROR$         to "DDEERROR"
   equ PSEVENT_DRAGDROP$         to "DRAGDROP"
   equ PSEVENT_DRAGEND$          to "DRAGEND"
   equ PSEVENT_DRAGOVER$         to "DRAGOVER"
   equ PSEVENT_DRAGSTART$        to "DRAGSTART"
   equ PSEVENT_DROPDOWN$         to "DROPDOWN"
   equ PSEVENT_DROPFILES$        to "DROPFILES"
   equ PSEVENT_GETFOCUS$         to "GOTFOCUS"
   equ PSEVENT_HSCROLL$          to "HSCROLL"
   equ PSEVENT_INACTIVATED$      to "INACTIVATED"
   equ PSEVENT_INSERTROW$        to "INSERTROW"
   equ PSEVENT_LOSEFOCUS$        to "LOSTFOCUS"
   equ PSEVENT_MENU$             to "MENU"
   equ PSEVENT_OLE$              to "OLE"
   equ PSEVENT_POSCHANGED$       to "POSCHANGED"
   equ PSEVENT_RESIZE$           to "RESIZE"
   equ PSEVENT_SIZE$             to "SIZE"
   equ PSEVENT_WINMSG$           to "WINMSG"
   equ PSEVENT_VSCROLL$          to "VSCROLL"
   
///////////////////////////////////////////////////////////////////////////////

   // "Synthetic" events - these are not recognised by the PS
   
   equ PSEVENT_READ$             to "READ"
   equ PSEVENT_WRITE$            to "WRITE"
   equ PSEVENT_CLEAR$            to "CLEAR"
   equ PSEVENT_DELETE$           to "DELETE"
   equ PSEVENT_CALCULATE$        to "CALCULATE"
   equ PSEVENT_HELP$             to "HELP"
   equ PSEVENT_OPTIONS$          to "OPTIONS"
   equ PSEVENT_NOTES$            to "NOTES"
   equ PSEVENT_OMNIEVENT$        to "OMNIEVENT"
   equ PSEVENT_IXLOOKUP$         to "IXLOOKUP"
   
   equ PSEVENT_QBFINIT$          to "QBFINIT"
   equ PSEVENT_QBFRUN$           to "QBFRUN"
   equ PSEVENT_QBFFIRST$         to "QBFFIRST"
   equ PSEVENT_QBFLAST$          to "QBFLAST"
   equ PSEVENT_QBFNEXT$          to "QBFNEXT"
   equ PSEVENT_QBFPREV$          to "QBFPREV"
   equ PSEVENT_QBFGOTO$          to "QBFGOTO"
   equ PSEVENT_QBFABS$           to "QBFABS"
   equ PSEVENT_QBFCLOSE$         to "QBFCLOSE"

   // error processing
   equ PSEVENT_VALIDERR$         to "VALIDERR"   ; // special case of SYSMSG VALIDERR
   equ PSEVENT_REQUIRERR$        to "REQUIRERR"  ; // special case of SYSMSG REQUIREERR
   equ PSEVENT_SYSMSG$           to "SYSMSG"

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   // Presentation Server Control Attribute Positions

   equ PSPOS_NAME$               to 1
   equ PSPOS_CLASS$              to 2
   equ PSPOS_TYPE$               to 3  ; // <type>.<subtype>
   equ PSPOS_PARENT$             to 4
   equ PSPOS_X$                  to 5
   equ PSPOS_Y$                  to 6  ; // pageNo:yPos
   equ PSPOS_WIDE$               to 7
   equ PSPOS_HIGH$               to 8
   equ PSPOS_TEXT$               to 9
   equ PSPOS_ENABLED$            to 10
   equ PSPOS_VISIBLE$            to 11
   equ PSPOS_SDKSTYLE$           to 12 ; // <0,0,1> Style; <0,0,2> ExStyle
   equ PSPOS_PSSTYLE$            to 13 ; // <0,0,1> Style; <0,0,2> ExStyle
   equ PSPOS_TAB$                to 14
   equ PSPOS_BITMAP$             to 15 ; // <0,0,1> <=96 DPI; <0,0,2> <=120 DPI; <0,0,3> <=144 DPI; <0,0,4> >144 DPI
   equ PSPOS_IMAGE$              to PSPOS_BITMAP$ ; // Alias - trying to get away from the word "bitmap"!
   equ PSPOS_ICON$               to 16 
   equ PSPOS_BKCOLOR$            to 17 ; // <0,0,1> ColorFrom; <0,0,2> ColorTo; <0,0,3> GradientStyle
   equ PSPOS_FORECOLOR$          to 18
   equ PSPOS_LOGFONT$            to 19
   equ PSPOS_MISC$               to 20
   equ PSPOS_EVENTS$             to 21 
   equ PSPOS_REPOSTYPE$          to 22
   equ PSPOS_LIST$               to 23 
   equ PSPOS_VALUE$              to 24 
   equ PSPOS_SCROLLRANGE$        to 25 ; * <0,0,1> Vert; <0,0,2>; Horz ( each subvalue is a DWORD, LOWORD is minVal, HIWORD is maxVal )
   equ PSPOS_SCROLLCHANGE$       to 26 ; * <0,0,1> Vert; <0,0,2>; Horz
   equ PSPOS_CHARCOUNT$          to 27
   equ PSPOS_NUMCOLS$            to 28
   equ PSPOS_ROWLIMIT$           to 29 ; // Actually an @svm'd structure for edit tables...
   equ PSPOS_COLSTYLES$          to 30
   equ PSPOS_COLWIDE$            to 31
   equ PSPOS_LABEL$              to 32
   equ PSPOS_SPOT_X$             to 33 ; // This is Text origin X
   equ PSPOS_SPOT_Y$             to 34 ; // This is Text origin Y
   equ PSPOS_TYPESPECIFIC$       to 35 ; // Type-specific values - Depends on object type
   equ PSPOS_GLYPH$              to 36 ; // <0,0,1> <=96 DPI; <0,0,2> <=120 DPI; <0,0,3> <=144 DPI; <0,0,4> >144 DPI
   equ PSPOS_GLYPHPROPERTIES$    to 37 ; // <0,0,1> ColorKey; <0,0,2> ImageStyle; <0,0,3> ImageOffset; <0,0,4> ImageOrigin; <0,0,5> Alpha value; <0,0,6> ImageCount; <0,0,7> ImageNumber; <0,0,8> ImageAlign; <0,0,9> ImageFrameNumber; <0,0,10>, NoAutoScale
   equ PSPOS_IMAGEPROPERTIES$    to 38 ; // <0,0,1> ColorKey; <0,0,2> ImageStyle; <0,0,3> ImageOffset; <0,0,4> ImageOrigin; <0,0,5> Alpha value; <0,0,6> ImageCount; <0,0,7> ImageNumber; <0,0,8> ImageAlign; <0,0,9> ImageFrameNumber; <0,0,10>, NoAutoScale
   equ PSPOS_SIZING$             to 39 ; // <0,0,1> TrackingSize
   equ PSPOS_DISPLAY$            to 40 ; // <0,0,1> Alpha Value; <0,0,2> Unused; <0,0,3> Unused; <0,0,4> Create Position; <0,0,5> ShowEffect; <0,0,6> Hide Effect; <0,0,7> MaximizeSize; <0,0,8> MinScaleFactor; <0,0,9> MaxScaleFactor; <0,0,10> ScaleIncrement; 
   equ PSPOS_DDEMODE$            to 41 
   equ PSPOS_DDEITEM$            to 42
   equ PSPOS_DDETOPIC$           to 43
   equ PSPOS_DDESERVER$          to 44
   equ PSPOS_DDETIMETOUT$        to 45
   equ PSPOS_TOOLTIP$            to 46
   
   // Generic placeholders - polymorphic for different types
   equ PSPOS_TEXT_1$             to 47 ; // Generic property
   equ PSPOS_TEXT_2$             to 48 ; // Generic property
   equ PSPOS_TEXT_3$             to 49 ; // Generic property
   equ PSPOS_TEXT_4$             to 50 ; // Generic property
   
   equ PSPOS_COLOR_1$            to 51 ; // <0,0,1> ColorFrom; <0,0,2> ColorTo; <0,0,3> GradientStyle
   equ PSPOS_COLOR_2$            to 52 ; // <0,0,1> ColorFrom; <0,0,2> ColorTo; <0,0,3> GradientStyle
   equ PSPOS_COLOR_3$            to 53 ; // <0,0,1> ColorFrom; <0,0,2> ColorTo; <0,0,3> GradientStyle
   equ PSPOS_COLOR_4$            to 54 ; // <0,0,1> ColorFrom; <0,0,2> ColorTo; <0,0,3> GradientStyle
   
   equ PSPOS_IMGLIST_1$          to 55 ; // <0,0,1> <=96 DPI; <0,0,2> <=120 DPI; <0,0,3> <=144 DPI; <0,0,4> >144 DPI
   equ PSPOS_IMGLIST_1_PROPS$    to 56 ; // <0,0,1> ColorKey; <0,0,2> ImageCount; <0,0,3> NoAutoScale
   equ PSPOS_IMGLIST_2$          to 57 ; // <0,0,1> <=96 DPI; <0,0,2> <=120 DPI; <0,0,3> <=144 DPI; <0,0,4> >144 DPI
   equ PSPOS_IMGLIST_2_PROPS$    to 58 ; // <0,0,1> ColorKey; <0,0,2> ImageCount; <0,0,3> NoAutoScale
   equ PSPOS_IMGLIST_3$          to 59 ; // <0,0,1> <=96 DPI; <0,0,2> <=120 DPI; <0,0,3> <=144 DPI; <0,0,4> >144 DPI
   equ PSPOS_IMGLIST_3_PROPS$    to 60 ; // <0,0,1> ColorKey; <0,0,2> ImageCount; <0,0,3> NoAutoScale
   equ PSPOS_IMGLIST_4$          to 61 ; // <0,0,1> <=96 DPI; <0,0,2> <=120 DPI; <0,0,3> <=144 DPI; <0,0,4> >144 DPI
   equ PSPOS_IMGLIST_4_PROPS$    to 62 ; // <0,0,1> ColorKey; <0,0,2> ImageCount; <0,0,3> NoAutoScale
   
   equ PSPOS_LOGFONT_1$          to 63 ; // Same structure as PSPOS_LOGFONT
   equ PSPOS_LOGFONT_2$          to 64 ; // Same structure as PSPOS_LOGFONT
   
   equ PSPOS_GLYPH1$             to 65 ; // <0,0,1> <=96 DPI; <0,0,2> <=120 DPI; <0,0,3> <=144 DPI; <0,0,4> >144 DPI
   equ PSPOS_GLYPH1PROPERTIES$   to 66 ; // <0,0,1> ColorKey; <0,0,2> ImageStyle; <0,0,3> ImageOffset; <0,0,4> ImageOrigin; <0,0,5> Alpha value; <0,0,6> ImageCount; <0,0,7> ImageNumber; <0,0,8> ImageAlign; <0,0,9> ImageFrameNumber; <0,0,10>, NoAutoScale
   equ PSPOS_GLYPH2$             to 67 ; // <0,0,1> <=96 DPI; <0,0,2> <=120 DPI; <0,0,3> <=144 DPI; <0,0,4> >144 DPI
   equ PSPOS_GLYPH2PROPERTIES$   to 68 ; // <0,0,1> ColorKey; <0,0,2> ImageStyle; <0,0,3> ImageOffset; <0,0,4> ImageOrigin; <0,0,5> Alpha value; <0,0,6> ImageCount; <0,0,7> ImageNumber; <0,0,8> ImageAlign; <0,0,9> ImageFrameNumber; <0,0,10>, NoAutoScale
   
   equ PSPOS_BORDER$             to 69 ; // <0,0,1> Width; <0,0,2> Color; <0,0,3> Radius; <0,0,4> RndCnrs; <0,0,5> Edges; <0,0,6> BevelWidth; <0,0,7> BevelStyle; <0,0,8> BevelSysColor
   equ PSPOS_LAYOUT$             to 70 ; // <0,0,1> Padding
   
   equ PSPOS_COLOR_5$            to 71 ; // <0,0,1> ColorFrom; <0,0,2> ColorTo; <0,0,3> GradientStyle
   equ PSPOS_COLOR_6$            to 72 ; // <0,0,1> ColorFrom; <0,0,2> ColorTo; <0,0,3> GradientStyle
   
   equ PSPOS_CONTEXTMENU$        to 73 ; // CONTEXTMENU entity ID
   equ PSPOS_CURSOR$             to 74 ; // CURSOR property - null, cursor symbol, or .cur file
   equ PSPOS_WINMSGLIST$         to 75 ; // @svm'd list of qualified WINMSG messages to listen for <0,0,0,1> MsgNo; <0,0,0,2> Qualifier; <0,0,0,3> EventName; <0,0,0,4> SyncFlag
   
   // Even more generic placeholders - polymorphic for different types
   equ PSPOS_TEXT_5$             to 76 ; // Generic property
   equ PSPOS_TEXT_6$             to 77 ; // Generic property
   equ PSPOS_TEXT_7$             to 78 ; // Generic property
   equ PSPOS_TEXT_8$             to 79 ; // Generic property
   equ PSPOS_TEXT_9$             to 80 ; // Generic property
   equ PSPOS_TEXT_10$            to 81 ; // Generic property
   equ PSPOS_TEXT_11$            to 82 ; // Generic property
   equ PSPOS_TEXT_12$            to 83 ; // Generic property
   equ PSPOS_TEXT_13$            to 84 ; // Generic property
   equ PSPOS_TEXT_14$            to 85 ; // Generic property
   equ PSPOS_VIEWPROPERTIES$     to 86 ; // View Based properties <0,0,1> PageSwapRenderMode
   equ PSPOS_UDPNAMES$           to 87 ; // @svm'd list of custom property (UDP) names (minus the "@" prefix)
   equ PSPOS_UDPVALUES$          to 88 ; // @svm'd list of custom property (UDP) values
   equ PSPOS_DROPACCEPTLIST$     to 89 ; // @svm'd list of acceptable drag-drop data format names
   
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   // PSPOS_SIZING EQUATES  - @svm positions
   
   equ PS_SIZING_TRACKING$       to 1; // WINDOW controls only
   
   // TRACKINGSIZE positions - @tm
   //
   // <0,0,0,1> Min tracking width
   // <0,0,0,2> Min tracking height
   // <0,0,0,3> Max tracking width
   // <0,0,0,4> Max tracking height
   
   equ PS_TRACKSIZE_MINWIDTH$    to 1
   equ PS_TRACKSIZE_MINHEIGHT$   to 2
   equ PS_TRACKSIZE_MAXWIDTH$    to 3
   equ PS_TRACKSIZE_MAXHEIGHT$   to 4
   
   equ PS_TRACKSIZE_VAL_NOTSET$  to -1
   
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   // POS_DISPLAY EQUATES - @svm positions
   equ POS_DISPLAY_TRANSLUCENCY$    to 1 ; // 0-100 TRANSLUCENCY property

   // PSPOS_DISPLAY EQUATES - @svm positions
   
   equ PSPOS_DISPLAY_TRANSLUCENCY$  to 1 ; // 0-100 TRANSLUCENCY property
   
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
   
   //  PSPOS_BKCOLOR EQUATES - @svm positions
   
   equ PS_BKCOLOR_FROM$         to 1
   equ PS_BKCOLOR_TO$           to 2
   equ PS_BKCOLOR_GRADSTYLE$    to 3 ; // None, Vertical, Horizontal
   
   equ PS_GRADSTYLE_NONE$       to 0
   equ PS_GRADSTYLE_VERT$       to 1
   equ PS_GRADSTYLE_HORZ$       to 2
   equ PS_GRADSTYLE_DFLT$       to 99
   
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   // PSPOS_IMAGEPROPERTIES  equates - @svm delimited
   // PSPOS_GLYPHPROPERTIES  equates - @svm delimited
   // PSPOS_GLYPH1PROPERTIES equates - @svm delimited
   // PSPOS_GLYPH2PROPERTIES equates - @svm delimited
   
   equ PS_IMGPROP_COLORKEY$         to 1 
   equ PS_IMGPROP_STYLE$            to 2  ; // IMAGESTYLE (0-3)
   equ PS_IMGPROP_OFFSET$           to 3  ; // xy - @tm delimited
   equ PS_IMGPROP_ORIGIN$           to 4  ; // xy - @tm delimited
   equ PS_IMGPROP_TRANSLUCENCY$     to 5  ; // TRANSLUCENCY (0-100)
   equ PS_IMGPROP_COUNT$            to 6  ; // Number of images
   equ PS_IMGPROP_INDEX$            to 7  ; // Image index
   equ PS_IMGPROP_ALIGN$            to 8  ; // IMAGEALIGN (0-8)
   equ PS_IMGPROP_FRAMEINDEX$       to 9  ; // Image Frame index for GIFs etc
   equ PS_IMGPROP_NOAUTOSCALE$      to 10 ; // Inverse AUTOSCALE flag
   
   // Deprecated terms ... now synonyms
   equ PS_IMGPROP_IMAGECOUNT$       to 6  ; // Number of images (synonym)
   equ PS_IMGPROP_IMAGENUMBER$      to 7  ; // Image index (synonym)
   equ PS_IMGPROP_IMAGEFRAMENUMBER$ to 9  ; // Image Frame index for GIFs etc (synonym)
   
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   // IMAGELIST properties equates - @svm delimited
   
   equ PS_ILPROP_COLORKEY$    to 1 
   equ PS_ILPROP_IMAGECOUNT$  to 2 ; // Number of images
   equ PS_ILPROP_NOAUTOSCALE$ to 3 ; // Inverse AUTOSCALE property flag
   
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   // Internal VSM style bits 
   
   // Flags for non "clipped" styling
   equ VSM_IS_CLIP$             to 0x00000000
   equ VSM_IS_TILE$             to 0x00000010
   equ VSM_IS_STRETCH$          to 0x00000020
   equ VSM_IS_SCALED$           to 0x00000040

   //  V and H alignments for "clipped" styling
   equ VSM_IS_ALIGN_VTOP$       to 0x00000000
   equ VSM_IS_ALIGN_VCENTER$    to 0x00000100
   equ VSM_IS_ALIGN_VBOTTOM$    to 0x00000200
   equ VSM_IS_ALIGN_HLEFT$      to 0x00000000
   equ VSM_IS_ALIGN_HCENTER$    to 0x00000400
   equ VSM_IS_ALIGN_HRIGHT$     to 0x00000800

   equ VSM_IS_NON_CLIPPED_MASK$ to 0x000000F0
   equ VSM_IS_ALIGN_MASK$       to 0x00000F00 
   
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   // TRANSPARENTCOLOR/COLORKEY property equates
   equ PS_TC_TOPLEFT$           to -1
   equ PS_TC_TOPRIGHT$          to -2
   equ PS_TC_BOTTOMLEFT$        to -3
   equ PS_TC_BOTTOMRIGHT$       to -4
   equ PS_TC_NOTSET$            to -5 ; // Opaque or use alpha channel

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   // IMAGE STYLE property equates
   equ PS_IS_CLIP$              to 0
   equ PS_IS_TILE$              to 1
   equ PS_IS_STRETCH$           to 2
   equ PS_IS_SCALE$             to 3
   
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   // IMAGE RESIZEMODE property equates
   equ PS_IRM_DEFAULT$          to 0
   equ PS_IRM_ENHANCED$         to 1
   
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   // IMAGE ALIGN property equates
   equ PS_IA_TOPLEFT$            to 0
   equ PS_IA_TOPCENTER$          to 1
   equ PS_IA_TOPRIGHT$           to 2
   equ PS_IA_CENTERLEFT$         to 3
   equ PS_IA_CENTERED$           to 4
   equ PS_IA_CENTERRIGHT$        to 5
   equ PS_IA_BOTTOMLEFT$         to 6
   equ PS_IA_BOTTOMCENTER$       to 7
   equ PS_IA_BOTTOMRIGHT$        to 8
   
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   // PSPOS_BORDER$ equates @svm delimited
   equ PS_BORDER_WIDTH$          to 1
   equ PS_BORDER_COLOR$          to 2
   equ PS_BORDER_RADIUS$         to 3
   equ PS_BORDER_RND_CORNERS$    to 4 ; // @tm'd BOOL flags (TL,TR,BR,BL)
   equ PS_BORDER_EDGES$          to 5 ; // @tm'd BOOL flags (L,T,R,B)
   equ PS_BORDER_BEVEL_WIDTH$    to 6
   equ PS_BORDER_BEVEL_STYLE$    to 7
   equ PS_BORDER_BEVEL_SYSCLR$   to 8

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
      
   // PSPOS_LAYOUT$ equates - @svm delimited
   equ PS_LAYOUT_PADDING$        to 1
   
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   // BEVELSTYLE property equates
   equ PS_BVS_NONE$              to 0
   equ PS_BVS_SUNKEN$            to 1
   equ PS_BVS_RAISED$            to 2
   equ PS_BVS_ETCHED$            to 3
   equ PS_BVS_RIDGED$            to 4
   
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   // EDGESTYLE property equates
   equ PS_EGS_NONE$              to 0
   equ PS_EGS_SINGLE$            to 1   ; // WS_EX_STATICEDGE$
   equ PS_EGS_SUNKEN$            to 2   ; // WS_EX_CLIENTEDGE$
   
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   // TEXTALIGN property equates - same as IMAGEALIGNMENT actually.
   // Note that not all controls support all these flags - e.g. Editline 
   // controls only support horizontal alignment, while Buttons support 
   // horizontal and vertical
   
   equ PS_TA_TOPLEFT$            to 0 ; // "TL" or "L"
   equ PS_TA_TOPCENTER$          to 1 ; // "TC" or "C"
   equ PS_TA_TOPRIGHT$           to 2 ; // "TR" or "R"
   equ PS_TA_CENTERLEFT$         to 3 ; // "CL"
   equ PS_TA_CENTERED$           to 4 ; // "CC"
   equ PS_TA_CENTERRIGHT$        to 5 ; // "CR"
   equ PS_TA_BOTTOMLEFT$         to 6 ; // "BL"
   equ PS_TA_BOTTOMCENTER$       to 7 ; // "BC"
   equ PS_TA_BOTTOMRIGHT$        to 8 ; // "BR"
   
   
   // Horizontal TEXTALIGN equates - note these map onto the first three 
   // values of the standard TEXTALIGN property
   equ PS_HTA_LEFT$              to 0 ; // "L"
   equ PS_HTA_CENTER$            to 1 ; // "C"
   equ PS_HTA_RIGHT$             to 2 ; // "R"
   
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   // SCROLLBARS property equates
   equ PS_SB_NONE$               to 0
   equ PS_SB_HORIZONTAL$         to 1   ; // WS_HSCROLL$
   equ PS_SB_VERTICAL$           to 2   ; // WS_VSCROLL$
   equ PS_SB_BOTH$               to 3   ; // ( WS_HSCROLL$ | WS_VSCROLL$ )
   
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   // GETPARENTFORM method equates
   equ PS_GPF_DIRECT$             to 0 ; // Return first parent form - includes WS_CHILD forms
   equ PS_GPF_NOCHILD$            to 1 ; // Return first non-child form
   equ PS_GPF_TOPLEVEL$           to 2 ; // Return root (top-level) form.
   
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   // EDITSTATEFLAGS equates
   //
   // <1> Can Undo
   // <2> Can Redo
   // <3> Can Cut
   // <4> Can Copy
   // <5> Can Paste
   // <6> Can SelectAll
   
   equ PS_ESF_CANUNDO$            to 1
   equ PS_ESF_CANREDO$            to 2
   equ PS_ESF_CANCUT$             to 3
   equ PS_ESF_CANCOPY$            to 4
   equ PS_ESF_CANPASTE$           to 5
   equ PS_ESF_CANSELECTALL$       to 6
   
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   // PAGENUMBER equates
   equ PS_PGN_ALLPAGES$           to 0
   equ PS_PGN_REMOVE$             to -1 ; * // Remove from paging entirely
   
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   // BUTTONDOWN/BUTTONUP event
   equ MBUTTON_LEFT$              to 0
   equ MBUTTON_RIGHT$             to 1
   equ MBUTTON_CENTER$            to 2
   
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   // MOUSEMOVE event
   equ MMEVENT_ENTER$             to "ENTER"
   equ MMEVENT_MOVE$              to "MOVE"
   equ MMEVENT_HOVER$             to "HOVER"
   equ MMEVENT_LEAVE$             to "LEAVE"
   
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   // SCALEUINTS property equates
   equ PS_SCU_DIPS$                      to 0
   equ PS_SCU_PIXELS$                    to 1

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   // SCALEMETRICS equates
   //
   // <1> DPI X
   // <2> DPI Y
   // <3> ScaleFactor
   // <4> ScaleUnits
   
   equ PS_SCM_DPIX$               to 1
   equ PS_SCM_DPIY$               to 2
   equ PS_SCM_SCALEFACTOR$        to 3
   equ PS_SCM_SCALEUNITS$         to 4
 
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

   // SETHBITMAP method
   //
   // Options
   
   equ PS_SBM_OPT_USEALPHA$         to 0
   equ PS_SBM_OPT_USEPREMULALPHA$   to 1
   equ PS_SBM_OPT_IGNOREALPHA$      to 2

///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
#endif
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////

