r4722@vps: verhaegs | 2007-05-06 13:11:19 -0400
[cake.git] / rom / intuition / endrefresh.c
blobabcc3e44c84fd35742cf875bc7f6fd33e66ab777
1 /*
2 Copyright © 1995-2007, The AROS Development Team. All rights reserved.
3 Copyright © 2001-2003, The MorphOS Development Team. All Rights Reserved.
4 $Id$
5 */
7 #include <proto/layers.h>
8 #include <proto/graphics.h>
9 #include "intuition_intern.h"
11 /*****************************************************************************
13 NAME */
14 #include <proto/intuition.h>
16 AROS_LH2(void, EndRefresh,
18 /* SYNOPSIS */
19 AROS_LHA(struct Window *, window, A0),
20 AROS_LHA(BOOL , complete, D0),
22 /* LOCATION */
23 struct IntuitionBase *, IntuitionBase, 61, Intuition)
25 /* FUNCTION
27 INPUTS
29 RESULT
31 NOTES
33 EXAMPLE
35 BUGS
37 SEE ALSO
39 INTERNALS
41 *****************************************************************************/
43 AROS_LIBFUNC_INIT
45 DEBUG_REFRESH(dprintf("EndRefresh: Window 0x%lx Complete %d\n", window, complete));
47 SANITY_CHECK(window)
49 /* Check whether the BeginRefresh was aborted due to a FALSE=BeginUpdate()*/
50 if (window->Flags & WFLG_WINDOWREFRESH)
51 EndUpdate(WLAYER(window), complete);
53 /* reset all bits indicating a necessary or ongoing refresh */
54 AROS_ATOMIC_AND(window->Flags, ~WFLG_WINDOWREFRESH);
56 /* I reset this one only if Complete is TRUE!?! */
57 if (TRUE == complete)
58 WLAYER(window)->Flags &= ~LAYERREFRESH;
60 /* Unlock the layers. */
61 UnlockLayer(WLAYER(window));
63 if (BLAYER(window))
64 UnlockLayer(BLAYER(window));
66 UnlockLayerInfo(&window->WScreen->LayerInfo);
68 AROS_LIBFUNC_EXIT
69 } /* EndRefresh */