2 Copyright © 1995-2001, The AROS Development Team. All rights reserved.
8 #include <proto/exec.h>
9 #include <exec/types.h>
10 #include <exec/memory.h>
11 #include <aros/libcall.h>
12 #include <proto/graphics.h>
13 #include "basicfuncs.h"
14 #include "layers_intern.h"
16 /*****************************************************************************
19 #include <proto/layers.h>
20 AROS_LH2(LONG
, BehindLayer
,
23 AROS_LHA(LONG
, dummy
, A0
),
24 AROS_LHA(struct Layer
*, l
, A1
),
27 struct LayersBase
*, LayersBase
, 9, Layers
)
30 If the layer is a backdrop layer it will be moved to the most
31 behind position. If it is a non-backdrop layer it will be moved
32 in front of the first backdrop layer.
33 The areas of simple layers, that become visible by moving this
34 layer, are added to the damagelist and the LAYERREFRESH flag
42 TRUE - layer was successfully moved
43 FALSE - layer could not be moved (probably out of memory)
56 27-11-96 digulla automatically created from
57 layers_lib.fd and clib/layers_protos.h
59 *****************************************************************************/
62 AROS_LIBBASE_EXT_DECL(struct LayersBase
*,LayersBase
)
67 //kprintf("\t\t%s called!\n",__FUNCTION__);
68 LockLayers(l
->LayerInfo
);
71 * The layer in front of the family is the layer in
72 * front of the parent of my layer
76 UnlockLayers(l
->LayerInfo
);
79 _l
= l
->parent
->front
;
81 while (_l
->priority
< l
->priority
)
86 UnlockLayers(l
->LayerInfo
);
89 ret
= _MoveLayerBehind(l
,_l
,LayersBase
);
91 UnlockLayers(l
->LayerInfo
);