Instead of "eax" and "edx" in asm constraints use "a" and "d"
[tangerine.git] / rom / intuition / setattrsa.c
blobcdc56fb181e9465d8f3d7549a555f1b7ad69082b
1 /*
2 Copyright © 1995-2003, The AROS Development Team. All rights reserved.
3 Copyright © 2001-2003, The MorphOS Development Team. All Rights Reserved.
4 $Id$
5 */
7 #include <proto/alib.h>
8 #include <proto/utility.h>
9 #include "intuition_intern.h"
11 /*****************************************************************************
13 NAME */
14 #include <intuition/classusr.h>
15 #include <proto/intuition.h>
17 AROS_LH2(ULONG, SetAttrsA,
19 /* SYNOPSIS */
20 AROS_LHA(APTR , object, A0),
21 AROS_LHA(struct TagItem *, tagList, A1),
23 /* LOCATION */
24 struct IntuitionBase *, IntuitionBase, 108, Intuition)
26 /* FUNCTION
27 Changes several attributes of an object at the same time. How the
28 object interprets the new attributes depends on the class.
30 INPUTS
31 object - Change the attributes of this object
32 tagList - This is a list of attribute/value-pairs
34 RESULT
35 Depends in the class. For gadgets, this value is non-zero if
36 they need redrawing after the values have changed. Other classes
37 will define other return values.
39 NOTES
40 This function sends OM_SET to the object.
42 EXAMPLE
44 BUGS
46 SEE ALSO
47 NewObject(), DisposeObject(), GetAttr(), MakeClass(),
48 "Basic Object-Oriented Programming System for Intuition" and
49 "boopsi Class Reference" Dokument.
51 INTERNALS
53 *****************************************************************************/
55 AROS_LIBFUNC_INIT
56 AROS_LIBBASE_EXT_DECL(struct IntuitionBase *,IntuitionBase)
58 struct opSet ops;
59 ULONG result;
61 DEBUG_SETATTRS(dprintf("SetAttrs[%x]: Object 0x%lx Tags 0x%lx\n",
62 &ops, object, tagList));
64 SANITY_CHECKR(object,FALSE)
65 SANITY_CHECKR(tagList,FALSE)
67 #if 0
68 if (tagList)
70 struct TagItem *state = tagList;
71 struct TagItem *tag;
73 while (tag = NextTagItem(&state))
75 dprintf("\t%08lx %08lx\n", tag->ti_Tag, tag->ti_Data);
78 #endif
80 ops.MethodID = OM_SET;
81 ops.ops_AttrList = tagList;
82 ops.ops_GInfo = NULL;
84 result = DoMethodA (object, (Msg)&ops);
86 DEBUG_SETATTRS(dprintf("SetAttrs[%x]: Return 0x%lx\n", &ops, result));
88 return result;
90 AROS_LIBFUNC_EXIT
91 } /* SetAttrsA() */