fix properties
[AROS.git] / rom / intuition / endrefresh.c
blobd508de3b52b92e2492011263c9c22148cf9394be
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
26 Finishes refreshing which was initialized with BeginRefresh().
27 The argument |complete| is usually TRUE, It can be useful to
28 set it to FALSE when refreshing is split in several tasks.
30 INPUTS
31 window - the window to be refreshed
32 complete - BOOL which states if all refreshing is done
34 RESULT
36 NOTES
38 EXAMPLE
40 BUGS
42 SEE ALSO
43 BeginRefresh()
45 INTERNALS
47 *****************************************************************************/
49 AROS_LIBFUNC_INIT
51 DEBUG_REFRESH(dprintf("EndRefresh: Window 0x%lx Complete %d\n", window, complete));
53 SANITY_CHECK(window)
55 /* Check whether the BeginRefresh was aborted due to a FALSE=BeginUpdate()*/
56 if (window->Flags & WFLG_WINDOWREFRESH)
57 EndUpdate(WLAYER(window), complete);
59 /* reset all bits indicating a necessary or ongoing refresh */
60 AROS_ATOMIC_AND(window->Flags, ~WFLG_WINDOWREFRESH);
62 /* I reset this one only if Complete is TRUE!?! */
63 if (complete)
64 WLAYER(window)->Flags &= ~LAYERREFRESH;
66 /* Unlock the layers. */
67 UnlockLayer(WLAYER(window));
69 if (BLAYER(window))
70 UnlockLayer(BLAYER(window));
72 UnlockLayerInfo(&window->WScreen->LayerInfo);
74 AROS_LIBFUNC_EXIT
75 } /* EndRefresh */