Belarusian
[AROS.git] / rom / intuition / remakedisplay.c
blobbfe97d8d1ed6ea4782d290157c16610f5d1b770a
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/graphics.h>
8 #include "intuition_intern.h"
10 /*****************************************************************************
12 NAME */
13 #include <proto/intuition.h>
15 AROS_LH0(LONG, RemakeDisplay,
17 /* SYNOPSIS */
19 /* LOCATION */
20 struct IntuitionBase *, IntuitionBase, 64, Intuition)
22 /* FUNCTION
23 Remake the entire Intuition display.
25 INPUTS
26 None.
28 RESULT
29 Zero for success, non-zero for failure.
31 NOTES
33 EXAMPLE
35 BUGS
37 SEE ALSO
38 RethinkDisplay(), MakeScreen(), graphics.library/MakeVPort(),
39 graphics.library/MrgCop(), graphics.library/LoadView()
41 INTERNALS
43 HISTORY
45 *****************************************************************************/
47 AROS_LIBFUNC_INIT
49 struct Screen *screen;
50 ULONG ilock = LockIBase(0);
51 LONG failure = 0;
53 for (screen = IntuitionBase->FirstScreen; screen; screen = screen->NextScreen)
55 LONG error = MakeVPort(&IntuitionBase->ViewLord, &screen->ViewPort);
57 if (error)
58 failure = error;
61 if (!failure)
62 failure = RethinkDisplay();
64 UnlockIBase(ilock);
66 return failure;
68 AROS_LIBFUNC_EXIT
69 } /* RemakeDisplay */