home *** CD-ROM | disk | FTP | other *** search
- #include "ui.h"
- #include "apptags.h"
-
- #include <tagitemmacros.h>
- #include <debug.h>
-
- #include <graphics/text.h>
-
- struct TextAttr Topaz8={"topaz.font",8,0,0};
-
- ULONG __asm __saveds GM_Set(register __a0 struct smGlueData *GD,
- register __a1 struct TagItem *TagList,
- register __a2 struct GadData *gdata)
- {
- struct opUpdate *u;
- ULONG id,retval=0;
- struct TagItem *tstate,*tag, *mytags;
- static ULONG CopyMode, SpreadMode, SwapMode, Undo;
-
- u=(APTR)Set;
-
- id=GetTagData(GA_ID, 0, Set->ops_AttrList);
-
- // kprintf("id=%ld\n",id);
-
- if(mytags=SMTAG_AllocTags(10))
- {
- ProcessTagList(TagList,tag,tstate)
- {
- ULONG t,d;
-
- t=tag->ti_Tag;
- d=tag->ti_Data;
-
- switch(t)
- {
- // case APP_Red:
- // case APP_Green:
- // case APP_Blue:
- // GetAttrs(gdata->
-
- case APP_EditMode:
- if(CopyMode!=(d == TCPEM_COPY))
- {
- CopyMode=(d == TCPEM_COPY);
- SMTAG_AddTag(mytags,APP_CopyMode,CopyMode);
- }
-
- if(SwapMode!=(d == TCPEM_SWAP))
- {
- SwapMode=(d == TCPEM_SWAP);
- SMTAG_AddTag(mytags,APP_SwapMode,SwapMode);
- }
-
- if(SpreadMode!=(d == TCPEM_SPREAD))
- {
- SpreadMode=(d == TCPEM_SPREAD);
- SMTAG_AddTag(mytags,APP_SpreadMode,SpreadMode);
- }
-
- break;
-
- case APP_CopyMode:
- if(d)
- {
- SMTAG_AddTag(mytags,APP_EditMode, TCPEM_COPY);
- SMTAG_AddTag(mytags,APP_SwapMode,0);
- SMTAG_AddTag(mytags,APP_SpreadMode,0);
- }
- else
- {
- SMTAG_AddTag(mytags,APP_EditMode, 0);
- SMTAG_AddTag(mytags,APP_CopyMode,0);
- SMTAG_AddTag(mytags,APP_SwapMode,0);
- SMTAG_AddTag(mytags,APP_SpreadMode,0);
- }
- break;
-
-
- case APP_SwapMode:
- if(d)
- {
- SMTAG_AddTag(mytags,APP_EditMode, TCPEM_SWAP);
- SMTAG_AddTag(mytags,APP_CopyMode,0);
- SMTAG_AddTag(mytags,APP_SpreadMode,0);
- }
- else
- {
- SMTAG_AddTag(mytags,APP_EditMode, 0);
- SMTAG_AddTag(mytags,APP_CopyMode,0);
- SMTAG_AddTag(mytags,APP_SwapMode,0);
- SMTAG_AddTag(mytags,APP_SpreadMode,0);
- }
- break;
-
-
- case APP_SpreadMode:
- if(d)
- {
- SMTAG_AddTag(mytags,APP_EditMode, TCPEM_SPREAD);
- SMTAG_AddTag(mytags,APP_CopyMode,0);
- SMTAG_AddTag(mytags,APP_SwapMode,0);
- }
- else
- {
- SMTAG_AddTag(mytags,APP_EditMode, 0);
- SMTAG_AddTag(mytags,APP_CopyMode,0);
- SMTAG_AddTag(mytags,APP_SwapMode,0);
- SMTAG_AddTag(mytags,APP_SpreadMode,0);
- }
- break;
- }
- }
- // SMTAG_TagMore(mytags, Set->ops_AttrList);
- retval=SM_SendGlueAttrsA(GD, TagList);
- // SMTAG_FreeTags(mytags);
- }
- return(retval);
- }
-