home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 13 / AACD13.ISO / AACD / Programming / MR_Classes / Dev / Source / palette / Copy_of_GlueCode.c4 < prev    next >
Encoding:
Text File  |  2000-07-16  |  3.0 KB  |  120 lines

  1. #include "ui.h"
  2. #include "apptags.h"
  3.  
  4. #include <tagitemmacros.h>
  5. #include <debug.h>
  6.  
  7. #include <graphics/text.h>
  8.  
  9. struct TextAttr Topaz8={"topaz.font",8,0,0};
  10.  
  11. ULONG __asm __saveds GM_Set(register __a0 struct smGlueData     *GD, 
  12.                             register __a1 struct TagItem        *TagList, 
  13.                             register __a2 struct GadData        *gdata)
  14. {
  15.   struct opUpdate *u;
  16.   ULONG id,retval=0;
  17.   struct TagItem *tstate,*tag, *mytags;
  18.   static ULONG  CopyMode, SpreadMode, SwapMode, Undo; 
  19.   
  20.   u=(APTR)Set;
  21.   
  22.   id=GetTagData(GA_ID, 0, Set->ops_AttrList);
  23.   
  24. //      kprintf("id=%ld\n",id);
  25.   
  26.   if(mytags=SMTAG_AllocTags(10))
  27.   {
  28.     ProcessTagList(TagList,tag,tstate)
  29.     {
  30.       ULONG t,d;
  31.       
  32.       t=tag->ti_Tag;
  33.       d=tag->ti_Data;
  34.       
  35.       switch(t)
  36.       {
  37. //        case APP_Red:
  38. //        case APP_Green:
  39. //        case APP_Blue:
  40. //          GetAttrs(gdata->
  41.         
  42.         case APP_EditMode:
  43.           if(CopyMode!=(d == TCPEM_COPY))
  44.           {
  45.             CopyMode=(d == TCPEM_COPY);
  46.             SMTAG_AddTag(mytags,APP_CopyMode,CopyMode);
  47.           }
  48.           
  49.           if(SwapMode!=(d == TCPEM_SWAP))
  50.           {
  51.             SwapMode=(d == TCPEM_SWAP);
  52.             SMTAG_AddTag(mytags,APP_SwapMode,SwapMode);
  53.           }
  54.           
  55.           if(SpreadMode!=(d == TCPEM_SPREAD))
  56.           {
  57.             SpreadMode=(d == TCPEM_SPREAD);
  58.             SMTAG_AddTag(mytags,APP_SpreadMode,SpreadMode);
  59.           }
  60.           
  61.           break;          
  62.           
  63.         case APP_CopyMode:
  64.           if(d)
  65.           {
  66.             SMTAG_AddTag(mytags,APP_EditMode, TCPEM_COPY);
  67.             SMTAG_AddTag(mytags,APP_SwapMode,0);
  68.             SMTAG_AddTag(mytags,APP_SpreadMode,0);
  69.           }
  70.           else
  71.           {
  72.             SMTAG_AddTag(mytags,APP_EditMode, 0);
  73.             SMTAG_AddTag(mytags,APP_CopyMode,0);
  74.             SMTAG_AddTag(mytags,APP_SwapMode,0);
  75.             SMTAG_AddTag(mytags,APP_SpreadMode,0);
  76.           }
  77.           break;
  78.  
  79.  
  80.         case APP_SwapMode:
  81.           if(d)
  82.           {
  83.             SMTAG_AddTag(mytags,APP_EditMode, TCPEM_SWAP);
  84.             SMTAG_AddTag(mytags,APP_CopyMode,0);
  85.             SMTAG_AddTag(mytags,APP_SpreadMode,0);
  86.           }
  87.           else
  88.           {
  89.             SMTAG_AddTag(mytags,APP_EditMode, 0);
  90.             SMTAG_AddTag(mytags,APP_CopyMode,0);
  91.             SMTAG_AddTag(mytags,APP_SwapMode,0);
  92.             SMTAG_AddTag(mytags,APP_SpreadMode,0);
  93.           }
  94.           break;
  95.  
  96.  
  97.         case APP_SpreadMode:
  98.           if(d)
  99.           {
  100.             SMTAG_AddTag(mytags,APP_EditMode, TCPEM_SPREAD);
  101.             SMTAG_AddTag(mytags,APP_CopyMode,0);
  102.             SMTAG_AddTag(mytags,APP_SwapMode,0);
  103.           }
  104.           else
  105.           {
  106.             SMTAG_AddTag(mytags,APP_EditMode, 0);
  107.             SMTAG_AddTag(mytags,APP_CopyMode,0);
  108.             SMTAG_AddTag(mytags,APP_SwapMode,0);
  109.             SMTAG_AddTag(mytags,APP_SpreadMode,0);
  110.           }
  111.           break;
  112.       }
  113.     }
  114. //    SMTAG_TagMore(mytags, Set->ops_AttrList);
  115.     retval=SM_SendGlueAttrsA(GD, TagList);
  116. //    SMTAG_FreeTags(mytags);
  117.   }
  118.   return(retval);
  119. }
  120.