Git init
[external/pango1.0.git] / pango / pango-tabs.h
1 /* Pango
2  * pango-tabs.h: Tab-related stuff
3  *
4  * Copyright (C) 2000 Red Hat Software
5  *
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.
10  *
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.
15  *
16  * You should have received a copy of the GNU Library General Public
17  * License along with this library; if not, write to the
18  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19  * Boston, MA 02111-1307, USA.
20  */
21
22 #ifndef __PANGO_TABS_H__
23 #define __PANGO_TABS_H__
24
25 #include <pango/pango-types.h>
26
27 G_BEGIN_DECLS
28
29 typedef struct _PangoTabArray PangoTabArray;
30
31 typedef enum
32 {
33   PANGO_TAB_LEFT
34
35   /* These are not supported now, but may be in the
36    * future.
37    *
38    *  PANGO_TAB_RIGHT,
39    *  PANGO_TAB_CENTER,
40    *  PANGO_TAB_NUMERIC
41    */
42 } PangoTabAlign;
43
44 #define PANGO_TYPE_TAB_ARRAY (pango_tab_array_get_type ())
45
46 PangoTabArray  *pango_tab_array_new                 (gint           initial_size,
47                                                      gboolean       positions_in_pixels);
48 PangoTabArray  *pango_tab_array_new_with_positions  (gint           size,
49                                                      gboolean       positions_in_pixels,
50                                                      PangoTabAlign  first_alignment,
51                                                      gint           first_position,
52                                                      ...);
53 GType           pango_tab_array_get_type            (void) G_GNUC_CONST;
54 PangoTabArray  *pango_tab_array_copy                (PangoTabArray *src);
55 void            pango_tab_array_free                (PangoTabArray *tab_array);
56 gint            pango_tab_array_get_size            (PangoTabArray *tab_array);
57 void            pango_tab_array_resize              (PangoTabArray *tab_array,
58                                                      gint           new_size);
59 void            pango_tab_array_set_tab             (PangoTabArray *tab_array,
60                                                      gint           tab_index,
61                                                      PangoTabAlign  alignment,
62                                                      gint           location);
63 void            pango_tab_array_get_tab             (PangoTabArray *tab_array,
64                                                      gint           tab_index,
65                                                      PangoTabAlign *alignment,
66                                                      gint          *location);
67 void            pango_tab_array_get_tabs            (PangoTabArray *tab_array,
68                                                      PangoTabAlign **alignments,
69                                                      gint          **locations);
70
71 gboolean        pango_tab_array_get_positions_in_pixels (PangoTabArray *tab_array);
72
73
74 G_END_DECLS
75
76 #endif /* __PANGO_TABS_H__ */