2 Copyright © 1995-2003, The AROS Development Team. All rights reserved.
3 Copyright © 2001-2003, The MorphOS Development Team. All Rights Reserved.
7 #include "intuition_intern.h"
9 /*****************************************************************************
12 #include <utility/tagitem.h>
13 #include <intuition/screens.h>
14 #include <proto/intuition.h>
16 AROS_LH2(struct Screen
*, OpenScreenTagList
,
19 AROS_LHA(struct NewScreen
*, newScreen
, A0
),
20 AROS_LHA(struct TagItem
*, tagList
, A1
),
23 struct IntuitionBase
*, IntuitionBase
, 102, Intuition
)
42 29-10-95 digulla automatically created from
43 intuition_lib.fd and clib/intuition_protos.h
45 *****************************************************************************/
48 AROS_LIBBASE_EXT_DECL(struct IntuitionBase
*,IntuitionBase
)
50 struct ExtNewScreen ns
=
52 0, 0, -1, -1, 1, /* left, top, width, height, depth */
53 0, 1, /* DetailPen, BlockPen */
54 HIRES
| LACE
, /* ViewModes */
55 CUSTOMSCREEN
| SHOWTITLE
, /* Type */
57 NULL
, /* DefaultTitle */
59 NULL
, /* CustomBitMap */
60 NULL
/* Extension (taglist) */
63 DEBUG_OPENSCREENTAGLIST(dprintf("OpenScreenTagList: NewScreen 0x%lx Tags 0x%lx\n",
65 ns
.DetailPen
= GetPrivIBase(IntuitionBase
)->DriPens4
[DETAILPEN
];
66 ns
.BlockPen
= GetPrivIBase(IntuitionBase
)->DriPens4
[BLOCKPEN
];
69 CopyMem (newScreen
, &ns
, (newScreen
->Type
& NS_EXTENDED
) ? sizeof (struct ExtNewScreen
) :
70 sizeof (struct NewScreen
));
74 ns
.Extension
= tagList
;
75 ns
.Type
|= NS_EXTENDED
;
79 /* calling OpenScreen through the library vector causes a loop with cgx's patch. */
81 extern ULONG
LIB_OpenScreen(void);
84 REG_A6
= (LONG
)IntuitionBase
;
86 return (struct Screen
*) LIB_OpenScreen();
89 return OpenScreen ((struct NewScreen
*)&ns
);
94 } /* OpenScreenTagList */