Support rastport clipping rectangle for layerless rastports
[tangerine.git] / rom / boopsi / removeclass.c
blob6490155a7741edddc8e8bbd28eb210e8f8968a86
1 /*
2 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc:
6 Lang: english
7 */
8 #include <proto/exec.h>
9 #include "intern.h"
11 /*****************************************************************************
13 NAME */
14 #include <intuition/classes.h>
15 #include <proto/boopsi.h>
17 AROS_LH1(void, RemoveClass,
19 /* SYNOPSIS */
20 AROS_LHA(struct IClass *, classPtr, A0),
22 /* LOCATION */
23 struct Library *, BOOPSIBase, 13, BOOPSI)
25 /* FUNCTION
26 Makes a public class inaccessible. This function may be called
27 several times on the same class and even if the class never was
28 in the public list.
30 INPUTS
31 classPtr - Pointer to the result of MakeClass(). May be NULL.
33 RESULT
34 None.
36 NOTES
38 EXAMPLE
40 BUGS
42 SEE ALSO
43 MakeClass(), FreeClass(), AddClass(), "Basic Object-Oriented
44 Programming System for Intuition" and "boopsi Class Reference"
45 Dokument.
47 INTERNALS
49 HISTORY
50 29-10-95 digulla automatically created from
51 intuition_lib.fd and clib/intuition_protos.h
53 *****************************************************************************/
55 AROS_LIBFUNC_INIT
56 AROS_LIBBASE_EXT_DECL(struct Library *,BOOPSIBase)
58 /* Klasse da und noch/schon in der Liste ? */
59 if (classPtr && (classPtr->cl_Flags & CLF_INLIST))
61 /* Changed to Semaphores during boopsi.library creation */
62 ObtainSemaphore( &GetBBase(BOOPSIBase)->bb_ClassListLock );
63 Remove ((struct Node *)classPtr);
64 ReleaseSemaphore( &GetBBase(BOOPSIBase)->bb_ClassListLock );
66 classPtr->cl_Flags &= ~CLF_INLIST;
69 AROS_LIBFUNC_EXIT
70 } /* RemoveClass */