2 Copyright © 1995-2013, The AROS Development Team. All rights reserved.
3 Copyright © 2001-2003, The MorphOS Development Team. All Rights Reserved.
7 #include <proto/layers.h>
8 #include "intuition_intern.h"
9 #include "inputhandler_actions.h"
11 struct ShowTitleActionMsg
13 struct IntuiActionMsg msg
;
14 struct Screen
*screen
;
18 static VOID
int_showtitle(struct ShowTitleActionMsg
*msg
,
19 struct IntuitionBase
*IntuitionBase
);
21 /*****************************************************************************
24 #include <proto/intuition.h>
26 AROS_LH2(void, ShowTitle
,
29 AROS_LHA(struct Screen
*, screen
, A0
),
30 AROS_LHA(BOOL
, ShowIt
, D0
),
33 struct IntuitionBase
*, IntuitionBase
, 47, Intuition
)
36 Modify SHOWTITLE flag of the screen and refresh the screen and
39 If ShowIt is TRUE the screen's title bar will be shown in front of
40 WFLG_BACKDROP windows. A value of FALSE will bring the title bar
49 The default of the SHOWTITLE flag for new screens is TRUE.
59 *****************************************************************************/
63 if (screen
&& screen
->BarLayer
)
65 struct ShowTitleActionMsg msg
;
68 if (GetPrivScreen(screen
)->SpecialFlags
& (SF_InvisibleBar
|SF_AppearingBar
)) return;
73 DoASyncAction((APTR
)int_showtitle
, &msg
.msg
, sizeof(msg
), IntuitionBase
);
81 static VOID
int_showtitle(struct ShowTitleActionMsg
*msg
,
82 struct IntuitionBase
*IntuitionBase
)
84 struct LayersBase
*LayersBase
= GetPrivIBase(IntuitionBase
)->LayersBase
;
85 struct Screen
*screen
= msg
->screen
;
89 if (screen
->Flags
& SHOWTITLE
)
93 BehindLayer(0, screen
->BarLayer
);
95 AROS_ATOMIC_AND(screen
->Flags
, ~SHOWTITLE
);
97 CheckLayers(screen
, IntuitionBase
);
99 UNLOCK_REFRESH(screen
);
104 if (!(screen
->Flags
& SHOWTITLE
))
106 LOCK_REFRESH(screen
);
108 UpfrontLayer(0, screen
->BarLayer
);
110 AROS_ATOMIC_OR(screen
->Flags
, SHOWTITLE
);
112 CheckLayers(screen
, IntuitionBase
);
114 UNLOCK_REFRESH(screen
);