2 /// Enumeration of layout alignment flags.
4 // Copyright (C) 2014 Thomas Geymayer <tomgey@gmail.com>
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Library General Public
8 // License as published by the Free Software Foundation; either
9 // version 2 of the License, or (at your option) any later version.
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Library General Public License for more details.
16 // You should have received a copy of the GNU Library General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20 #ifndef ALIGN_ENUM_MAPPING
21 # error "Only include with ALIGN_ENUM_MAPPING defined!"
24 ALIGN_ENUM_MAPPING(AlignFill, 0, Use all available space)
26 ALIGN_ENUM_MAPPING(AlignLeft, 0x01, Align with left edge)
27 ALIGN_ENUM_MAPPING(AlignRight, 0x02, Align with right edge)
28 ALIGN_ENUM_MAPPING(AlignHCenter, 0x04, Center horizontally in available space)
30 ALIGN_ENUM_MAPPING(AlignTop, 0x20, Align with top edge)
31 ALIGN_ENUM_MAPPING(AlignBottom, 0x40, Align with bottom edge)
32 ALIGN_ENUM_MAPPING(AlignVCenter, 0x80, Center vertically in available space)
34 ALIGN_ENUM_MAPPING( AlignCenter,
35 AlignVCenter | AlignHCenter,
36 Center both vertically and horizontally )
38 ALIGN_ENUM_MAPPING( AlignHorizontal_Mask,
39 AlignLeft | AlignRight | AlignHCenter,
40 Mask of all horizontal alignment flags )
41 ALIGN_ENUM_MAPPING( AlignVertical_Mask,
42 AlignTop | AlignBottom | AlignVCenter,
43 Mask of all vertical alignment flags )