[vte] widget: Move some public API to its own file
- From: Christian Persch <chpe src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vte] widget: Move some public API to its own file
- Date: Wed, 18 Nov 2015 20:20:22 +0000 (UTC)
commit 7dcde662ac7807c1d140b9431f49f7082cae3328
Author: Christian Persch <chpe gnome org>
Date: Wed Nov 18 21:15:43 2015 +0100
widget: Move some public API to its own file
src/vte.cc | 57 +++++++++++++++------------------------------------
src/vtegtk.cc | 28 +++++++++++++++++++++++++
src/vteinternal.hh | 5 ++++
3 files changed, 50 insertions(+), 40 deletions(-)
---
diff --git a/src/vte.cc b/src/vte.cc
index 5fcb97a..2a28475 100644
--- a/src/vte.cc
+++ b/src/vte.cc
@@ -8341,25 +8341,30 @@ vte_terminal_apply_metrics(VteTerminal *terminal,
_vte_invalidate_all(terminal);
}
-
static void
vte_terminal_ensure_font (VteTerminal *terminal)
{
- if (terminal->pvt->draw != NULL) {
+ terminal->pvt->ensure_font();
+}
+
+void
+VteTerminalPrivate::ensure_font()
+{
+ if (m_draw != NULL) {
/* Load default fonts, if no fonts have been loaded. */
- if (!terminal->pvt->has_fonts) {
- vte_terminal_set_font(terminal,
- terminal->pvt->unscaled_font_desc);
+ if (!m_has_fonts) {
+ vte_terminal_set_font(m_terminal,
+ m_unscaled_font_desc);
}
- if (terminal->pvt->fontdirty) {
+ if (m_fontdirty) {
gint width, height, ascent;
- terminal->pvt->fontdirty = FALSE;
- _vte_draw_set_text_font (terminal->pvt->draw,
- &terminal->widget,
- terminal->pvt->fontdesc);
- _vte_draw_get_text_metrics (terminal->pvt->draw,
+ m_fontdirty = FALSE;
+ _vte_draw_set_text_font (m_draw,
+ m_widget,
+ m_fontdesc);
+ _vte_draw_get_text_metrics (m_draw,
&width, &height, &ascent);
- vte_terminal_apply_metrics(terminal,
+ vte_terminal_apply_metrics(m_terminal,
width, height, ascent, height - ascent);
}
}
@@ -11643,34 +11648,6 @@ vte_terminal_reset(VteTerminal *terminal,
g_object_thaw_notify(G_OBJECT(terminal));
}
-/**
- * vte_terminal_get_char_width:
- * @terminal: a #VteTerminal
- *
- * Returns: the width of a character cell
- */
-glong
-vte_terminal_get_char_width(VteTerminal *terminal)
-{
- g_return_val_if_fail(VTE_IS_TERMINAL(terminal), -1);
- vte_terminal_ensure_font (terminal);
- return terminal->pvt->char_width;
-}
-
-/**
- * vte_terminal_get_char_height:
- * @terminal: a #VteTerminal
- *
- * Returns: the height of a character cell
- */
-glong
-vte_terminal_get_char_height(VteTerminal *terminal)
-{
- g_return_val_if_fail(VTE_IS_TERMINAL(terminal), -1);
- vte_terminal_ensure_font (terminal);
- return terminal->pvt->char_height;
-}
-
bool
VteTerminalPrivate::set_pty(VtePty *new_pty)
{
diff --git a/src/vtegtk.cc b/src/vtegtk.cc
index 20e7cbc..edc2332 100644
--- a/src/vtegtk.cc
+++ b/src/vtegtk.cc
@@ -1654,6 +1654,34 @@ vte_terminal_search_get_wrap_around (VteTerminal *terminal)
}
/**
+ * vte_terminal_get_char_height:
+ * @terminal: a #VteTerminal
+ *
+ * Returns: the height of a character cell
+ */
+glong
+vte_terminal_get_char_height(VteTerminal *terminal)
+{
+ g_return_val_if_fail(VTE_IS_TERMINAL(terminal), -1);
+ g_return_val_if_fail(gtk_widget_get_realized(&terminal->widget), -1);
+ return terminal->pvt->get_char_height();
+}
+
+/**
+ * vte_terminal_get_char_width:
+ * @terminal: a #VteTerminal
+ *
+ * Returns: the width of a character cell
+ */
+glong
+vte_terminal_get_char_width(VteTerminal *terminal)
+{
+ g_return_val_if_fail(VTE_IS_TERMINAL(terminal), -1);
+ g_return_val_if_fail(gtk_widget_get_realized(&terminal->widget), -1);
+ return terminal->pvt->get_char_width();
+}
+
+/**
* vte_terminal_get_column_count:
* @terminal: a #VteTerminal
*
diff --git a/src/vteinternal.hh b/src/vteinternal.hh
index 2d2e1cb..00499cc 100644
--- a/src/vteinternal.hh
+++ b/src/vteinternal.hh
@@ -483,6 +483,8 @@ public:
int *natural_height);
void widget_size_allocate(GtkAllocation *allocation);
+ void ensure_font();
+
void read_modifiers(GdkEvent *event);
guint translate_ctrlkey(GdkEventKey *event);
@@ -603,6 +605,9 @@ public:
gunichar **arrayp,
gsize *lenp);
+ long get_char_height() { ensure_font(); return char_height; }
+ long get_char_width() { ensure_font(); return char_width; }
+
bool set_input_enabled(bool enabled);
bool set_pty(VtePty *pty);
bool set_word_char_exceptions(char const* exceptions);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]