2 Copyright © 1995-2007, 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 *****************************************************************************/
49 struct ExtNewScreen ns
=
51 0, 0, -1, -1, 1, /* left, top, width, height, depth */
52 0, 1, /* DetailPen, BlockPen */
53 HIRES
| LACE
, /* ViewModes */
54 CUSTOMSCREEN
| SHOWTITLE
, /* Type */
56 NULL
, /* DefaultTitle */
58 NULL
, /* CustomBitMap */
59 NULL
/* Extension (taglist) */
62 DEBUG_OPENSCREENTAGLIST(dprintf("OpenScreenTagList: NewScreen 0x%lx Tags 0x%lx\n",
64 ns
.DetailPen
= GetPrivIBase(IntuitionBase
)->DriPens4
[DETAILPEN
];
65 ns
.BlockPen
= GetPrivIBase(IntuitionBase
)->DriPens4
[BLOCKPEN
];
68 CopyMem (newScreen
, &ns
, (newScreen
->Type
& NS_EXTENDED
) ? sizeof (struct ExtNewScreen
) :
69 sizeof (struct NewScreen
));
73 ns
.Extension
= tagList
;
74 ns
.Type
|= NS_EXTENDED
;
78 /* calling OpenScreen through the library vector causes a loop with cgx's patch. */
80 extern ULONG
LIB_OpenScreen(void);
83 REG_A6
= (LONG
)IntuitionBase
;
85 return (struct Screen
*) LIB_OpenScreen();
88 return OpenScreen ((struct NewScreen
*)&ns
);
93 } /* OpenScreenTagList */