2 Copyright © 1995-2013, The AROS Development Team. All rights reserved.
9 #include <aros/debug.h>
10 #include <cybergraphx/cybergraphics.h>
11 #include <hidd/graphics.h>
12 #include <proto/oop.h>
13 #include <proto/utility.h>
15 #include "cybergraphics_intern.h"
17 /*****************************************************************************
20 #include <proto/cybergraphics.h>
22 AROS_LH2(void, UnLockBitMapTagList,
25 AROS_LHA(APTR , Handle, A0),
26 AROS_LHA(struct TagItem *, Tags, A1),
29 struct Library *, CyberGfxBase, 30, Cybergraphics)
32 Releases exclusive access to a bitmap. Options for the unlocking
33 process are given in a taglist. The possible tags are as follows:
34 UBMI_UPDATERECTS (struct RectList *) - pointer to a series of
35 rectangle lists that need to be refreshed.
36 UBMI_REALLYUNLOCK (BOOL) - if FALSE, the bitmap will not be
37 unlocked; only rectangle updates will be done.
40 Handle - handle to the bitmap to unlock.
41 Tags - a taglist as described above.
53 UnLockBitMap(), LockBitMapTagList()
57 *****************************************************************************/
62 BOOL reallyunlock = TRUE;
63 struct RectList *rl = NULL;
64 struct BitMap *bm = (struct BitMap *)Handle;
68 while ((tag = NextTagItem(&Tags)))
72 case UBMI_REALLYUNLOCK:
73 reallyunlock = (BOOL)tag->ti_Data;
76 case UBMI_UPDATERECTS:
78 rl = (struct RectList *)tag->ti_Data;
83 D(bug("!!! UNKNOWN TAG PASSED TO UnLockBitMapTagList() !!!\n"));
89 HIDD_BM_ReleaseDirectAccess(HIDD_BM_OBJ(bm));
96 UpdateBitMap(bm, 0, 0, GetCyberMapAttr(bm, CYBRMATTR_WIDTH), GetCyberMapAttr(bm, CYBRMATTR_HEIGHT));
99 } /* UnLockBitMapTagList */