+
+
+static void mplexszplcy(int pos, WSizePolicy *szplcy)
+{
+ int hp=pos&DOCK_HPOS_MASK, vp=pos&DOCK_VPOS_MASK;
+ WSizePolicy p;
+
+ p=(vp!=DOCK_VPOS_MIDDLE
+ ? (vp==DOCK_VPOS_TOP
+ ? (hp!=DOCK_HPOS_CENTER
+ ? (hp==DOCK_HPOS_RIGHT
+ ? SIZEPOLICY_GRAVITY_NORTHEAST
+ : SIZEPOLICY_GRAVITY_NORTHWEST)
+ : SIZEPOLICY_GRAVITY_NORTH)
+ : (hp!=DOCK_HPOS_CENTER
+ ? (hp==DOCK_HPOS_RIGHT
+ ? SIZEPOLICY_GRAVITY_SOUTHEAST
+ : SIZEPOLICY_GRAVITY_SOUTHWEST)
+ : SIZEPOLICY_GRAVITY_SOUTH))
+ : SIZEPOLICY_GRAVITY_CENTER);
+
+ *szplcy=p;
+}