1/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2/* GTK - The GIMP Toolkit
3 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
4 * Copyright (C) 2019 Red Hat, Inc.
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser 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 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#ifndef __GTK_TEXT_LINE_DISPLAY_CACHE_PRIVATE_H__
21#define __GTK_TEXT_LINE_DISPLAY_CACHE_PRIVATE_H__
22
23#include "gtktextlayoutprivate.h"
24
25G_BEGIN_DECLS
26
27typedef struct _GtkTextLineDisplayCache GtkTextLineDisplayCache;
28
29GtkTextLineDisplayCache *gtk_text_line_display_cache_new (void);
30void gtk_text_line_display_cache_free (GtkTextLineDisplayCache *cache);
31GtkTextLineDisplay *gtk_text_line_display_cache_get (GtkTextLineDisplayCache *cache,
32 GtkTextLayout *layout,
33 GtkTextLine *line,
34 gboolean size_only);
35void gtk_text_line_display_cache_delay_eviction (GtkTextLineDisplayCache *cache);
36void gtk_text_line_display_cache_set_cursor_line (GtkTextLineDisplayCache *cache,
37 GtkTextLine *line);
38void gtk_text_line_display_cache_invalidate (GtkTextLineDisplayCache *cache);
39void gtk_text_line_display_cache_invalidate_cursors (GtkTextLineDisplayCache *cache,
40 GtkTextLine *line);
41void gtk_text_line_display_cache_invalidate_display (GtkTextLineDisplayCache *cache,
42 GtkTextLineDisplay *display,
43 gboolean cursors_only);
44void gtk_text_line_display_cache_invalidate_line (GtkTextLineDisplayCache *cache,
45 GtkTextLine *line);
46void gtk_text_line_display_cache_invalidate_range (GtkTextLineDisplayCache *cache,
47 GtkTextLayout *layout,
48 const GtkTextIter *begin,
49 const GtkTextIter *end,
50 gboolean cursors_only);
51void gtk_text_line_display_cache_invalidate_y_range (GtkTextLineDisplayCache *cache,
52 GtkTextLayout *layout,
53 int y,
54 int old_height,
55 int new_height,
56 gboolean cursors_only);
57void gtk_text_line_display_cache_set_mru_size (GtkTextLineDisplayCache *cache,
58 guint mru_size);
59
60G_END_DECLS
61
62#endif /* __GTK_TEXT_LINE_DISPLAY_CACHE_PRIVATE_H__ */
63

source code of gtk/gtk/gtktextlinedisplaycacheprivate.h