1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
/*
* ion/ioncore/mplexpholder.h
*
* Copyright (c) Tuomo Valkonen 2005-2007.
*
* See the included file LICENSE for details.
*/
#ifndef ION_IONCORE_MPLEXPHOLDER_H
#define ION_IONCORE_MPLEXPHOLDER_H
#include "common.h"
#include "pholder.h"
#include "mplex.h"
#include "attach.h"
#include "framedpholder.h"
DECLCLASS(WMPlexPHolder){
WPHolder ph;
Watch mplex_watch;
WFramedPHolder *recreate_pholder; /* only on first of list */
WLListNode *after;
WMPlexPHolder *next, *prev;
WMPlexAttachParams param;
};
/* If 'after' is set, it is used, otherwise 'or_after',
* and finally 'or_layer' if this is also unset
*/
extern WMPlexPHolder *create_mplexpholder(WMPlex *mplex,
WStacking *either_st,
WMPlexAttachParams *or_param);
extern bool mplexpholder_init(WMPlexPHolder *ph,
WMPlex *mplex,
WStacking *either_st,
WMPlexAttachParams *or_param);
extern void mplexpholder_deinit(WMPlexPHolder *ph);
extern int mplexpholder_layer(WMPlexPHolder *ph);
extern WRegion *mplexpholder_do_attach(WMPlexPHolder *ph, int flags,
WRegionAttachData *data);
extern bool mplexpholder_do_goto(WMPlexPHolder *ph);
extern WPHolder *mplexpholder_do_root(WMPlexPHolder *ph);
extern WRegion *mplexpholder_do_target(WMPlexPHolder *ph);
extern bool mplexpholder_move(WMPlexPHolder *ph, WMPlex *mplex,
WMPlexPHolder *after,
WLListNode *or_after);
extern void mplexpholder_do_unlink(WMPlexPHolder *ph, WMPlex *mplex);
extern void mplex_move_phs(WMPlex *mplex, WLListNode *node,
WMPlexPHolder *after,
WLListNode *or_after);
extern void mplex_move_phs_before(WMPlex *mplex, WLListNode *node);
extern WMPlexPHolder *mplex_managed_get_pholder(WMPlex *mplex,
WRegion *mgd);
extern WMPlexPHolder *mplex_get_rescue_pholder_for(WMPlex *mplex,
WRegion *mgd);
#endif /* ION_IONCORE_MPLEXPHOLDER_H */
|