home *** CD-ROM | disk | FTP | other *** search
/ The CDPD Public Domain Collection for CDTV 3 / CDPDIII.bin / pd / programming / utils / dialoglib / gtsup.c < prev    next >
C/C++ Source or Header  |  1993-03-06  |  1KB  |  64 lines

  1. #include <proto/gadtools.h>
  2. #include "dialog.h"
  3. #include "gtsup.h"
  4.  
  5. VOID setGTAttrs( DialogElement *de, SetAttrsMessage *sam )
  6. {
  7.     GT_SetGadgetAttrsA( de->object, sam->sam_Window, sam->sam_Requester, de->taglist );
  8. }
  9.  
  10. ULONG getTextPlacement( ULONG flags, ULONG def_place )
  11. {
  12.     ULONG place;
  13.  
  14.     flags &= PLACETEXT_MASK;
  15.     switch( flags )
  16.     {
  17.     case PLACETEXT_IN:
  18.     case PLACETEXT_LEFT:
  19.     case PLACETEXT_RIGHT:
  20.     case PLACETEXT_ABOVE:
  21.     case PLACETEXT_BELOW:
  22.         place = flags;
  23.         break;
  24.     default:
  25.         place = def_place;
  26.         break;
  27.     }
  28.     return place;
  29. }
  30.  
  31. VOID layoutGTSingleLined( struct NewGadget *ng, LayoutMessage *lm, ULONG defplace )
  32. {
  33.     ng->ng_LeftEdge = lm->lm_X;
  34.     ng->ng_TopEdge = lm->lm_Y;
  35.     switch( getTextPlacement( ng->ng_Flags, defplace ) )
  36.     {
  37.     case PLACETEXT_LEFT:
  38.         ng->ng_TopEdge -= lm->lm_Top;
  39.         ng->ng_Width = lm->lm_Right;
  40.         ng->ng_Height = lm->lm_Top + lm->lm_Bottom;
  41.         break;
  42.     case PLACETEXT_RIGHT:
  43.         ng->ng_LeftEdge -= lm->lm_Left;
  44.         ng->ng_TopEdge -= lm->lm_Top;
  45.         ng->ng_Width = lm->lm_Left;
  46.         ng->ng_Height = lm->lm_Top + lm->lm_Bottom;
  47.         break;
  48.     case PLACETEXT_ABOVE:
  49.         ng->ng_Width = lm->lm_Width;
  50.         ng->ng_Height = lm->lm_Bottom;
  51.         break;
  52.     case PLACETEXT_BELOW:
  53.         ng->ng_TopEdge -= lm->lm_Top;
  54.         ng->ng_Width = lm->lm_Width;
  55.         ng->ng_Height = lm->lm_Top;
  56.         break;
  57.     case PLACETEXT_IN:
  58.         ng->ng_TopEdge -= lm->lm_Top;
  59.         ng->ng_Width = lm->lm_Width;
  60.         ng->ng_Height = lm->lm_Top + lm->lm_Bottom;
  61.         break;
  62.     }
  63. }
  64.