compile insert ps_Menu_Equates /* ** Copyright (C) 2020 Revelation Software Inc. All Rights Reserved ** Author : Wile C Coyote - Super Genius Date : Sept 2020 Purpose : Constants for working with PS MENU object structures Comments ======== Menu position equates can be found in OIWIN_EQUATES - we'll keep them there for backwards compatibility with existing code - this insert serves to document the PS MENU structure. Amended Date Reason ======= ==== ====== */ /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// #ifndef _PS_MENU_EQUATES_ #define _PS_MENU_EQUATES_ /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// $insert oiwin_Equates /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // PS Menus are structured as follows: // // <0,1> Menu Name // <0,2> Menu class - context menus set this to "FLOATING", otherwise null. // <0,3> Menu Type - always "MENU" // <0,4> Parent Object // // After which each _value_ represents an @svm delimited item structure: // // <0,0,1> Type "P"opup, "S"eparator, "I"tem // <0,0,2> End (T/F) // <0,0,3> ID // <0,0,4> Text // <0,0,5> Grey (T/F) // <0,0,6> Check (T/F) // <0,0,7> Hidden (T/F) // <0,0,8> Accelerator // <0,0,9> HelpText // <0,0,10> EventHandler <-- Currently unused. // <0,0,11> Style // <0,0,12> ImageName <-- @tm delimited DPI list // <0,0,13> ImageColorKey // <0,0,14> ImageListNumber // <0,0,15> ImageAutoScale (T/F) // <0,0,16> ImageFrameIndex // <0,0,17> ImageOffset <- @tm'd (x,y) // <0,0,18> ImageOrigin <- @tm'd (x,y) // <0,0,19> ImageTranslucency (0-100) // <0,0,20> Misc // // Still, we need to expand this somewhat - we need to add space to specify // an ImageList file for a start, or series of them, so we need a way to // identify a v10 expanded structure. // // Well, if the first char of an item is an "@" then we assume that we're // still processing the header and _not_ the items. This allows us to specify // an ImageList DPI list for a start like so: // // <0,1> Menu Name // <0,2> Menu class - context menus set this to "FLOATING" // <0,3> Menu Type - always "MENU" // <0,4> Parent Object // <0,5> @.\bmps\stdmenu_96dpi.png<@svm>.\bmps\stdmenu_120dpi.png<@svm> ...etc .. // <0,6> @<@svm>ImageCount> // // ... and then have each value after this contain an item. /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// #endif _PS_MENU_EQUATES_ /////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////