|
|
|
@ -1629,6 +1629,22 @@ ncplane_descendant_p(const struct ncplane* n, const struct ncplane* ancestor){
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Splice ncplane 'n' out of the z-buffer, and reinsert it above 'above'.
|
|
|
|
|
// Returns non-zero if 'n' is already in the desired location. 'n' and
|
|
|
|
|
// 'above' must not be the same plane. If 'above' is NULL, 'n' is moved
|
|
|
|
|
// to the bottom of its pile.
|
|
|
|
|
API int ncplane_move_above(struct ncplane* RESTRICT n,
|
|
|
|
|
struct ncplane* RESTRICT above)
|
|
|
|
|
__attribute__ ((nonnull (1)));
|
|
|
|
|
|
|
|
|
|
// Splice ncplane 'n' out of the z-buffer, and reinsert it below 'below'.
|
|
|
|
|
// Returns non-zero if 'n' is already in the desired location. 'n' and
|
|
|
|
|
// 'below' must not be the same plane. If 'below' is NULL, 'n' is moved to
|
|
|
|
|
// the top of its pile.
|
|
|
|
|
API int ncplane_move_below(struct ncplane* RESTRICT n,
|
|
|
|
|
struct ncplane* RESTRICT below)
|
|
|
|
|
__attribute__ ((nonnull (1)));
|
|
|
|
|
|
|
|
|
|
// Splice ncplane 'n' out of the z-buffer, and reinsert it at the top or
|
|
|
|
|
// bottom. FIXME these both become static inline wrappers around
|
|
|
|
|
// ncplane_move_below() and ncplane_move_above() in ABI3.
|
|
|
|
@ -1638,38 +1654,27 @@ API void ncplane_move_bottom(struct ncplane* n)
|
|
|
|
|
__attribute__ ((nonnull (1)));
|
|
|
|
|
|
|
|
|
|
// Splice ncplane 'n' and its bound planes out of the z-buffer, and reinsert
|
|
|
|
|
// them at the top or bottom. Relative order will be maintained between the
|
|
|
|
|
// them above or below 'targ'. Relative order will be maintained between the
|
|
|
|
|
// reinserted planes. For a plane E bound to C, with z-ordering A B C D E,
|
|
|
|
|
// moving the C family to the top results in C E A B D, while moving it to
|
|
|
|
|
// the bottom results in A B D C E.
|
|
|
|
|
API void ncplane_move_family_top(struct ncplane* n)
|
|
|
|
|
__attribute__ ((nonnull (1)));
|
|
|
|
|
API void ncplane_move_family_bottom(struct ncplane* n)
|
|
|
|
|
API void ncplane_move_family_above(struct ncplane* n, struct ncplane* targ)
|
|
|
|
|
__attribute__ ((nonnull (1)));
|
|
|
|
|
|
|
|
|
|
// Splice ncplane 'n' out of the z-buffer, and reinsert it above 'above'.
|
|
|
|
|
// Returns non-zero if 'n' is already in the desired location. 'n' and
|
|
|
|
|
// 'above' must not be the same plane. If 'above' is NULL, 'n' is moved
|
|
|
|
|
// to the bottom of its pile.
|
|
|
|
|
API int ncplane_move_above(struct ncplane* RESTRICT n,
|
|
|
|
|
struct ncplane* RESTRICT above)
|
|
|
|
|
__attribute__ ((nonnull (1, 2)));
|
|
|
|
|
|
|
|
|
|
// Splice ncplane 'n' out of the z-buffer, and reinsert it below 'below'.
|
|
|
|
|
// Returns non-zero if 'n' is already in the desired location. 'n' and
|
|
|
|
|
// 'below' must not be the same plane. If 'below' is NULL, 'n' is moved to
|
|
|
|
|
// the top of its pile.
|
|
|
|
|
API int ncplane_move_below(struct ncplane* RESTRICT n,
|
|
|
|
|
struct ncplane* RESTRICT below)
|
|
|
|
|
__attribute__ ((nonnull (1, 2)));
|
|
|
|
|
API void ncplane_move_family_below(struct ncplane* n, struct ncplane* targ)
|
|
|
|
|
__attribute__ ((nonnull (1)));
|
|
|
|
|
|
|
|
|
|
API void ncplane_move_family_above(struct ncplane* RESTRICT n,
|
|
|
|
|
struct ncplane* RESTRICT above)
|
|
|
|
|
__attribute__ ((nonnull (1, 2)));
|
|
|
|
|
__attribute__ ((nonnull (1)))
|
|
|
|
|
static inline void
|
|
|
|
|
ncplane_move_family_top(struct ncplane* n){
|
|
|
|
|
ncplane_move_family_below(n, NULL);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
API void ncplane_move_family_below(struct ncplane* RESTRICT n,
|
|
|
|
|
struct ncplane* RESTRICT below)
|
|
|
|
|
__attribute__ ((nonnull (1, 2)));
|
|
|
|
|
__attribute__ ((nonnull (1)))
|
|
|
|
|
static inline void
|
|
|
|
|
ncplane_move_family_bottom(struct ncplane* n){
|
|
|
|
|
ncplane_move_family_above(n, NULL);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Return the plane below this one, or NULL if this is at the bottom.
|
|
|
|
|
API struct ncplane* ncplane_below(struct ncplane* n)
|
|
|
|
|