GUI Fixes
[tpg/acess2.git] / Usermode / Applications / axwin2_src / WM / wm.h
index 8e6efa4..0f5edf2 100644 (file)
@@ -13,12 +13,17 @@ typedef struct sElement
        
        short   PaddingL, PaddingR;
        short   PaddingT, PaddingB;
-       short   MinWidth, MinHeight;
        short   GapSize;
        
-       short   Size;   // Size attribute
+       short   FixedWith;      // Fixed Long Size attribute (height)
+       short   FixedCross;     // Fixed Cross Size attribute (width)
        
        char    *Text;
+       
+       // -- Attributes maitained by the element code
+       // Not touched by the user
+       short   MinWith;        // Minimum long size
+       short   MinCross;       // Minimum cross size
        void    *Data;
        
        uint32_t        Flags;
@@ -26,6 +31,8 @@ typedef struct sElement
        // -- Render Cache
        short   CachedX, CachedY;
        short   CachedW, CachedH;
+       
+       char    DebugName[];
 }      tElement;
 
 typedef struct sTab
@@ -93,16 +100,23 @@ enum eElementFlags
         * its parent) as is needed to encase the contents of the element.
         * Otherwise, the element will expand to fill all avaliable space.
         */
-       ELEFLAG_NOEXPAND    = 0x040,    //      ELEFLAG_EXPAND      = 0x000
+       ELEFLAG_NOEXPAND    = 0x040,
+       
+       /**
+        * \brief With (length) size action
+        * If this flag is set, the element will only be as large as
+        * is required
+        */
+       ELEFLAG_NOSTRETCH   = 0x080,
        
        /**
         * \brief Center alignment
         */
-       ELEFLAG_ALIGN_CENTER= 0x080,
+       ELEFLAG_ALIGN_CENTER= 0x100,
        /**
         * \brief Right/Bottom alignment
         */
-       ELEFLAG_ALIGN_END = 0x100
+       ELEFLAG_ALIGN_END = 0x200
 };
 
 /**
@@ -128,7 +142,7 @@ enum eElementTypes
 /**
  * \brief Create a new element as a child of \a Parent
  */
-extern tElement        *WM_CreateElement(tElement *Parent, int Type, int Flags);
+extern tElement        *WM_CreateElement(tElement *Parent, int Type, int Flags, const char *DebugName);
 extern void    WM_SetFlags(tElement *Element, int Flags);
 extern void    WM_SetSize(tElement *Element, int Size);
 extern void    WM_SetText(tElement *Element, char *Text);

UCC git Repository :: git.ucc.asn.au