add idnestcnt and tdnestcnt overrides. use atomic operations when appropriate
[AROS.git] / compiler / alib / setattrs.c
blob12e980c3ee6db406fec0fee256e9a6564d368cb2
1 /*
2 Copyright © 1995-2013, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: Change the attributes of a BOOPSI object
6 Lang: english
7 */
9 #define AROS_TAGRETURNTYPE IPTR
11 #include <intuition/classes.h>
12 #include <intuition/intuitionbase.h>
13 #include "alib_intern.h"
15 extern struct IntuitionBase * IntuitionBase;
17 /*****************************************************************************
19 NAME */
20 #include <intuition/classusr.h>
21 #define NO_INLINE_STDARG /* turn off inline def */
22 #include <proto/intuition.h>
24 IPTR SetAttrs (
26 /* SYNOPSIS */
27 APTR object,
28 Tag tag1,
29 ...)
31 /* FUNCTION
32 Changes several attributes of an object at the same time. How the
33 object interprets the new attributes depends on the class.
35 INPUTS
36 object - Change the attributes of this object
37 tag1 - The first of a list of attribute/value-pairs. The last
38 attribute in this list must be TAG_END or TAG_DONE.
39 The value for this last attribute is not examined (ie.
40 you need not specify it).
42 RESULT
43 Depends on the class. For gadgets, this value is non-zero if
44 they need redrawing after the values have changed. Other classes
45 will define other return values.
47 NOTES
48 This function sends OM_SET to the object.
50 EXAMPLE
52 BUGS
54 SEE ALSO
55 intuition.library/NewObjectA(), intuition.library/DisposeObject(),
56 intuition.library/GetAttr(), intuition.library/MakeClass(),
57 "Basic Object-Oriented Programming System for Intuition" and
58 "BOOPSI Class Reference" Document.
60 INTERNALS
62 *****************************************************************************/
64 AROS_SLOWSTACKTAGS_PRE(tag1)
65 retval = SetAttrsA (object, AROS_SLOWSTACKTAGS_ARG(tag1));
66 AROS_SLOWSTACKTAGS_POST
67 } /* SetAttrs */